Kotlin:
Conversion d'une date en chaîne de caractères
How to:
En Kotlin, on utilise la classe SimpleDateFormat
pour transformer une date en chaîne de caractères. Voici comment faire :
import java.text.SimpleDateFormat
import java.util.*
fun main() {
val date = Date()
val formatter = SimpleDateFormat("dd/MM/yyyy HH:mm:ss")
val dateString = formatter.format(date)
println(dateString)
}
Sortie exemple :
31/03/2023 15:21:47
Deep Dive
Historiquement, Java utilisait java.util.Date
et SimpleDateFormat
pour gérer les dates, ce qui a été hérité par Kotlin. Cependant, ces classes avaient des problèmes de thread-safety et de conception. Depuis Java 8, le package java.time
(JSR-310) offre une meilleure solution avec des classes comme LocalDate
, LocalTime
, et LocalDateTime
.
En Kotlin, on peut aussi utiliser ces classes modernes :
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun main() {
val currentDateTime = LocalDateTime.now()
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss")
val formattedDate = currentDateTime.format(formatter)
println(formattedDate)
}
Alternativement, Kotlin a une bibliothèque standard étendue qui inclut des fonctions de formatage de date dans son package kotlinx.datetime
.
Détails d’implémentation :
SimpleDateFormat
n’est pas thread-safe ; ne l’utilisez pas dans un contexte multithread sans précautions.DateTimeFormatter
est immuable et thread-safe, ce qui en fait une meilleure option dans des applications multithread.- Toujours préciser le format de date souhaité selon les besoins de l’application et la localisation de l’utilisateur.