Conversion de format de date incorrect : dépannage de l'analyse de la date
Problème : Conversion d'une date en Java d'un format à un autre donne un mois inexact.
Entrée et sortie attendue :
Exemple de code :
String dateStr = "2011-12-15"; String fromFormat = "yyyy-mm-dd"; String toFormat = "dd MMMM yyyy"; try { DateFormat fromFormatter = new SimpleDateFormat(fromFormat); Date date = (Date) fromFormatter.parse(dateStr); DateFormat toformatter = new SimpleDateFormat(toFormat); String result = toformatter.format(date); } catch (ParseException e) { e.printStackTrace(); }
Diagnostic :
Le problème immédiat se situe dans le Variable "fromFormat". Dans le code, il est défini par erreur sur "aaaa-mm-jj", ce qui s'attend à ce que "mm" représente les minutes. Cependant, un format de date doit utiliser "MM" pour désigner les mois.
Solution :
Pour résoudre le problème et obtenir le mois correct, la variable "fromFormat" doit être modifié comme suit :
String fromFormat = "yyyy-MM-dd";
En effectuant cette correction, le programme reconnaîtra correctement "MM" comme mois, garantissant que la date est analysée avec la valeur de mois appropriée. Cela aboutira par la suite à la sortie attendue du « 15 décembre 2011 ».
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!