Maison  >  Article  >  Java  >  Pourquoi ma conversion de date Java produit-elle le mauvais mois ?

Pourquoi ma conversion de date Java produit-elle le mauvais mois ?

DDD
DDDoriginal
2024-11-06 08:14:021136parcourir

Why is My Java Date Conversion Producing the Wrong Month?

Problème de conversion du format de date Java : rendu du mois incorrect

Problème rencontré

Lors de la tentative de conversion d'une date d'un format à un autre à l'aide de Java, certains les utilisateurs ont rencontré un problème où le mois n'est pas affiché correctement. Plus précisément, lors de la conversion d'un format tel que « aaaa-mm-jj » en « jj MMMM aaaa », le mois résultant apparaît comme le mois suivant (par exemple, « 01/12/21 » devient « 01 janvier 2021 » au lieu de « 01). Décembre 2021").

Spécification de format incorrecte

La cause première de ce problème réside dans la spécification incorrecte de la chaîne fromFormat. Dans l'exemple fourni, fromFormat est défini comme « aaaa-mm-jj ». Cependant, « mm » dans la classe Java SimpleDateFormat désigne les minutes et non les mois. Pour représenter correctement les mois, le spécificateur de format doit être « MM ».

Code corrigé

Pour résoudre ce problème, le code doit être mis à jour comme suit :

String dateStr = "2011-12-15";
String fromFormat = "yyyy-MM-dd";
String toFormat = "dd MMMM yyyy";

try {
    DateFormat fromFormatter = new SimpleDateFormat(fromFormat);
    Date date = fromFormatter.parse(dateStr);

    DateFormat toFormatter = new SimpleDateFormat(toFormat);
    String result = toFormatter.format(date);
    
    System.out.println(result); // Prints "15 December 2011"
} catch (ParseException e) {
    e.printStackTrace();
}

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn