0

この形式の日付文字列がありますThu Aug 02 00:00:00 GMT+00:00 2012

このメソッドを使用して、Dateオブジェクト内のこれらの文字列を解析しようとしました

public Date fromStringToDate(String data) {
        Date result;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss");
        try {
            result = sdf.parse(data);
            return result;
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }

しかし、動作せず、このエラーが発生します

java.text.ParseException: Unparseable date: "Thu Aug 02 00:00:00 GMT+00:00 2012"

問題の原因は間違っているとSimpleDateFormat思いますが、修正するための正しい構文がわかりません。

4

2 に答える 2

5

指定された文字列に合わせて日付形式を調整する必要があります。

EEE MMM dd HH:mm:ss Z yyyy

大文字と小文字を区別するなど、正しいプレースホルダーを使用していることを確認してください。 Date and Time Patternsを参照してください。

申し訳ありませんが、「z」パターンに誤りがありました。「Z」は次のとおりです。

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

をご覧くださいLocale.US。月と日が英語で表示されているため、申請することが重要です。

于 2012-07-16T19:12:18.840 に答える
1

次の日付形式を使用します。

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy")
于 2012-07-16T19:19:39.003 に答える