Разбор строго даты с 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);
}