Разбор строго даты с SimeplDateFormat

Я пытаюсь разобрать дату, но я получаю только ParseException. Я работаю с Apache DateUtils.

Код с датой, которую я пытаюсь проанализировать:

        Locale.setDefault(Locale.ENGLISH);
        System.out.println(Locale.getDefault());
        String[] list = {"EEE, d MMM yyyy HH:mm:ss Z"};
        try {
            DateUtils.parseDateStrictly("Mon, 20 Sep 2013 07:38:22 +0000",
                    list);          
        } catch (ParseException ex) {
            System.out.println(ex);          
        }

Одна из вещей, которые я сделал, это изменил мой Locale, так как мой Locale по умолчанию - es_ES, но он все равно не работает.

Почему это не работает?

2 ответа

Решение

Потому что вы используете строгий парсер; и 20 сентября 2013 года была пятница, а не понедельник. С API анализатор строго анализирует - он не учитывает такие даты, как "февраль 942, 1996".

Date d = DateUtils.parseDateStrictly(
      "Fri, 20 Sep 2013 07:38:22 +0000",
      "EEE, d MMM yyyy HH:mm:ss Z");
System.out.println(d);

Пытаться,

String[] parsePattern = {"EEE, dd MMM yyyy HH:mm:ss Z"};
try {
    Date parsedDate = DateUtils.parseDateStrictly("Fri, 20 Sep 2013 07:38:22 +0000", parsePattern);
    System.out.println(" >>>>>>>>>>>>>>>>>>>>>>>> parsedDate : " + parsedDate);
} catch (ParseException ex) {
    System.out.println(ex);          
}
Другие вопросы по тегам