2012-03-05 3 views
1

次のテキストを日付に変換しようとしていますが、正しく解析することができません。Java文字列の変換がスローされます。解析できない日付

String strDate = "Tue Mar 13 12:00:00 EST 2012"; 
try{ 
    SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy"); 
    //also tried SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy HH:mm"); 
    //as well as sd.setTimeZone(TimeZone.getDefault()); 
    Date date = sd.parse(strDate); 
}catch(Exception e) 
{ 
    e.printStack(); 
    //fails with java.text.ParseException: Unparseable date: "Tue Mar 13 12:00:00 EST 2012" 
} 

何が間違っていますか?

+0

'あなたが使用しているSimpleDateFormat'は、フォーマット例えば「2011年2月7日」のコードサンプルのため –

答えて

5

は、入力に一致する日付形式を使用してみてください。

DateFormat sd = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy"); 

編集:日付形式の文字列を修正しました。

注:HHは日中時間です/午後の時間を午前ありません。

+0

感謝の日付文字列を期待しています。明らかに私の誤認は間違っていた。乾杯 – ke3pup

+1

私はその形式を使ってみましたが、うまくいきません。私の日付は同じように厳しいです。テスト済み: "Wed Sep 15 00:00:00 CEST 1999" – DavidVdd

6

あなたの日付形式は形式dd/MM/yyyy(日/月/年)で何かを探しているが、あなたは、長い日付文字列に渡しています。あなたのフォーマットは、13/05/2012のような日付を解析します。シンボルのSimpleDateFormat http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html javadocsを見てください。

だからあなたの日付形式がEEE MMM ddのようなものになるだろう...など