Maison >Java >javaDidacticiel >Pourquoi mon analyse SimpleDateFormat échoue-t-elle lorsque j'utilise « mm » au lieu de « MM » ?
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!