日時を加算減算するには?
では、日時を使った計算をするにはどうすればよいか、考えてみましょう。まずは、日時に加算減算をする方法です。例えば「今日から100日後はいつ?」とか、「今から50時間前は何時?」というような計算ですね。
こうした計算には、Calendarの「add」メソッドを利用します。これは、日時に一定の時間を加えるものです。
[Calendar].add( 単位 , 数量 );
addは、2つの引数を指定して使います。第1引数には、加える値の単位(年・月・日・時・分・秒といった単位)を指定します。これは、Calendarクラスに用意されている以下のようなクラスフィールドを使います。
YEAR――年を示す単位
MONTH――月を示す単位
DATE――日を示す単位
HOUR――時を示す単位
MINUTE――分を示す単位
SECOND――秒を示す単位
MILLISECOND――ミリ秒を示す単位
第2引数には、加える数量を指定します。例えば、10日後を計算させたければ、第1引数に日を示す単位であるCalendar.DATEを指定し、第2引数に「10」を指定する、というわけです。例えば、今日から1000日後の日時を計算して表示するというサンプルを考えてみましょう。
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1000);
System.out.println(cal.getTime());
}
プログラムを実行すると、現在の日時が表示される。 |
こんな感じですね。ここでは、mainメソッド部分だけ掲載しておきました。使い方さえわかれば、非常に単純でしょう? また、「1000日後を求めるのはわかった。では、1000日前はどうやって求めるんだ?」と思った人。-1000をaddすればいいんですよ。