java.time · java.base · since Java 1.8

LocalDate

declaration
public final class LocalDate
        implements Temporal, TemporalAdjuster, ChronoLocalDate, Serializable

A calendar date without time or zone (2026-07-07): birthdays, due dates, calendar math. Immutable; every "mutation" returns a new date.

Key methods

static LocalDate now() / of(int y, int m, int d) / parse(CharSequence)Creation (parse expects ISO yyyy-MM-dd).
LocalDate plusDays/plusMonths/plusYears(long)Calendar arithmetic (end-of-month aware).
LocalDate with(TemporalAdjuster adj)e.g. TemporalAdjusters.next(MONDAY), lastDayOfMonth().
DayOfWeek getDayOfWeek() / int lengthOfMonth()Calendar queries.
boolean isBefore/isAfter(ChronoLocalDate)Comparisons.
LocalDateTime atTime(LocalTime) / atStartOfDay()Combine with a time.