Problème de conversion du format de date Java : mois incorrect lors de la conversion
En Java, lors de la conversion de dates entre différents formats, il est essentiel d'utiliser le bon spécificateurs de format pour garantir des conversions précises. Dans ce cas, le problème provient d'un spécificateur de format incorrect dans la chaîne de format de date d'entrée.
Problème :
L'extrait de code suivant tente de convertir une date du format "aaaa-mm-jj" au format "jj MMMM aaaa". Cependant, la conversion mensuelle résultante est incorrecte.
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(); }
Résultat attendu :
"15 décembre 2011"
Résultat réel :
"15 janvier 2011"
Spécificateur de format incorrect :
Le problème est dû à l'utilisation de "mm" dans la chaîne de format de date d'entrée. En Java SimpleDateFormat, "mm" représente les minutes et non les mois. Pour spécifier les mois, le spécificateur de format correct est "MM".
Solution :
Pour résoudre ce problème, mettez simplement à jour la chaîne de format de date d'entrée pour utiliser "MM". pendant des mois :
String fromFormat = "yyyy-MM-dd";
Résultat correct :
Après avoir effectué cette modification, le code L'extrait produira la conversion mensuelle correcte : "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!