SimpleDateFormat n'affiche pas correctement les mois
Lorsque vous travaillez avec des dates, il est crucial que les données soient converties avec précision. Cependant, lors de l'utilisation de SimpleDateFormat de Java pour analyser les dates extraites d'Active Directory (AD), un problème peut survenir lorsque toutes les dates sont incorrectement attribuées à janvier.
Le problème
Dans l'extrait de code fourni, SimpleDateFormat est initialisé avec la chaîne de modèle suivante :
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");
Cette chaîne de modèle spécifie le format attendu de la chaîne de date : année (aaaa), mois (MM) et jour ( DD). Cependant, la valeur parsedDate affiche systématiquement le mois de janvier, quel que soit le mois réel inclus dans la date AD.
La solution
Le problème réside dans l'utilisation de "MM" majuscule dans la chaîne de modèle. Dans SimpleDateFormat, "MM" majuscule représente le mois sous forme de nom complet, tandis que "MM" minuscule représente le mois sous forme de nombre à deux chiffres.
Pour corriger ce problème, la chaîne de modèle doit être modifiée pour utiliser des minuscules. "MM":
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
En utilisant "MM" minuscule, SimpleDateFormat analysera correctement le mois sous la forme d'un nombre à deux chiffres, éliminant ainsi le problème de janvier cohérent.
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!