LoginSignup
16
17

More than 5 years have passed since last update.

javaで月末日を取得する

Posted at

月末日の取得方法をjava.util.CalendarとJoda Timeの両方で取得するやり方の説明です。

ちなみにJoda Timeとはこちらのライブラリです。
http://joda-time.sourceforge.net/

java.util.Calendarの場合

getActualMaximumを使います。

月末を取得
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2000);
cal.set(Calendar.MONTH, 1);
int lastDayOfMonth = cal.getActualMaximum(Calendar.DATE);

Joda Timeの場合

Joda TimeのLocalDateやDateTimeで取得する際には以下のようにwithMaximumValue()を使って取得するのがお作法です。

月末を取得
// LocalDate
LocalDate date = new LocalDate();
LocalDate lastDayOfThisMonth = date.dayOfMonth().withMaximumValue();

// DateTimeでも同様
DateTime dateTime = new DateTime();
DateTime lastDayOfThisMonth2 = dateTime.dayOfMonth().withMaximumValue();
16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17