SimpleDateFormat, предоставляющий ParseException по неизвестной причине - PullRequest
0 голосов
/ 28 июля 2011

Мне нужно отформатировать дату (в Java) в формате String. Когда я использую следующий код, взятый из учебного / справочного источника , он просто выдает следующую ошибку. Я перепробовал все, что мог придумать.

Мой код:

SimpleDateFormat format = new SimpleDateFormat ("E dd/MMM/yy");
java.util.Date date = format.parse ("12/31/2006");
System.out.println (date);

Это приводит к следующей ошибке:

java.text.ParseException: Неразборчивая дата: «31.12.2006»

Я на самом деле пытаюсь отформатировать эту строку "2011-7-27", но она выдает ту же ошибку, из-за которой я попробовал этот формат для строки, которую я ей подаю.

Есть ли что-нибудь, что вы можете увидеть, что я где-то напутал?

1 Ответ

3 голосов
/ 28 июля 2011

Код, который вы дали , не взят со страницы, на которую вы ссылались.Эта строка формата нигде не отображается на странице.

Вы включили "E" в спецификатор формата, который соответствует дню недели, но тогда вы этого не предоставляете.Вы также использовали «MMM» в качестве спецификатора месяца, который будет текстовым представлением (например, «Jul»).Наконец, вы указали «yy» для года, но затем дали 4 цифры.(Это на самом деле не вызовет проблемы - оно справится с четырьмя цифрами - но лучше указать формат, который вы на самом деле ожидаете.) Если вы просто захотите указать «31.12.2006»формат должен быть "MM/dd/yyyy".

Если вы действительно хотите разобрать «2011-7-27», вы должны использовать "yyyy-M-dd" в качестве строки формата.

...