У меня есть java-класс внутри файла jar, который находится на сервере JBoss, который вызывается через файл bash следующим образом.Неполадка разбора даты в SimpleDateFormat
java -cp /com/site/domain/TimeFormatter.jar packOne.subPack.Test
Но у меня возникла ошибка при разборе приведенной ниже даты.
java.text.ParseException: Unparseable date: "Wed, 29 Jan 2014 21:00:00 GMT"
at java.text.DateFormat.parse(DateFormat.java:335)
Java CODE:
Date date = new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss z").parse("Sun, 26 Jan 2014 21:00:00 GMT");
System.out.println("main().date : " + date);
Что я здесь отсутствует? Я прочитал много сообщений о неправильной работе SimpleDateFormat. Но это кое-что, что я не нашел среди этих сообщений.
Примечание: Я думал, что это из-за изменения версии Java или какой-то вещи. Но я выполнил ту же программу с разными версиями на моей машине. Он отлично работал. сервера версия Java «1.5.0_22»
локали деталь:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Можете ли вы объяснить, почему он ошибается, не указав Locale? – Keerthivasan
Предполагая, что локаль по умолчанию не является локалью.ENGLISH, SimpleDateFormat ожидает названия дней и месяцев на каком-то другом языке (считая, что английские ошибки неверны). –
Хм ... Я не пробовал эту штуку. Позвольте мне попробовать и обновить через некоторое время – namalfernandolk