Travailler avec des dates dans Kotlin

1. Introduction

Dans ce rapide didacticiel, nous allons apprendre à travailler avec des dates dans Kotlin.

Nous allons chercher dans date- opérations connexes telles que la création, le formatage et la manipulation de dates.

2. Création d'une date

La meilleure façon de créer une date objet utilise LocalDate de » parse () méthode:

var date = LocalDate.parse("2018-12-12")

La méthode parse () utilise par défaut le format de date standard aaaa-MM-jj .

Nous pouvons également passer notre propre format pour analyser une chaîne de date:

var formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy") var date = LocalDate.parse("31-12-2018", formatter)

Et, si nous avons besoin de contrôle que nous pouvons spécifier explicitement l' année , jour et mois en utilisant LocalDate est de () méthode :

var date = LocalDate.of(2018, 12, 31)

3. Formatage d'une date

Ensuite, regardons comment nous pouvons formater nos objets de date en chaînes .

La méthode par défaut de formatage de la date à l'aide du format par défaut dans Kotlin consiste à appeler la méthode toString () .

Créons une date

var date = LocalDate.parse("2018-12-31")

et regardez la sortie par défaut de l'utilisation de toString :

assertThat(date.toString()).isEqualTo("2018-12-31")

Cela semble lisible car le format de sortie est aaaa-MM-jj , mais encore une fois, nous pouvons avoir besoin de formater la date dans des formats personnalisés en fonction de nos cas d'utilisation.

Pour formater notre rendez -vous à différents formats que nous pouvons utiliser LocalDate de format () méthode et de l' offre à elle notre format personnalisé à l' aide DateTimeFormatter :

var formatter = DateTimeFormatter.ofPattern("dd-MMMM-yyyy") var formattedDate = date.format(formatter)

Cela génère une date joliment formatée:

assertThat(formattedDate).isEqualTo("31-December-2018")

4. Extraction des composants de date

LocalDate fournit de nombreuses méthodes que nous pouvons utiliser pour extraire des composants spécifiques de Date.

Certains d'entre eux sont assez triviaux, comme l'extraction de l'année, du mois ou du jour d'une date :

var date = LocalDate.parse("2018-12-31") assertThat(date.year).isEqualTo(2018) assertThat(date.month).isEqualTo(Month.DECEMBER) assertThat(date.dayOfMonth).isEqualTo(31)

Nous pouvons également extraire d'autres informations comme e ra , d ayOfTheWeek ou d ayOfTheMonth :

assertThat(date.era.toString()).isEqualTo("CE") assertThat(date.dayOfWeek).isEqualTo(DayOfWeek.MONDAY) assertThat(date.dayOfYear).isEqualTo(365)

5. Travailler avec la période

Enfin, examinons le travail avec les périodes dans Kotlin.

Les périodes représentent une distance sur la chronologie. Nous pouvons créer une période en utilisant la méthode de fabrique de classes de Period :

var period = Period.of(1, 2, 3)

Cela crée une période de 1 an, 2 mois et 3 jours.

Pour ajouter cette période à une date existante, nous utilisons le LocalDate de plus () méthode:

var date = LocalDate.of(2018, 6, 25) var modifiedDate = date.plus(period)

Cela ajoutera 1 an, 2 mois et 3 jours à la date donnée et produira la date modifiée:

assertThat(modifiedDate).isEqualTo("2019-08-28")

De même, nous pouvons soustraire une période d'une date donnée:

var date = LocalDate.of(2018, 6, 25) var modifiedDate = date.minus(period)

Et comme prévu, la date modifiée sera:

assertThat(modifiedDate).isEqualTo("2017-04-22")

En outre, nous pouvons utiliser des périodes pour représenter la distance entre deux dates.

Supposons que nous ayons deux dates, exactement à 6 mois l'une de l'autre:

var date1 = LocalDate.parse("2018-06-25") var date2 = LocalDate.parse("2018-12-25")

Maintenant, nous pouvons représenter la distance entre ces deux dates en utilisant la méthode entre Période :

var period = Period.between(date1, date2)

La variable de période produira ce qui suit :

assertThat(period.toString()).isEqualTo("P6M")

P signifie Période et 6M signifie 6 mois.

6. Conclusion

Dans cet article, nous avons appris les bases de l'utilisation des dates dans Kotlin.

Nous avons examiné comment créer des instances de date à l'aide de diverses méthodes et comment reformater des objets de date en textes lisibles.

De plus, nous avons examiné l'extraction de composants à partir d' objets Date et enfin comment travailler avec des périodes dans Kotlin.

Le code utilisé dans ce didacticiel est disponible à l'adresse over sur GitHub.