Maison  >  Article  >  Java  >  Pourquoi Java SimpleDateFormat renvoie-t-il systématiquement janvier pour le mois ?

Pourquoi Java SimpleDateFormat renvoie-t-il systématiquement janvier pour le mois ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-24 07:57:30193parcourir

Why Is Java SimpleDateFormat Consistently Returning January for Month?

Java SimpleDateFormat renvoie systématiquement janvier pour le mois

Lorsque vous tentez de convertir une date d'Active Directory en date Java, le résultat affiche systématiquement le mois comme janvier, bien que le mois correct soit spécifié dans la chaîne d'entrée. Ce problème provient d'une incompréhension du format de date utilisé par SimpleDateFormat.

La méthode problématique responsable de la conversion est la suivante :

<code class="java">private Date getParsedDate(String givenString) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");
    Date parsedDate = sdf.parse(givenString);
    return parsedDate;
}</code>

Dans cette méthode, le SimpleDateFormat est initialisé avec le motif "aaaa/MM/JJ", qui représente respectivement l'année, le mois et le jour. Cependant, la chaîne d'entrée d'Active Directory suit un format différent : "aaaaMMjjHHmmss.SSS". La partie problématique est la représentation du mois, qui doit être en minuscule "mm" au lieu de "MM" majuscule.

Pour résoudre ce problème, la chaîne de modèle dans le constructeur SimpleDateFormat doit être remplacée par "aaaa/mm/jj " :

<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");</code>

Avec ce changement, Java SimpleDateFormat convertira correctement la chaîne donnée en un objet Java Date avec la valeur de mois correcte.

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