Используя Java Time API, довольно просто получить последний день месяца, используя TemporalAdjuster
, API поставляется с некоторыми уже определенными, такими как TemporalAdjusters.lastDayOfMonth()
.
Итак, вотпростой пример того, как получить последний день следующего месяца (на основе сегодняшнего дня).
LocalDate date = LocalDate.now()
.plus(1, ChronoUnit.MONTHS)
.with(TemporalAdjusters.lastDayOfMonth()));
Это довольно многословно, чтобы быть понятным, я верю.
Чтобы разобрать строку вLocalDate
.Просто замените now()
на parse()
, например:
LocalDate.parse("2019-05-03", DateTimeFormatter.ISO_DATE);
Использование:
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;
На самом деле это уже ответ в дубликате предлагаемый, просто нужно немного ругаться, чтобы найти его.Это озеленяет видимость !!