Convertir la date du calendrier au format "aaaa-MM-jj" en Java
En Java, convertir une date du calendrier au format "aaaa- Le format "MM-jj" est une tâche essentielle pour diverses applications.
Incorrect Approche :
L'utilisation de la classe SimpleDateFormat avec le modèle "aaaa-MM-jj" sur un objet Date obtenu à partir d'un calendrier peut ne pas toujours donner le résultat souhaité. Par exemple, l'extrait de code suivant produira "Wed Sep 26 00:00:00 IST 2012" au lieu de "2012-09-26" :
Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); Date date = cal.getTime(); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); String date1 = format1.format(date);
Approche correcte :
Pour convertir correctement une date de calendrier au format "aaaa-MM-jj", vous devez comprendre la différence entre une Date et un LocalDateTime.
Java 8 :
Dans Java 8 et versions ultérieures, vous pouvez utiliser la classe LocalDateTime, qui représente une date et une heure sans heure zone.
LocalDateTime ldt = LocalDateTime.now().plusDays(1); DateTimeFormatter formmat1 = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH); String formatter = formmat1.format(ldt); System.out.println(formatter);
Avant Java 8 :
Si vous utilisez des versions Java antérieures à 8, vous devriez envisager d'utiliser la bibliothèque ThreeTen Backport.
Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); String formatted = format1.format(cal.getTime());
N'oubliez pas que même si le code ci-dessus produit initialement le résultat souhaité chaîne "2012-09-26", son analyse en une date entraînera "mercredi 26 septembre 00:00:00 EST 2012." En effet, Date représente le nombre de millisecondes depuis un moment fixe et son formatage ne modifie que sa représentation sous forme de chaîne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!