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.