Kotlin:
Vergleich von zwei Daten

How to:

import java.time.LocalDate

fun main() {
    val datum1 = LocalDate.of(2023, 3, 14)
    val datum2 = LocalDate.now()

    println("Datum1 ist vor Datum2: ${datum1.isBefore(datum2)}")
    println("Datum1 ist nach Datum2: ${datum1.isAfter(datum2)}")
    println("Datum1 ist gleich Datum2: ${datum1.isEqual(datum2)}")
}

// Erwartete Ausgabe (abhängig vom aktuellen Datum):
// Datum1 ist vor Datum2: true
// Datum1 ist nach Datum2: false
// Datum1 ist gleich Datum2: false

Deep Dive

Historisch gesehen gab es viele Wege, Daten in Software zu vergleichen. Vor Java 8 war java.util.Date gängig, doch umständlich, vor allem wegen Zeitzone und mutable Zuständen. Mit Java 8 kam java.time, das API aus JSR-310, inspiriert durch Joda-Time. Diese API wird auch von Kotlin genutzt und erleichtert den Umgang mit Datum und Zeit.

Alternativen zum Standard-API gibt es, wie zum Beispiel Joda-Time oder Apache Commons Lang. Diese könnten nützlich sein, wenn zusätzliche Funktionalität benötigt wird oder man mit alten Systemen arbeitet, die java.time noch nicht unterstützen.

Die Implementierungsdetails variieren je nach Framework und Programmiersprache. In Kotlin ist die Verwendung von java.time.LocalDate für Datum-Vergleiche standard und bevorzugt dank der Klaren API und Unmodifiable-Objekten, die Nebenwirkungen vermeiden.

See Also