Kotlin:
Einen Datum aus einem String analysieren

Wie geht das:

Kotlin unterstützt das Parsen von Daten durch das java.time-Paket, das in Java 8 eingeführt wurde. Hier ist ein einfacher Ansatz unter Verwendung von LocalDateTime und einem spezifischen Muster:

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

fun parseDateFromString(dateString: String): LocalDateTime {
    val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
    return LocalDateTime.parse(dateString, formatter)
}

fun main() {
    val dateString = "2023-04-01 12:00:00"
    val date = parseDateFromString(dateString)
    println(date)  // Ausgabe: 2023-04-01T12:00
}

Für mehr Flexibilität oder um Daten aus externen Quellen wie APIs zu verarbeiten, könntest du eine Drittanbieterbibliothek wie Joda-Time verwenden (obwohl dies mit dem robusten java.time weniger häufig vorkommt). Allerdings wird für die meisten Kotlin-Anwendungen der moderne Ansatz, der von der JDK bereitgestellt wird, bevorzugt.

Um ein Datum in Kotlin ohne die Verwendung von Drittanbieterbibliotheken zu parsen, kannst du auch die Klasse SimpleDateFormat für Versionen vor Java 8 oder Android-API-Ebenen nutzen, die java.time nicht unterstützen:

import java.text.SimpleDateFormat

fun parseDateUsingSimpleDateFormat(dateString: String): java.util.Date {
    val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
    return formatter.parse(dateString)
}

fun main() {
    val dateString = "2023-04-01 12:00:00"
    val date = parseDateUsingSimpleDateFormat(dateString)
    println(date)  // Die Ausgabe variiert je nach Zeitzone, z.B., Sat Apr 01 12:00:00 GMT 2023
}

Denke immer daran, die Zeitzone zu setzen, wenn du mit SimpleDateFormat arbeitest, um unerwartete Verschiebungen in den geparsten Daten zu vermeiden.