Kotlin:
Analyser une date depuis une chaîne de caractères
Comment faire :
Kotlin prend en charge l’analyse de dates via le package java.time
, introduit dans Java 8. Voici une approche simple utilisant LocalDateTime
et un motif spécifique :
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) // Sortie : 2023-04-01T12:00
}
Pour plus de flexibilité, ou pour gérer des dates provenant de sources externes comme les API, vous pourriez utiliser une bibliothèque tierce telle que Joda-Time (bien que cela soit moins courant maintenant avec java.time
étant robuste). Cependant, il est préférable de s’en tenir à l’approche moderne fournie par le JDK pour la plupart des applications Kotlin.
Pour analyser une date en Kotlin sans utiliser de bibliothèques tierces, vous pouvez également utiliser la classe SimpleDateFormat
pour les versions antérieures à Java 8 ou les niveaux d’API Android qui ne prennent pas en charge java.time
:
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) // La sortie variera en fonction de votre fuseau horaire, par exemple, Sam Apr 01 12:00:00 GMT 2023
}
N’oubliez pas de toujours définir le fuseau horaire si vous travaillez avec SimpleDateFormat
pour éviter des décalages inattendus dans les dates analysées.