Analisando uma String em Date com DateFormat não está analisando corretamente

Eu estive pesquisando por toda parte e simplesmente não consigo encontrar uma explicação ou uma razão pela qual isso está acontecendo, mas o método parse (String) de DateFormat simplesmente não está analisando minha String corretamente.

Estou tentando analisar uma String no formato de data que é usado para cabeçalhos HTTP e chegou ao ponto de obter a String por conta própria, como:

Thu, 11 Nov 2010 18:34:22 GMT

Qual está no formato:

E, d MMM yyyy HH:mm:ss z

Mas quando eu usodf.parse(dateStr); é isso que eu ganho com isso:

Thu Nov 11 18:34:22 GMT 2010

O que não é nada parecido com o que eu queria, por que agora é o ano seguinte ao GMT? Por que não há mais vírgula? E por que a data é posterior ao mês?

Estou completamente confuso sobre isso agora e não consigo encontrar uma solução, mas eu realmente preciso que a data esteja nesse formato. A vírgula está atrapalhando as coisas? ou os dois pontos?

Obrigado pelo seu tempo,

Infinitifizz

P.S.

Esqueci de mencionar isso, mas tentei o dateformat.setLenient (false) e isso não faz diferença.

P.P.S

Estou tentando fazer isso para comparar as datas com date1.before (date2) e after () etc para ver se um é mais novo que o outro, mas não posso fazer isso porque a análise não está funcionando.

Mesmo que pareçam iguais, mas apenas o formato seja diferente, eles não são os mesmos porque, depois de chamar getTime () nos dois (quando eu forneça duas datas idênticas), os longos não serão os mesmos. Como na data é:

Qui, 11 de novembro de 2010 19:38:52 GMT para um lastModified () em um arquivo

Se eu inserir a String "Qui, 11 de novembro de 2010 19:38:52 GMT" e comparar seus longos, uma vez convertendo a string em uma data usando parse () e depois chamando getTime () nessa data, recebo:

lastModified = 1289504332671 fromString = 1289504332000

São apenas os três últimos dígitos que são diferentes, isso tem algum significado?

Mais uma vez obrigado pelo seu tempo e desculpe-me por não ter colocado essa parte primeiro,

Infinitifizz

questionAnswers(1)

yourAnswerToTheQuestion