目次
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日となります。