Java:
Jämföra två datum

Hur gör man?

import java.time.LocalDate;
import java.time.Month;

public class DatumJämförelse {
    public static void main(String[] args) {
        LocalDate datum1 = LocalDate.of(2023, Month.MARCH, 28);
        LocalDate datum2 = LocalDate.now();

        // Jämförning
        if(datum1.isAfter(datum2)) {
            System.out.println("Datum1 är efter Datum2.");
        } else if(datum1.isBefore(datum2)) {
            System.out.println("Datum1 är före Datum2.");
        } else {
            System.out.println("Datum1 och Datum2 är samma.");
        }
    }
}

Exempelutskrift:

Datum1 är före Datum2.

Fördjupning

I Java, tidsbaserad jämförelse började i JDK 1.0 med Date klassen. Calendar klassen introducerades i JDK 1.1 som en mer flexibel lösning. Nu, java.time paketet (från Java 8 och framåt) är standarden, med LocalDate, LocalTime, och LocalDateTime klasserna.

Alternativa sätt att jämföra datum inkluderar använder compareTo metod, vilket returnerar ett heltal baserat på jämförelsen, och equals metod för att kontrollera exakt likhet.

Implementeringsdetaljer: java.time använder ISO-8601 standarden internationellt. Datum och tidsrepresentationer är oberoende av tidszoner, vilket gör dem mer konsistenta globalt.

Se även