La gestion des dates en Java peut être complexe et très verbeuse. Nous allons découvrir ici des moyens faciles, courtes et performantes quant à son utilisation.
Récupération de la date uniquement :
// Version de java >= 8, préférer :
LocalDate localDate = LocalDate.now();
System.out.println(localDate); // 2020-01-06
// Version de java < 8 :
Date date = new Date();
System.out.println(date); // Mon Jan 06 12:54:00 CET 2020
Récupération de la date et l'heure :
// Version de java >= 8, préférer :
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime); // 2020-01-06T12:54:17.797651300
// Version de java < 8 :
Date date = new Date();
System.out.println(date); // Mon Jan 06 12:54:00 CET 2020
Utilisation d'un format de date non générique :
// Version de java >= 8, préférer :
LocalDateTime localDateTime = LocalDateTime.now();
// Format de la date attendue en sortie
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy hh:mm");
System.out.println(formatter.format(localDateTime)); // 19-01-2020 12:54
// Version de java < 8 :
Date date = new Date();
// Format de la date attendue en sortie
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm");
System.out.println(simpleDateFormat.format(date)); // 19-01-2020 12:54
Utilisation d'un format de date générique :
// Version de java >= 8, préférer :
LocalDateTime localDateTime = LocalDateTime.now();
// Format de la date attendue en sortie
DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE;
System.out.println(formatter.format(localDateTime)); // 2020-01-19
Remarque : Les paternes sont expliqués plus bas dans cet article.
Utilisation d'un format de date non générique :
// Version de java >= 8, préférer :
// Date a transformer
String dateToConvert2 = "2020-01-06 15:40";
// Format de la date
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
// Transformation et affichage
LocalDateTime dateTime2 = LocalDateTime.parse(dateToConvert2, formatter2);
System.out.println(dateTime2); // 2020-01-06T15:40
// Version de java < 8 :
// Date a transformer
String dateToConvert2 = "2020-01-06 15:40";
// Format de la date
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
// Transformation et affichage
Date date2 = simpleDateFormat2.parse(dateToConvert2);
System.out.println(date2); // Mon Jan 06 15:40:00 CET 2020
Utilisation d'un format de date générique :
// Version de java >= 8, préférer :
// Date a transformer
String dateToConvert3 = "2020-01-19T15:40:10";
// Format de la date
DateTimeFormatter formatter3 = DateTimeFormatter.ISO_LOCAL_DATE_TIME ;
// Transformation et affichage
LocalDateTime dateTime3 = LocalDateTime.parse(dateToConvert3, formatter3);
System.out.println(dateTime3); // 2020-01-19T15:40
Remarque : Les paternes sont expliqués plus bas dans cet article.
Les différents symboles pour la gestion des dates sont les suivants (non exhaustif) :
Le nombre de lettre utilisé pour chaque symbole détermine le format.
La liste complète est disponible à ces adresses :
LauLem.com - Conditions Générales d'Utilisation - Informations Légales - Charte relative aux cookies - Charte sur la protection des données personnelles - A propos