java SimpleDateFormat
en Java, comment analyser une chaîne de date qui contient une lettre qui ne représentent pas un modèle?
"2007-11-02T14:46:03+01:00"
Chaîne de caractères date ="2007-11-02T14:46:03+01:00"; Format de chaîne de caractères = "yyyy-MM-ddTHH:mm:ssz"; new SimpleDateFormat(format).analyser le(date); Exception in thread "main" java.lang.IllegalArgumentException: Illégal modèle de caractère 'T' à java.texte.SimpleDateFormat.compiler(SimpleDateFormat.java:769) à java.texte.SimpleDateFormat.initialiser(SimpleDateFormat.java:576) à java.texte.SimpleDateFormat.(SimpleDateFormat.java:501) à java.texte.SimpleDateFormat.(SimpleDateFormat.java:476)
Notez que la question sur l'analyse de la norme ISO 8601 dates est l'un des plus fréquemment posées et répond à la question. Recherche pour "Java ISO 8601 date" ou quelque chose de similaire et vous trouverez de nombreuses réponses.
Par exemple: stackoverflow.com/questions/6279647/...
Par exemple: stackoverflow.com/questions/6279647/...
OriginalL'auteur user775187 | 2011-06-20
Vous devez vous connecter pour publier un commentaire.
Le temps que vous essayez d'analyser semble être dans Format ISO 8601.
SimpleDateFormat
malheureusement ne supporte pas tous le même fuseau horaire prescripteurs comme la norme ISO 8601. Si vous voulez être en mesure de traiter correctement toutes les formes spécifiées dans l'ISO, la meilleure chose à faire est d'utiliser Joda time.Cet exemple est tout droit sorti de la guide de l'utilisateur:
vous avez raison, la version ISO n'aime pas les virgules. La bonne nouvelle est que vous pouvez passer à la version avec des points directement à la
DateTime
constructeur.OriginalL'auteur Brad Mace
Vous pouvez essayer
De référence : à partir de Javadoc
ce qui est vrai ou si elle doit être
String date ="2007-11-02T14:46:03+0100";
SimpleDateTime
est assez limité dans de telles situations, un je suppose que si vous(OP) n'ont pas beaucoup de contrôle sur l'entrée, à l'aide des bibliothèques comme joda time fonctionnerait mieux.OriginalL'auteur Bala R
Vous pouvez essayer semblables à celles de la
Vous pouvez utiliser la suite lien de référence
OriginalL'auteur gmhk
Si vous n'avez pas de soins sur le fuseau horaire, vous pouvez utiliser cette méthode.
Je ne sais pas si c'est encore utile pour vous, mais je rencontre le même problème, et après un peu je viens avec cela.
OriginalL'auteur j2gl