как проверить является ли дата последним днем месяца?

например есть дата String date= 02.02.2022;

LocalDate localDate = DateTimeUtils.stringToLocalDate(date,"dd.MM.yyyy");


Ответы (1 шт):

Автор решения: Nowhere Man

Можно использовать методы LocalDate::getDayOfMonth и LocalDate::lengthOfMonth:

public static boolean isLastDayOfMonth(LocalDate ld) {
    return ld.getDayOfMonth() == ld.lengthOfMonth();
}

Или же можно сравнить данную дату с датой, полученной при помощи TemporalAdjusters::lastDayOfMonth:

public static boolean isLastDayOfMonth(LocalDate ld) {
    return ld.isEqual(ld.with(TemporalAdjusters.lastDayOfMonth()));
}

Или при помощи LocalDate::withDayOfMonth и LocalDate::lengthOfMonth:

public static boolean isLastDayOfMonth(LocalDate ld) {
    return ld.isEqual(ld.withDayOfMonth(ld.lengthOfMonth()));
}
→ Ссылка