Date & Time API
LocalDate
Work with timezone-independent dates and perform date calculations.
Interview: Tests LocalDate queries, calculations (plus/minus), and comparing dates using isBefore/isAfter.
LocalDate is an immutable date-time object that represents a date, often viewed as year-month-day. It has no time or timezone information.
Core Idea
LocalDate models a calendar date like a birthday or holiday without timezones.
Why It Matters
Separating dates from times avoids timezone conversion bugs when calculating calendar intervals.
Interview Lens
Tests date comparison checks (isBefore, isAfter) and leap year calculations.
Core API Operations
- Creation:
LocalDate.of(2026, 6, 13)orLocalDate.parse("2026-06-13"). - Calculations:
plusMonths(1),minusDays(5). All return a new instance. - Comparisons:
isBefore(otherDate),isAfter(otherDate).
Code Walkthrough
This program demonstrates common LocalDate operations.
Interview-Relevant Information
Q: How do you parse custom formatted date strings into LocalDate?
Answer: Use LocalDate.parse(text, DateTimeFormatter). By default, parse(text) expects ISO-8601 formatting (YYYY-MM-DD). Custom formats require passing a configured DateTimeFormatter instance.
Quick Checklist
Does LocalDate contain time information? How do you check for leap years? If yes, you understand LocalDate.
Use Cases
Defining holiday schedules inside booking applications.
Evaluating age requirements during registration.
Common Mistakes
Using month values starting at 0 (java.time uses standard 1-12 numbering; 1 is January).
Attempting to extract time fields, which throws UnsupportedTemporalTypeException.