「java」Calendarクラスにadd()で日時を加算する方法

説明
1.public SimpleDateFormat(String pattern)
pattern – 日付と時刻のフォーマットを記述するパターン

2.public abstract void add(int field,int amount)
カレンダの現在の時間から5日を引く場合は、次の呼出しを実行します。 add(Calendar.DAY_OF_MONTH, -5)

3.public final void set(int year,int month,int date,int hourOfDay,int minute,int second)
year – YEARカレンダ・フィールドの設定に使用する値。
month – MONTHカレンダ・フィールドの設定に使用する値。
Month値は0から始まる(1月は0になる)。
date – DAY_OF_MONTHカレンダ・フィールドの設定に使用する値。
hourOfDay – HOUR_OF_DAYカレンダ・フィールドの設定に使用する値。
minute – MINUTEカレンダ・フィールドの設定に使用する値。
second – SECONDカレンダ・フィールドの設定に使用する値。

Javaコード

package com.arkgame.study;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CalendarAddDemo {
      public static final String strFmt = "yyyy/MM/dd HH:mm:ss";

      public static void main(String[] args) {

            Calendar cft = Calendar.getInstance();
            // 日付フィールドを設定
            SimpleDateFormat sdf = new SimpleDateFormat(strFmt);
            Date dtA, dtB;
            // フィールドを設定します ※Month値は0から始まる
            cft.set(2020, 8, 30, 11, 11, 11);
            // Dateオブジェクトを返す
            dtA = cft.getTime();
            String strDateA = sdf.format(dtA);
            System.out.println("指定日付:\n" + strDateA);
            // 5日前を求める
            cft.add(Calendar.DATE, -5);
            dtB = cft.getTime();
            String strDateB = sdf.format(dtB);
            System.out.println("5日前の日付:\n" + strDateB);
      }

}

実行結果
指定日付:
2020/09/30 11:11:11
5日前の日付:
2020/09/25 11:11:11

Java

Posted by arkgame