Conversion d'une date en chaîne de caractères

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.

See Also