プログラミング勉強日記
2021年1月24日
JavaでDate型の日時を計算する方法を示す。
Date型とは
Javaで日時の処理をするために定義されたデータ型で、日時情報は1970年1月1日0時からの経過時間をミリ秒で表したものである。
Date型を使った日付の取得
// 2021年1月24日日曜日 22時56分12秒
Sun Jan 18 22:55:12 JST 2021
Calendarクラスとは
CalendarクラスはDate型と同様日時を扱うデータ型で、Date型よりも細かい日時演算ができる。Date型の演算を行う場合はCalendar型に変換して、演算処理を行う。
Date型をCalendar型に変換する方法
Calendar Calendar型オブジェクト名 = Calendar.getInstance();
Calendar型オブジェクト名.setTime(Date);
Calendar型からDate型を取得する方法
Date型オブジェクト名 = Calendar型オブジェクト名.getTime();
Date型の日時を加減算する方法
Date型ので日時を加減算するためにはCalendar型のaddメソッドを使う。加算する場合は、第二引数で正の整数を指定する。減算する場合は第2引数に負の整数を指定する。
日付を加算する方法
Calendar型.add(年月日時間などを指定, 値);
// 第1引数で渡すもの
Calendar.YEAR // 年
Calendar.MONTH // 月
Calendar.DAY_OF_MONTH // 日
Calendar.HOUR_OF_DAY // 時間
Calendar.MINUTE // 分
// 1日先の日付を取得したいとき
Calendar型.add(Calendar.DAY_OF_MONTH, 1);
// 2ヵ月前の日付を取得したいとき
Calendar型.add(Calendar.MONTH, -2);
サンプルプログラム
import java.util.Date;
import java.util.Calendar;
class Sample{
public static void main(String args[]){
// Date型で現在時刻を取得する
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//Date型の持つ日時を表示
System.out.println(date);
//Date型の持つ日時の4年後を表示(日時の加算)
calendar.add(Calendar.YEAR, 4);
date = calendar.getTime();
System.out.println(date);
//Date型の持つ日時の3日前を表示(日時の減算)
calendar.add(Calendar.DAY_OF_MONTH, -3);
date = calendar.getTime();
System.out.println(date);
}
}
実行結果
Sun Jan 24 23:18:33 JST 2021
Fri Jan 24 23:18:33 JST 2025
Tue Jan 21 23:18:33 JST 2025