JavaでLocalDate型とCalendar型別に月末日の取得方法をメモしておきます。
うるう年でも正確な月末日を取得出来る方法です。
LocalDate型の月末日の取得方法
Javaソース
- LocalDate型で月末日を取得するにはwithメソッドの引数に「TemporalAdjusters.lastDayOfMonth()」を指定します。
1234567891011121314import java.time.LocalDate;import java.time.temporal.TemporalAdjusters;public class LocalDateSample {public static void main(String[] args) {// LocalDateの月末日を取得LocalDate targetDate = LocalDate.of(2020, 2, 1);LocalDate result = targetDate.with(TemporalAdjusters.lastDayOfMonth());System.out.println("LocalDate.with(TemporalAdjusters.lastDayOfMonth()) = " + result);}}
コンソール
Calendar型の月末日の取得方法
Javaソース
- Calenar型で月末日を取得するにはgetActualMaximumメソッドを使用します。
1234567891011121314import java.util.Calendar;public class LocalDateSample {public static void main(String[] args) {// Calendarの月末日を取得Calendar cal = Calendar.getInstance();cal.clear();cal.set(2020, 1, 1); // 2020-2-1int result2 = cal.getActualMaximum(Calendar.DATE);System.out.println("Calendar.getActualMaximum(Calendar.DATE) = " + result2);}}