我在JBoss服務器中的jar文件中有一個java類,它通過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代碼:
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
假設默認區域設置不是Locale.ENGLISH,SimpleDateFormat需要其他語言中的日期和月份名稱(將英文字符視爲錯誤)。 –
嗯......我沒有試過那個東西。讓我試試並更新一段時間 – namalfernandolk