概要
Javaで「日時を加算/減算する」の動作を確認してみました。以下のページを参考にしました。
実装
以下のファイルを作成しました。
TestCalendar3.java
import java.util.Calendar;
class TestCalendar3{
public static void main(String args[]){
Calendar calendar = Calendar.getInstance();
System.out.println("日時を2005/12/30に設定します");
calendar.set(2005, 11, 30);
dispCalendar(calendar);
System.out.println("-- -- -- -- -- --");
System.out.println("日を1ずつ増加させます");
for (int i = 0 ; i < 6 ; i++){
calendar.add(Calendar.DAY_OF_MONTH, 1);
dispCalendar(calendar);
}
System.out.println("-- -- -- -- -- --");
System.out.println("日時を2006/1/31に設定します");
calendar.set(2006, 0, 31);
dispCalendar(calendar);
System.out.println("-- -- -- -- -- --");
System.out.println("月を1ずつ増加させます");
for (int i = 0 ; i < 4 ; i++){
calendar.add(Calendar.MONTH, 1);
dispCalendar(calendar);
}
}
private static void dispCalendar(Calendar calendar){
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DATE);
StringBuffer sb = new StringBuffer();
sb.append("設定されている日時は");
sb.append(year + "年" + month + "月" + day + "日");
sb.append("です。");
System.out.println(new String(sb));
}
}
以下のコマンドを実行しました。
$ javac TestCalendar3.java
$ java TestCalendar3
日時を2005/12/30に設定します
設定されている日時は2005年12月30日です。
-- -- -- -- -- --
日を1ずつ増加させます
設定されている日時は2005年12月31日です。
設定されている日時は2006年1月1日です。
設定されている日時は2006年1月2日です。
設定されている日時は2006年1月3日です。
設定されている日時は2006年1月4日です。
設定されている日時は2006年1月5日です。
-- -- -- -- -- --
日時を2006/1/31に設定します
設定されている日時は2006年1月31日です。
-- -- -- -- -- --
月を1ずつ増加させます
設定されている日時は2006年2月28日です。
設定されている日時は2006年3月28日です。
設定されている日時は2006年4月28日です。
設定されている日時は2006年5月28日です。
まとめ
何かの役に立てばと。