Maison >Java >javaDidacticiel >Pourquoi mon analyse SimpleDateFormat échoue-t-elle lorsque j'utilise « mm » au lieu de « MM » ?

Pourquoi mon analyse SimpleDateFormat échoue-t-elle lorsque j'utilise « mm » au lieu de « MM » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-14 20:23:11334parcourir

Why Does My SimpleDateFormat Parse Fail When Using

Analyse des chaînes formatées par date avec SimpleDateFormat

Lors de l'analyse d'une chaîne de date à l'aide de SimpleDateFormat, il est crucial de respecter les modèles de date et d'heure corrects. Un piège courant est l'utilisation de "mm" pour les mois au lieu de "MM".

Considérez le code suivant :

SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss");
String str = "2010-06-13T00:00:00";
Date date = sf.parse(str);
System.out.println(" Date " + date.toString());

Ici, nous avons l'intention d'analyser la chaîne "2010-06 -13T00:00:00" au 13 juin 2010. Cependant, la sortie indique "Mercredi 13 janvier 00:00:00 EST 2010" à la place. Cela se produit car le format de date spécifié dans l'objet SimpleDateFormat utilise "mm" pour les mois.

Pour résoudre ce problème, nous devons remplacer "mm" par "MM" pour indiquer les mois. Le code corrigé ci-dessous :

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
...

Avec cette modification, le code analyse correctement la chaîne d'entrée comme "Mercredi 13 juin 00:00:00 EST 2010". N'oubliez pas que le « MM » majuscule dans les modèles SimpleDateFormat représente les mois, tandis que « mm » représente les minutes.

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