Maison > Java > javaDidacticiel > le corps du texte

Pourquoi SimpleDateFormat génère-t-il une date incorrecte pour une chaîne \'AAAA-MM-jj HH:mm\' ?

Patricia Arquette
Libérer: 2024-11-02 20:43:02
original
424 Les gens l'ont consulté

Why Does SimpleDateFormat Generate an Incorrect Date for a

SimpleDateFormat génère une date/heure incorrecte pour AAAA-MM-jj HH:mm chaîne

Problème :

L'analyse d'une chaîne au format « AAAA-MM-jj HH:mm » à l'aide de SimpleDateFormat donne une date inattendue.

Exemple :

<code class="java">Date newDate = null;
String dateTime = "2013-03-18 08:30";
SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd HH:mm", Locale.ENGLISH);
df.setLenient(false);
try {
    newDate = df.parse(dateTime);
} catch (ParseException e) {
    throw new InvalidInputException("Invalid date input.");
}</code>
Copier après la connexion

Résultat réel :

Dim. 30 décembre 08:30:00 EST 2012

Résultat attendu :

18/03/2013 08:30:00

Résolution :

Le problème réside dans la chaîne de modèle SimpleDateFormat. Le spécificateur de format pour l'année doit être "aaaa" au lieu de "AAAA".

Code corrigé :

<code class="java">SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);</code>
Copier après la connexion

Cette modification garantit que l'année est analysée comme un année à quatre chiffres, correspondant au format attendu "AAAA-MM-jj HH:mm".

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal