Maison >Java >javaDidacticiel >Pourquoi l'analyse d'une chaîne de date avec 'T' en Java génère-t-elle une exception 'Caractère de modèle illégal 'T'' ?
Caractère de modèle illégal « T » lors de l'analyse de la chaîne de date en java.util.Date
Lors de la tentative d'analyse d'une chaîne de date selon un standard date à l'aide de l'API Java Date, vous pouvez rencontrer une exception avec le message suivant : "Caractère de modèle illégal 'T'". Cette erreur se produit car le modèle spécifié pour l'analyse inclut le caractère "T", qui n'est pas reconnu comme un caractère de modèle valide.
Cause :
Le "T" Le caractère dans la chaîne de date représente le séparateur d'heure entre les composants de date et d'heure. Toutefois, le modèle SimpleDateFormat par défaut n’inclut pas ce caractère. En conséquence, l'analyseur l'interprète comme un caractère de modèle illégal.
Solution :
Pour résoudre ce problème, il existe deux approches principales :
1. Modèle personnalisé :
Vous pouvez spécifier un modèle personnalisé qui inclut le caractère « T » comme séparateur de temps. Par exemple :
String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
2. Échapper aux guillemets simples :
Vous pouvez également échapper au caractère "T" à l'aide de guillemets simples. De cette façon, il sera traité comme un caractère littéral plutôt que comme un caractère de modèle.
String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";
Notes supplémentaires :
String input = "2010-10-02T12:23:23Z"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'"); LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
Application de l'une de ces méthodes devrait vous permettre d'analyser avec succès les chaînes de date avec le caractère "T" comme séparateur d'heure.
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!