3

その形式の日付がありMM/dd/yyます。XMLファイルから取得します。たとえば、それは10/03/11です。

その上で次のコードを実行します。

try {
    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    System.out.println("dateStr: " + dateStr);
    date = sdf.parse(dateStr);
    System.out.println("dateStr After: " + sdf.format(date));
} catch(Exception e) {
    System.out.println("Error when formatting date");
}

出力は次のとおりです。

dateStr:10/03/11
dateStr変更後:10/03/0011

私はそれを得ることができないようです10/03/2011。なぜ何かアイデアはありますか?

4

2 に答える 2

12

解析している日付に2文字の年がある場合、あなたsimpleDateFormatterもそうすべきyyです。

編集:

// First convert to date object
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy");
System.out.println("dateStr: " + dateStr);

Date date = sdf.parse(dateStr);

SimpleDateFormat sdf2 = new SimpleDateFormat("MM/dd/yyyy");
sdf2.format(date);

// Then, format it to get 2011 with another date format.
System.out.println("dateStr After: " + sdf.format(date));
System.out.println("dateStr NEXT After: " +  sdf2.format(date));
于 2012-08-07T15:16:57.633 に答える
4

これは解析例外です...のMM/dd/yy代わりに使用してくださいMM/dd/yyyy

好き:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yy"); 
于 2012-08-07T15:17:54.590 に答える