1

私はこのような日付を解析しようとしています: Tue Aug 28 21:16:23 +0000 2012 このコードで:

SimpleDateFormat format = new SimpleDateFormat("E M dd HH:mm:ssZ yyyy", Locale.ENGLISH);
String d = object.getString("created_at"); // d = Tue Aug 28 21:16:23 +0000 2012;
date = format.parse(d);

ただし、例外があります。

09-28 11:10:24.471: W/System.err(10388): java.text.ParseException: Unparseable date: "Fri Sep 28 07:09:09 +0000 2012" (at offset 4)

どこで間違えますか?

4

2 に答える 2

2

8 月の月表示には MMM が必要です。

SimpleDateFormat format = new SimpleDateFormat("E MMM dd HH:mm:ssZ yyyy", Locale.ENGLISH);
        String d = "Tue Aug 28 21:16:23 +0000 2012"; // d =;
        Date date = format.parse(d);
                System.out.println(date);

出力:Tue Aug 28 22:16:23 BST 2012

SimpleDateFormat の javadocを調べると役立つ場合があります。パターン文字列の役立つ例がいくつかあります。

于 2012-09-28T07:24:39.310 に答える
2

これを試して

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

MMM短い月を表すために使用されます。

于 2012-09-28T07:20:19.820 に答える