- PR -

日付の増減算について

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/04/23
投稿数: 10
投稿日時: 2009-01-15 11:12
現在、サーブレットでプログラムを作成していますが、
取得した日付の増減算した月を取得したいと思っています。
以下のようにプログラムを作成したのですが、
思った結果になりません。
宜しくお願い致します。

Calendar cal = Calendar.getInstance();
cal.set(2009,0,1);

// 上記の時間に1ヶ月を減らす
cal.add(cal.MONTH, -1);
// 結果表示をするために日付フォーマットをする
SimpleDateFormat PrevFormat =
new SimpleDateFormat("yyyyMM");
String strPrevMonth =
PrevFormat.format(cal.getTime());

// 上記の時間に1ヶ月を増やす
cal.add(cal.MONTH, 1);
// 結果表示をするために日付フォーマットをする
SimpleDateFormat NextFormat =
new SimpleDateFormat("yyyyMM");
String strNextMonth =
NextFormat.format(cal.getTime());

結果
減算:200812
増加:200901

cal.set(2009,0,1);を設定すると2009年1月1日を設定しますよね?
その結果、増加の方が200902ではなく200901になってしまいます。

おかしい部分があったら指摘を宜しくお願い致します。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2009-01-15 11:17
2009年1月から「1ヶ月減らして」「1ヶ月加えて」いるのだからして、
結果が2009年1月になるのは当たり前なのではないかな、と。
1

スキルアップ/キャリアアップ(JOB@IT)