Как вы анализируете двухзначную дату года со временем? - PullRequest
3 голосов
/ 20 ноября 2011

Извините, что поднял это, но я не вижу этого.У меня дата + время в таком формате:

дд-мм-гг ЧЧ: мм

Например

15-11-11 09: 36

(на момент написания указывается дата 5 дней назад).Когда я пытаюсь запустить:

new java.text.SimpleDateFormat("dd-MM-yy HH:mm").parse("15-11-11 09:36")

, я получаю исключение:

java.text.ParseException: Неразборчивая дата: "15-11-11 09:36"

Сначала я подумал, что это что-то с годом (несмотря на (-80, + 20) границу - согласно документации).Ну, может быть, но когда я удаляю время (из строки и шаблона), дата распознается правильно.

Кто-нибудь видит то, чего я не вижу?

Обновление

Формат короткой даты моей системы (Linux):

ГГГГ-ММ-ДД

Длина:

ДЕНЬ НЕДЕЛИ ДЕНЬ МЕСЯЦ ГГГГ

и время:

ЧЧ: ММ: СС

Однако я подумал, что целью задания шаблона является независимость от локали.

Из любопытства я добавил «: ss» в шаблон и «: 01» в строку, все еще исключение.

Ответы [ 2 ]

3 голосов
/ 20 ноября 2011

Я могу только оценить, но я думаю, что вы копируете / вставляете либо фрагмент формата, либо дату.И по ошибке вставили разные точки с запятой в обоих случаях.Персонажи выглядят одинаково, но разные.

Итак, я предлагаю вам взять ваш рабочий пример без времени и введите вручную HH:mm и 10:36.Если это не работает, мне очень жаль.:(. Если он попытается сначала изменить 10 на 09. Это нужно, чтобы быть уверенным, что он принимает числа с ведущими нулями.

2 голосов
/ 20 ноября 2011

Попробуйте это

DateFormat df = new SimpleDateFormat("dd-MM-yy HH:mm");  

System.out.println("Formatted date: " + df.format(date));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...