2012-07-02 60 views
1

如何解析此字符串?字符串到日期的轉換(一切看起來不錯,但失敗)

「星期一7月2 13時49分16秒CEST 2012」

String Date = "Mon Jul 02 13:11:38 CEST 2012"; 
DateFormat formatter; 
Date convertedDate= new Date(); 
formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy"); 
try { 
    convertedDate = (Date) formatter.parse(Date); 
} catch (ParseException ex) { 
    Logger.getLogger(ItemRecTestCases.class.getName()).log(Level.SEVERE, null, ex); 
     } 

不工作...... 「java.text.ParseException: Unparseable date:

+3

你不應該打電話給你的字符串變量日期 – NimChimpsky

+0

@dystroy其有點跛,你可以 – NimChimpsky

+0

你的代碼工作正常使用Java 7 – assylias

回答

7

你需要設置區域設置:

formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy", Locale.ENGLISH); 

否則「Mon」不能被解析爲「星期一」。

+0

哦,那太尷尬了...但是真的,謝謝...不僅Mon,而且Jul和月份的名字也不能轉換!!!! – czupe

+0

Ok course。但是我知道我經常犯這個錯誤,每個我只需要幾分鐘的時間就可以開始工作了,在我看來,允許一個沒有語言環境的構造函數幾乎是Sun的一個錯誤, –

+0

絕對正確,再次感謝你! – czupe

6

的語言環境需要指定:

formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy", Locale.US); 
+0

完美的答案也是,但我會「接受」,因爲問題描述的故障星期一 - >星期一:(七月 - >七月,因爲在我的國家七月 - >Július(ú! !( – czupe

相關問題