3

解析したい文字列:

日11月10日10:00:00CET2013

私のコード:

substrings = "Sun Nov 10 10:00:00 CET 2013"

SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy");
Date date = parserSDF.parse(substrings);

コンパイラエラー出力:

java.text.ParseException:解析不能な日付: "Sun Nov 10 10:00:00 CET 2013" at java.text.DateFormat.parse(Unknown Source).. ..

4

4 に答える 4

1

おそらく、正しいロケールが欠落しています。あなたの例では、これを試してください:

    SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy", Locale.US);
于 2013-02-06T16:50:39.760 に答える
0

ZZZは、RFC 822タイムゾーンに従ってタイムゾーンをフォーマットしようとします。代わりに、zzzを使用してください。

参照用のJavaDocリンクは次のとおりです

于 2013-02-06T16:55:11.653 に答える
0
于 2018-09-04T04:38:17.820 に答える
-1

問題は、parserSDFが配列とParsePositionではなく文字列を受け取ることです。私はあなたが欲しいと思うものを出力するためにこれを書きました。

import java.text.*;
public class Parser{
    public static void main(String[] args){
    String input = "Sun Nov 10 10:00:00 CET 2013";
    SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM d HH:mm:ss ZZZ yyyy");
    System.out.println(parserSDF.parse(input, new ParsePosition(0)));
    }
}

API内のSimpleDateFormatParsePositionを確認することをお勧めします

于 2013-02-06T17:11:40.353 に答える