Kotlin:
Tolke en dato fra en streng
How to:
I Kotlin parser vi datoer ved hjelp av java.time
-biblioteket. Her er et eksempel:
import java.time.LocalDate
import java.time.format.DateTimeFormatter
fun main() {
val dateString = "2023-04-02"
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val date = LocalDate.parse(dateString, formatter)
println(date) // Skriver ut: 2023-04-02
}
Og med et annet format:
import java.time.LocalDateTime
fun main() {
val dateTimeString = "02.04.2023 14:00"
val formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm")
val dateTime = LocalDateTime.parse(dateTimeString, formatter)
println(dateTime) // Skriver ut: 2023-04-02T14:00
}
Deep Dive
Før java.time
kom i Java 8, brukte programmerere SimpleDateFormat
fra java.util
som var mindre robust og ikke trådsikker. java.time
-biblioteket introduserte en mer intuitiv API og faste datamodeller.
Som alternativ til innebygd parsering, kan du bruke tredjepartsbiblioteker som Joda-Time, men dette er ofte ikke nødvendig siden java.time
er så kraftig. Ved implementering er det viktig å forstå datoformatet du jobber med. Mønsteret i DateTimeFormatter
må matche strengen eksakt, ellers kastes en DateTimeParseException
.