Порівняння двох дат

Java:
Порівняння двох дат

How to (Як саме):

Comparing dates in Java is straightforward thanks to the java.time package. Check out how it’s done:

import java.time.LocalDate;

public class DateComparison {
    public static void main(String[] args) {
        LocalDate date1 = LocalDate.of(2023, 1, 25);
        LocalDate date2 = LocalDate.of(2023, 3, 1);

        // Compare dates
        if (date1.isBefore(date2)) {
            System.out.println("Date1 is before Date2");
        } else if (date1.isAfter(date2)) {
            System.out.println("Date1 is after Date2");
        } else {
            System.out.println("Date1 is equal to Date2");
        }
    }
}

Sample output:

Date1 is before Date2

Deep Dive (Поглиблений Розбір):

Before Java 8, comparing dates was clunky - you had options like java.util.Date or java.util.Calendar, and you had to handle quirks and bugs. java.time, introduced in Java 8, made things cleaner, providing a comprehensive and reliable API for dates and times.

Alternatives to LocalDate for granular needs include LocalDateTime, ZonedDateTime, and Instant. Each serves different use-cases: LocalDateTime for date-time without a zone, ZonedDateTime for full date-time with timezone, and Instant for a precise point on the timeline, typically for timestamping.

Under the hood, date comparison in Java uses compareTo() method from the Comparable interface or isBefore() and isAfter() which are part of the ChronoLocalDate interface specifically designed for dealing with dates.

See Also (Дивіться також):