3

文字列を日付に変換しようとしています...しかし、戻り値が間違っています。

String startDate = "2013-07-24";
Date date = new Date();
try{         
    DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD"); 
    date = (Date)formatter.parse(startDate);
    System.out.println(date);    
}
catch(Exception e){
    e.printStackTrace();
}

望ましい出力は次のとおりです。

木 7 月 25 日 00:00:00 CDT 2013

しかし、実際の出力は次のとおりです。

金曜日 1 月 25 日 00:00:00 CST 2013

7月から1月になるのはどうして?

4

5 に答える 5

10

私が見る1つの問題は次のとおりです。

DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD"); 

次のようにする必要があります。

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 

DDYEAR の日を表します。SimpleDateFormatの詳細については、こちらをお読みください。

于 2013-07-25T14:18:14.943 に答える
7

dd の DD を変更します。

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
于 2013-07-25T14:18:41.063 に答える
2

DD日付に合わせて に置き換えddます。

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

SimpledateFormat ドキュメントに従って

D 年中の日

d

于 2013-07-25T14:18:59.910 に答える
1

月の日は小文字の 'd' を使用して作成され、大文字を使用しています...

次のように変更します。

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

で動作します

于 2013-07-25T14:20:14.813 に答える