スポンサーリンク
Java

【Java】Calendar クラスの利用

Java

Calendarクラスの利用方法や

Getメソッドで日付の年だけや

月だけを取得するような内容を開設します。

Calendarクラス

特定の日付や指定した年・月・日・秒などを操作するクラスです。

「java.until.Calendar」をimportする必要があります。

Date型と一緒に使われることも多いので

Date型の宣言方法など以下ご覧ください

【Java】date-日付の扱い型

サンプルコード

import java.util.Calendar;
import java.util.Date;

public class Main {
   public static void main (String[] args) {
      Date dt = new Date();
      Calendar cal = Calendar.getInstance();
      // 現在をセット
      cal.setTime(dt);
      System.out.println("現在:");
      // 出力
      printCalData(cal);

      // 5年後を設定する
      cal.add(Calendar.YEAR, 5);
      System.out.println("5年後:");
      printCalData(cal);

      // 5ヶ月後を設定する(5年後を引き継いでいる)
      cal.add(Calendar.MONTH, 5);
      System.out.println("5年5ヶ月後:");
      printCalData(cal);

      // 5日後を設定する(5年5ヶ月後を引き継いでいる)
      cal.add(Calendar.DATE, 5);
      System.out.println("5年5ヶ月5日後:");
      printCalData(cal);

      // calの中5年5ヶ月5前に設定してみる
      // 5年前を設定する
      cal.add(Calendar.YEAR, -5);
      // 5ヶ月前を設定する
      cal.add(Calendar.MONTH, -5);
      // 5日前を設定する
      cal.add(Calendar.DATE, -5);
      System.out.println("5年5ヶ月5日前:");
      printCalData(cal);
      
   }

   public static void printCalData (Calendar cal) {
      int year = cal.get(Calendar.YEAR);
      int month = cal.get(Calendar.MONTH);
      int day = cal.get(Calendar.DAY_OF_MONTH);

      System.out.println(
         year + "年" + month + "月" + day + "日");
   }
}
実行結果
Sat Oct 29 00:30:00 JST 2022
現在:
2022年9月29日
5年後:
2027年9月29日
5年5ヶ月後:
2028年2月29日
5年5ヶ月5日後:
2028年3月3日
5年5ヶ月5日前:
2022年9月29日

Calendar⇔String変換はこちら