Travail avec les dates en Kotlin : bibliothèques et outils de développement

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travail avec les dates en Kotlin : aperçu des bibliothèques et outils



Le travail avec les dates et l'heure est l'une des tâches clés dans le développement moderne. Kotlin, en tant que langage moderne, offre plusieurs moyens puissants de gérer les dates. Dans cet article, nous examinerons les principales bibliothèques et approches qui vous aideront à travailler efficacement avec les dates dans vos projets Kotlin, y compris le développement Android et les applications serveur.



1. Bibliothèque standard java.time (Java 8+)



Depuis Java 8, les développeurs ont accès à une API entièrement repensée pour travailler avec les dates — java.time. Comme Kotlin est entièrement compatible avec Java, vous pouvez utiliser cet outil puissant directement. C'est la méthode la plus courante pour les applications serveur en Kotlin.



Classes principales :

  • LocalDate — date sans heure (année, mois, jour)
  • LocalTime — heure sans date
  • LocalDateTime — date et heure sans fuseau horaire
  • ZonedDateTime — date et heure avec fuseau horaire
  • Instant — moment dans le temps en UTC
  • Duration et Period — pour travailler avec des intervalles


import java.time.LocalDateimport java.time.LocalDateTimeimport java.time.format.DateTimeFormatter

fun main() { // Date actuelle val today = LocalDate.now() println("Aujourd'hui : $today")

// Création d'une date spécifique val birthDate = LocalDate.of(1990, 5, 15) println("Date de naissance : $birthDate")

// Formatage val formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy") val formatted = today.format(formatter) println("Date formatée : $formatted")

// Analyse d'une chaîne val parsedDate = LocalDate.parse("2024-01-01") println("Date analysée : $parsedDate")

// Travail avec la date et l'heure val now = LocalDateTime.now() println("Maintenant : $now")}


2. kotlinx-datetime — bibliothèque officielle de JetBrains



Pour les projets utilisant Kotlin Multiplatform, la bibliothèque standard kotlinx-datetime est le meilleur choix. Elle fournit une API unifiée pour toutes les plateformes (JVM, JS, Native, Android).



Ajout de la dépendance (build.gradle.kts) :

dependencies {    implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1")}


Fonctionnalités principales :

  • Instant — moment dans le temps
  • LocalDateTime — date et heure locales
  • LocalDate — date locale
  • LocalTime — heure locale
  • TimeZone — fuseaux horaires
  • DateTimePeriod — période de temps


import kotlinx.datetime.*

fun main() { // Date et heure actuelles val now = Clock.System.now() println("Moment actuel : $now")

// Conversion en composants locaux val localDateTime = now.toLocalDateTime(TimeZone.currentSystemDefault()) println("Heure locale : $localDateTime")

// Création d'une date val date = LocalDate(2024, 12, 25) println("Date : $date")

// Formatage val formatted = localDateTime.toString() println("Représentation textuelle : $formatted")

// Analyse val parsed = Instant.parse("2024-01-01T12:00:00Z") println("Instant analysé : $parsed")

// Travail avec les fuseaux horaires val moscowTime = now.toLocalDateTime(TimeZone.of("Europe/Moscow")) println("Heure de Moscou : $moscowTime")}


3. ThreeTenABP — pour la rétrocompatibilité Android



Si votre application prend en charge une API Android inférieure à 26 (Android 8.0), vous ne pouvez pas utiliser java.time directement. Dans ce cas, la bibliothèque ThreeTenABP<

Recommendations