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

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 allons voir comment extraire lesyear,month etday  d'un JavaDate in donné.

Nous allons voir comment extraire ces valeurs à l'aide de l'ancienne classejava.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 unnumber of good reasons. Outre d'autres avantages,the new library provides a better API for operations such as extracting Year, Month, Day etc. from given Date.

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

2. Utiliser Java 7

Pour unjava.util.Date donné, extraire des champs individuels tels queYear,Month,Day etc. la première étape que nous devons faire est de le convertir en instanceCalendar:

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

Une fois que nous avons une instanceCalendar , nous pouvons directement invoquer sa méthodeget et fournir le champ spécifique que nous voulons extraire.

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

2.1. Obtenez l'année

Pour extraire lesyear,, nous pouvons invoquerget  en passantCalendar.YEAR comme argument:

calendar.get(Calendar.YEAR);

2.2. Obtenez le mois

De même pour extraire lesmonth,, nous pouvons invoquerget  en passantCalendar.MONTH  comme argument:

calendar.get(Calendar.MONTH);

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

2.3. Get Day

Enfin, pour extraire lesday,, nous invoquonsget  en passantCalendar.DAY_OF_MONTH  comme argument:

calendar.get(Calendar.DAY_OF_MONTH);

3. Utiliser Java 8

Le nouveau packagejava.time contient un certain nombre de classes qui peuvent être utilisées pour représenterDate.

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

LeLocalDate  de base contient simplement les informations de date, tandis queLocalDateTime contient les informations de date et d'heure.

De même, des classes plus avancées telles queOffsetDateTime etZonedDateTime contiennent des informations supplémentaires sur le décalage par rapport àUTC et des informations surtime-zone 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 dea LocalDate instance nomlocalDate.

3.1. Obtenez l'année

Pour extraireYear, LocalDate, il suffit de fournir la méthodea getYear :

localDate.getYear();

3.2. Obtenez le mois

De même, pour extraireMonth, we, utilisezgetMonthValue API:

localDate.getMonthValue();

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

3.3. Get Day

Enfin, pour extraireDay, nous avons la méthodegetDayOfMonth:

localDate.getDayOfMonth();

4. Conclusion

Dans ce rapide didacticiel, nous avons exploré comment extraire des valeurs entières deYear,Month etDay à partir deDate en Java.

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

Le code source complet des extraits de code utilisés dans ce didacticiel estavailable over at Github.