Création d'un LocalDate avec des valeurs en Java

1. Vue d'ensemble

La création d'une date en Java a été redéfinie avec l'avènement de Java 8. En outre, la nouvelle API Date & Time du package java.time peut être utilisée avec facilité par rapport à l'ancienne du package java.util . Dans ce tutoriel, nous verrons en quoi cela fait une énorme différence.

La LocalDate classe du java.time package nous aide à y parvenir. LocalDate est une classe immuable et thread-safe . De plus, un LocalDate ne peut contenir que des valeurs de date et ne peut pas avoir de composant d'heure .

Voyons maintenant toutes les variantes de création d'un avec des valeurs.

2. Créez un LocalDate personnalisé avec sur ()

Examinons quelques façons de créer un LocalDate représentant le 8 janvier 2020. Nous pouvons en créer un en passant des valeurs à la méthode d'usine de :

LocalDate date = LocalDate.of(2020, 1, 8);

Le mois peut également être spécifié à l'aide de l' énumération Month :

LocalDate date = LocalDate.of(2020, Month.JANUARY, 8)

Nous pouvons également essayer de l'obtenir en utilisant le jour de l'époque:

LocalDate date = LocalDate.ofEpochDay(18269);

Et enfin, créons-en un avec les valeurs de l'année et du jour de l'année:

LocalDate date = LocalDate.ofYearDay(2020, 8);

3. Créez un LocalDate en analysant une chaîne

La dernière option consiste à créer une date en analysant une chaîne. Nous pouvons utiliser la méthode parse avec un seul argument pour analyser une date au format aaaa-mm-jj :

LocalDate date = LocalDate.parse("2020-01-08");

Nous pouvons également spécifier un modèle différent pour en obtenir un en utilisant la classe DateTimeFormatter comme deuxième paramètre de la méthode d' analyse :

LocalDate date = LocalDate.parse("8-Jan-2020", DateTimeFormatter.ofPattern("d-MMM-yyyy"));

4. Conclusion

Dans cet article, nous avons vu toutes les variantes de création d'un LocalDate avec des valeurs en Java . Les articles de l'API Date & Time peuvent nous aider à mieux comprendre.

Les exemples sont disponibles à l'adresse over sur GitHub.