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