0

私は以下を試しました。しかし、結果は期待外れです。
月をインクリメントしたい。

 String dStartTime="2012-03-01";
 SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-DD");
 Date dateStartTime = dateFormatter.parse(dStartTime);
 Calendar cal = Calendar.getInstance();
 cal.setTime(dateStartTime); 
 cal.add(Calendar.MONTH, 1);
 System.out.println(cal.getTime());
 System.out.println(dateFormatter.format(cal.getTime())); 

出力
WedFeb01 00:00:00 IST2012---これは正しい
2012-02-32---これは間違っています。私はその日が1つであることを望みます。

ここで何が問題なのか教えてください。

4

1 に答える 1

2

に変更new SimpleDateFormat("yyyy-MM-DD")new SimpleDateFormat("yyyy-MM-dd")ます。 DDは「Dayinyear」ですが、「Dayinmonth」が必要ですdd。日付と時刻のパターンについては、 http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.htmlを参照してください。

于 2012-11-05T12:18:03.143 に答える