「Java8」Calendar.getActualMaximumで指定日付の日付の月末日付を取得する
環境
Java SE1.8
Eclipse IDE 2019
関数
public int getActualMaximum(int field)
このCalendarに時間値を指定して、指定のカレンダ・フィールドが取り得る最大値を返します。
戻り値:このCalendarの時間値に対する、指定されたカレンダ・フィールドの最大値
使用例
package com.arkgame.study; import java.util.Calendar; public class DateDemo { public static void main(String[] args) { String strA = "2022/05/30"; String strB = "2022-06-28"; System.out.println("月末日付の結果1: " + getLastDay(strA)); System.out.println("月末日付の結果2: " + getLastDay(strB)); } // 月末日付を取得する関数 public static int getLastDay(String strDate) { // 年 int yyyy = Integer.parseInt(strDate.substring(0, 4)); // 月 int mm = Integer.parseInt(strDate.substring(5, 7)); // 日 int day = Integer.parseInt(strDate.substring(8, 10)); Calendar cd = Calendar.getInstance(); cd.set(yyyy, mm - 1, day); // 月末日付の取得 int result = cd.getActualMaximum(Calendar.DATE); return result; } }
実行結果
月末日付の結果1: 31
月末日付の結果2: 30