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.