Maison > Java > javaDidacticiel > Comment réparer \'java.text.ParseException : date non analysable\' lors de l'analyse de dates avec des informations supplémentaires ?

Comment réparer \'java.text.ParseException : date non analysable\' lors de l'analyse de dates avec des informations supplémentaires ?

Susan Sarandon
Libérer: 2024-11-16 10:45:03
original
562 Les gens l'ont consulté

How to Fix

Résolution de l'exception "java.text.ParseException : date non analysable"

L'exception "java.text.ParseException : date non analysable" se produit lorsque l'objet SimpleDateFormat tente d'analyser une chaîne d'entrée qui ne correspond pas à son modèle spécifié. Dans ce cas, la chaîne d'entrée « Sat Jun 01 12:53:10 IST 2013 » ne peut pas être analysée à l'aide du modèle « MMM d, yyyy HH:mm:ss » car la chaîne d'entrée inclut des informations supplémentaires telles que le jour de la semaine. (Sat) et le fuseau horaire (IST).

Solution :

Pour résoudre ce problème, vous devez ajuster à la fois l'analyse et l'impression de la date.

Analyse de date :

  1. Créez un objet SimpleDateFormat avec un modèle qui correspond à la chaîne d'entrée. Dans ce cas, utilisez le modèle suivant :
SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
Copier après la connexion

Ce modèle comprend le jour de la semaine (EE), le mois (MMM), le jour du mois (dd), les heures (HH) , minutes (mm), secondes (ss), fuseau horaire (z) et année (aaaa). Vous pouvez personnaliser ce modèle en fonction de votre format de chaîne d'entrée spécifique.

  1. Analyser la chaîne d'entrée à l'aide de l'objet SimpleDateFormat créé :
Date parsedDate = sdf.parse(date);
Copier après la connexion

Impression de la date :

Après avoir analysé la date, vous devez formater la date pour qu'elle corresponde au résultat souhaité. Créez un deuxième objet SimpleDateFormat avec le modèle souhaité :

SimpleDateFormat print = new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
Copier après la connexion

Ensuite, formatez la date analysée à l'aide de l'objet SimpleDateFormat "print" :

System.out.println(print.format(parsedDate));
Copier après la connexion

Notes supplémentaires :

  • Incluez les paramètres régionaux dans le constructeur SimpleDateFormat. Cela garantit que la date est analysée et imprimée conformément aux conventions culturelles correctes.
  • Utilisez le nom de fuseau horaire approprié dans la chaîne d'entrée au lieu d'abréviations de fuseau horaire ambiguës comme « IST ».

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