5

文字列を日付に変換しようとしています。

これが私のコードです:

    SimpleDateFormat format =  new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
    Date date = format.parse("Sun Apr 08 16:37:00 CEST 2012");

例外が発生します:

04-08 13:51:36.536: W/System.err(8005): java.text.ParseException: 解析不能な日付: "Sun Apr 08 16:37:00 CEST 2012".

フォーマットは問題ないようです。何か不足していますか?

ありがとう。

4

4 に答える 4

8

投稿したコードが実際のコードではないか、ロケールに問題があります。これは、米国ロケールのSun OracleJava1.6で正常に動作します。

コードを次のように変更します。

SimpleDateFormat format =  
    new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
于 2012-04-08T12:21:44.720 に答える
5

SimpleDateFormatロケール固有です。たとえば、「Sun」または「Sunday」は Locale.GERMAN または Locale.FRENCH などと一致しないため、少なくともパターンEとロケール固有です。使用するロケールを指定することをお勧めします。M

SimpleDateFormat format =  new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

または、ロケール固有ではない形式を使用します。

于 2012-04-08T13:53:56.657 に答える
-1

「太陽」が認識されていないようです。これを試して:

date = format.parse("Sunday Apr 08 16:37:00 CEST 2012");

私のために働きます。

于 2012-04-08T12:14:15.930 に答える