Comment gérer les exceptions d'analyse de chaîne de date
L'analyse de chaînes de date dans des objets Date peut parfois conduire à des exceptions, comme le montre le code suivant :
String target = "Thu Sep 28 20:29:30 JST 2000"; DateFormat df = new SimpleDateFormat("E MM dd kk:mm:ss z yyyy"); Date result = df.parse(target);
Ce code renvoie l'exception suivante :
java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"
La raison de cette erreur est que le modèle utilisé pour l'analyse ne correspond pas au format de la chaîne de date. Plus précisément, le modèle attend une abréviation de jour à 3 lettres (EEE) et une abréviation de mois à 3 lettres (MMM), mais la chaîne de date contient une abréviation de jour à 2 lettres (E) et un nom de mois complet (Sep).
Pour corriger le problème, le modèle doit être mis à jour pour correspondre au format de la chaîne de date :
DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);
De plus, la spécification des paramètres régionaux garantit que les abréviations du jour et du mois sont interprétées correctement, même si les paramètres régionaux par défaut de la plateforme ne sont pas l'anglais.
En utilisant le modèle corrigé, le code analyse désormais avec succès la chaîne de date et renvoie un objet Date représentant la date et l'heure spécifiées dans la chaîne, ajustées pour le fuseau horaire actuel :
Thu Sep 28 07:29:30 BOT 2000
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!