2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Java】Date型の日時を計算する方法

Posted at

プログラミング勉強日記

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

参考文献

日時を加算/減算する(add)

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?