アプリ版:「スタンプのみでお礼する」機能のリリースについて

ある日付を追加した時,うまく正式な日付になりません。
(1) 2002年9月30日にセットする
(2) 1日追加する --→この時点で2002年9月31日になっている。
(3) 10月1日に正式な日付に直す
という流れなのですが・・・
ソースは以下のとおりです。

public static void main(String[] args) {

       Calendar cal = new GregorianCalendar();
    /*(1)*/     cal.set(2002,9,30);
   /*(2)*/     cal.add(Calendar.DATE,1);
/*(3)*/ cal.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DATE) );

System.out.println(cal.get(Calendar.YEAR) "年"+ cal.getCalendar.MONTH) +"月"+ cal.get(Calendar.DATE) +"日");
}
と、表示させると2002年10月1日になっておらず2002年9月31日になったままです。
これはどこに原因があるのでしょうか?ご指導お願いします。

A 回答 (1件)

>(1) 2002年9月30日にセットする



と書いていますが、ソースは

>cal.set(2002,9,30);

と、2002.10.30 になってしまっています。
月は 0~11 が 1月~12月と対応しており、
cal.set(2002,0,1); で 2002.1.1 になります。
10月は31日までですから、次の月にはなりません。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。

お礼日時:2002/09/03 23:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!