MENU

Java 月末日付を取得する

目次

Java 月末日付を取得する Calendar.getActualMaximum()

Javaで指定した日付の月末日付を取得するサンプルプログラムです。
java.util.CalendarクラスのgetActualMaximum(Calendar.DATE)月末日付を取得することができます。

サンプルプログラム

/**
 * 指定した日付文字列(yyyy/MM/dd or yyyy-MM-dd)
 * における月末日付を返します。
 * 
 * @param strDate 対象の日付文字列
 * @return 月末日付
 */
public static int getLastDay(String strDate) {
    if (strDate == null || strDate.length() != 10) {
        throw new IllegalArgumentException(
                "引数の文字列["+ strDate +"]" +
                "は不正です。");
    }
    int yyyy = Integer.parseInt(strDate.substring(0,4));
    int MM = Integer.parseInt(strDate.substring(5,7));
    int dd = Integer.parseInt(strDate.substring(8,10));
    Calendar cal = Calendar.getInstance();
    cal.set(yyyy,MM-1,dd);
    int last = cal.getActualMaximum(Calendar.DATE);
    return last;
}


実行結果

◆実行例

public static void main(String[] args) {
    System.out.println(getLastDay("2007/01/01"));
    System.out.println(getLastDay("2007/02/01"));
    System.out.println(getLastDay("2008/02/01"));
}

◆出力結果

31
28
29

※2008年は閏年のため2月の月末日付は29日となります。

  • URLをコピーしました!
目次