Sammenlikning av to datoer

Kotlin:
Sammenlikning av to datoer

Hvordan:

import java.time.LocalDate

fun main() {
    val date1 = LocalDate.of(2023, 4, 15)
    val date2 = LocalDate.of(2023, 5, 10)

    println("Er datoene like? ${date1.isEqual(date2)}")
    println("Kommer date1 før date2? ${date1.isBefore(date2)}")
    println("Kommer date1 etter date2? ${date1.isAfter(date2)}")
}

// Output:
// Er datoene like? false
// Kommer date1 før date2? true
// Kommer date1 etter date2? false

Dypdykk

Tidligere brukte vi java.util.Date og java.util.Calendar for å håndtere datoer i Java, men de hadde flere utfordringer, inkludert mutabilitet og dårlig design. Kotlin er bygget på JVM og bruker java.time-pakken introdusert i Java 8 for datooperasjoner. Denne pakken er både enklere å bruke og mer robust.

Det finnes andre måter å sammenligne datoer på, som bruk av tidsstempel eller eksterne biblioteker som Joda-Time. Men, med java.time, spesielt LocalDate, LocalTime og LocalDateTime, har man sterk støtte rett ut av boksen.

Implementasjonen bak disse sammenligningsmetodene bruker enkel aritmetikk på lagrede datoattributter. isEqual(), isBefore() og isAfter() er intuitive og selvforklarende metoder som gjør det enkelt å jobbe med datoer.

Se Også