Я добавил информацию из этого последнего комментария к вопросу сейчас. Спасибо за помощь, пока BalusC, но ваше решение не работает для меня. Не думаю, что я не благодарен, хотя :-)

ал повсюду и просто не могу найти объяснения или причины, почему это происходит, но метод синтаксического анализа (String) DateFormat просто неправильно анализирует мою строку.

Я пытаюсь разобрать строку в формате даты, который используется для заголовков HTTP и получил так же, как получить строку самостоятельно, например:

Thu, 11 Nov 2010 18:34:22 GMT

Который находится в формате:

E, d MMM yyyy HH:mm:ss z

Но когда я используюdf.parse(dateStr); вот что я из этого получаю:

Thu Nov 11 18:34:22 GMT 2010

Что не похоже на то, что я хотел, почему сейчас год после GMT? Почему больше нет запятой? И почему дата после месяца?

Сейчас я полностью запутался в этом и не могу найти решение, но мне действительно нужно, чтобы дата была в этом формате. Запятая все портит? или двоеточия?

Спасибо за ваше время,

Infinitifizz

Постскриптум

Забыл упомянуть об этом, но я пробовал dateformat.setLenient (false), и это не имеет значения.

P.P.S

Я пытаюсь сделать это, чтобы сравнить даты с date1.before (date2) и after () и т. Д., Чтобы увидеть, является ли один новее другого, но я не могу этого сделать, потому что синтаксический анализ не работает.

Несмотря на то, что они выглядят одинаково, но просто формат отличается, они не одинаковы, потому что после вызова getTime () для них обоих (когда я предоставил 2 одинаковые даты), long не совпадают. Как в дате это:

Четверг, 11 ноября 2010 19:38:52 GMT для lastModified () в файле

Если я ввожу строку «Чт, 11 ноября 2010 19:38:52 GMT», а затем сравниваю их длинные значения после преобразования строки в дату с использованием parse () и последующего вызова getTime () в эту дату, я получаю:

lastModified = 1289504332671 fromString = 1289504332000

Отличаются только последние 3 цифры, имеет ли это какое-либо значение?

Еще раз спасибо за ваше время и извините, я не поставил этот бит первым,

Infinitifizz