Extraction de l'année, du mois et du jour à partir de la date en Java

1. Vue d'ensemble

Dans ce court didacticiel, nous verrons comment extraire l' année , le mois et le jour d'une date donnée en Java.

Nous verrons comment extraire ces valeurs à l'aide de l'ancienne classe java.util.Date et également en utilisant la nouvelle bibliothèque date-heure de Java 8.

Dans Java 8, une toute nouvelle bibliothèque de date et d'heure a été introduite pour un certain nombre de bonnes raisons. Outre d'autres avantages, la nouvelle bibliothèque fournit une meilleure API pour des opérations telles que l'extraction de l' année , du mois , du jour, etc. à partir d'une date donnée .

Et, si vous recherchez un article plus détaillé sur la nouvelle bibliothèque date-heure, jetez un œil ici.

2. Utilisation de Java 7

Pour un java.util.Date donné pour extraire des champs individuels tels que Année , Mois , Jour, etc., la première étape que nous devons faire est de le convertir en instance de calendrier :

Date date = // the date instance Calendar calendar = Calendar.getInstance(); calendar.setTime(date);

Une fois que nous avons une instance de Calendar , nous pouvons directement invoquer sa méthode get et fournir le champ spécifique que nous voulons extraire.

Nous pouvons utiliser les constantes présentes dans Calendar pour extraire des champs spécifiques.

2.1. Obtenir l'année

Pour extraire l' année, nous pouvons invoquer get en passant Calendar.YEAR comme argument:

calendar.get(Calendar.YEAR);

2.2. Obtenir le mois

De même pour extraire le mois, nous pouvons invoquer get en passant Calendar.MONTH comme argument:

calendar.get(Calendar.MONTH);

Veuillez noter que les mois du calendrier sont indexés à zéro; pour janvier, cette méthode renverra 0.

2.3. Get Day

Enfin, pour extraire le jour, nous invoquons get en passant Calendar.DAY_OF_MONTH comme argument:

calendar.get(Calendar.DAY_OF_MONTH);

3. Utilisation de Java 8

Le nouveau package java.time contient un certain nombre de classes qui peuvent être utilisées pour représenter Date .

Chaque classe diffère par les informations supplémentaires qu'elle stocke en plus de la date .

Le LocalDate de base contient uniquement les informations de date, tandis que LocalDateTime contient des informations de date et d'heure.

De même, des classes plus avancées telles que OffsetDateTime et ZonedDateTime contiennent des informations supplémentaires sur le décalage par rapport à UTC et des informations sur le fuseau horaire respectivement.

Dans tous les cas, toutes ces classes prennent en charge des méthodes directes pour extraire les informations Année, Mois et Date.

Explorons ces méthodes pour extraire des informations d' un nom d'instance LocalDate localDate .

3.1. Obtenir l'année

Pour extraire Year, LocalDate fournit simplement une méthode getYear :

localDate.getYear();

3.2. Obtenir le mois

De même, pour extraire Month, nous utilisons l' API getMonthValue :

localDate.getMonthValue();

Contrairement à Calendar , les mois de LocalDate sont indexés à partir de 1; pour janvier, cela reviendra 1.

3.3. Get Day

Enfin, pour extraire Day, nous avons la méthode getDayOfMonth :

localDate.getDayOfMonth();

4. Conclusion

Dans ce tutoriel rapide, nous avons exploré comment extraire les valeurs entières de Year , Month et Day à partir de la date en Java.

Nous avons montré comment extraire ces valeurs à l'aide des anciennes classes Date et Calendar ainsi que de la nouvelle bibliothèque date-heure de Java8.

Le code source complet des extraits de code utilisés dans ce didacticiel est disponible sur Github.