Maison > Java > javaDidacticiel > Comment analyser les dates en Java et résoudre l'erreur « java.text.ParseException : date non analysable » ?

Comment analyser les dates en Java et résoudre l'erreur « java.text.ParseException : date non analysable » ?

DDD
Libérer: 2024-11-19 19:26:02
original
958 Les gens l'ont consulté

How to Parse Dates in Java and Resolve the

Analyse de la date avec Java : résolution du problème "java.text.ParseException : date non analysable"

Lors de la tentative d'analyse d'une chaîne de date en Java , il est crucial de s'assurer que le modèle de format de date s'aligne précisément sur la chaîne d'entrée. Dans votre cas, l'exception "java.text.ParseException : Unparseable date" suggère une inadéquation entre le modèle et l'entrée.

Votre modèle d'origine, "MMM d, aaaa HH:mm:ss", suppose le la date est au format "01 juin 2013 12:53:10". Cependant, la chaîne de saisie inclut des informations supplémentaires, notamment "Sat" pour le jour de la semaine et "IST" pour le fuseau horaire.

Solution :

Pour résoudre ce problème, mettez à jour le modèle de format de date pour qu'il corresponde avec précision à la chaîne d'entrée. Le modèle corrigé est :

SimpleDateFormat sdf = new SimpleDateFormat("EE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);
Copier après la connexion

Ce modèle comprend :

  • EE : Jour de la semaine (par exemple, "Sat")
  • MMM : Trois- lettre abréviation du mois (par exemple, "Jun")
  • dd : jour du mois (par exemple, "01")
  • HH : heure au format 24 heures (par exemple, "12")
  • mm : Minute (par exemple, "53")
  • ss : Seconde (par exemple, "10")
  • z : Abréviation de fuseau horaire (par exemple, "IST")
  • aaaa : Année (par exemple, "2013")

Impression du format souhaité :

Une fois la date analysée avec succès en utilisant le bon modèle, vous pouvez obtenir le format de sortie souhaité à l'aide d'une instance SimpleDateFormat distincte :

Date parsedDate = sdf.parse(date);
SimpleDateFormat print = new SimpleDateFormat("MMM d, yyyy HH:mm:ss");
System.out.println(print.format(parsedDate));
Copier après la connexion

Remarques :

  • Pour éviter les problèmes spécifiques aux paramètres régionaux, spécifiez explicitement Locale.ENGLISH comme paramètres régionaux du SimpleDateFormat utilisé pour l'analyse.
  • Si la chaîne d'entrée contient une abréviation de fuseau horaire ambiguë comme « IST », il est recommandé d'inclure le nom complet du fuseau horaire à la place.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal