Get first and last day of month using threeten, LocalDate Get first and last day of month using threeten, LocalDate java java

Get first and last day of month using threeten, LocalDate


Just use withDayOfMonth, and lengthOfMonth():

LocalDate initial = LocalDate.of(2014, 2, 13);LocalDate start = initial.withDayOfMonth(1);LocalDate end = initial.withDayOfMonth(initial.lengthOfMonth());


The API was designed to support a solution that matches closely to business requirements

import static java.time.temporal.TemporalAdjusters.*;LocalDate initial = LocalDate.of(2014, 2, 13);LocalDate start = initial.with(firstDayOfMonth());LocalDate end = initial.with(lastDayOfMonth());

However, Jon's solutions are also fine.


YearMonth

For completeness, and more elegant in my opinion, see this use of YearMonth class.

YearMonth month = YearMonth.from(date);LocalDate start = month.atDay(1);LocalDate end   = month.atEndOfMonth();

For the first & last day of the current month, this becomes:

LocalDate start = YearMonth.now().atDay(1);LocalDate end   = YearMonth.now().atEndOfMonth();