「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