Format non valide question chaîne d'analyse de JodaTime
String dateString = "20110706 1607";
DateTimeFormatter dateStringFormat = DateTimeFormat.forPattern("YYYYMMDD HHMM");
DateTime dateTime = dateStringFormat.parseDateTime(dateString);
Résultant stacktrace:
Exception in thread "main" java.lang.IllegalArgumentException: Invalid format: "201107206 1607" is malformed at " 1607"
at org.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:644)
at org.joda.time.convert.StringConverter.getInstantMillis(StringConverter.java:65)
at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:171)
at org.joda.time.DateTime.<init>(DateTime.java:168)
......
Toute pensée? Si je tronquer la chaîne de 20110706 avec motif "AAAAMMJJ" il fonctionne, mais j'ai besoin de l'heure et les minutes. Ce qui est bizarre, c'est que je peux convertir un Jodatime DateTime une Chaîne en utilisant le même modèle "AAAAMMJJ HHMM" sans problème
Merci pour regarder
Ne pense pas que ce soit le problème, mais la deuxième série de "MM" doit être "mm"
Le texte dans le message d'erreur ne correspond pas à la chaîne que vous avez donné est - il vraiment un deuxième 2 dans l'année/mois/jour de la partie? (201107206)
Problème résolu, je n'étais pas à l'aide de la mise en forme correcte modèle qui introduit de nouveaux personnages dans l'dateString (voir stacktrace). Je vous remercie, Monsieur Skeet!
Le texte dans le message d'erreur ne correspond pas à la chaîne que vous avez donné est - il vraiment un deuxième 2 dans l'année/mois/jour de la partie? (201107206)
Problème résolu, je n'étais pas à l'aide de la mise en forme correcte modèle qui introduit de nouveaux personnages dans l'dateString (voir stacktrace). Je vous remercie, Monsieur Skeet!
OriginalL'auteur Zugdud | 2011-08-16
Vous devez vous connecter pour publier un commentaire.
Regarder votre profil - vous êtes en précisant "MM" deux fois. Ça ne peut pas être de droite. Ce serait d'essayer d'analyser le même domaine (mois dans ce cas) deux fois à partir de deux différents bits du texte. Qui voudriez-vous attendre à gagner? Vous souhaitez:
Regarder la documentation de
DateTimeFormat
pour voir ce que tout les moyens.Noter que bien que l'appel de
toString
avec ce modèle va produire une chaîne de caractères, il ne produira pas la chaîne que vous voulez. Je ne serais pas surpris si la sortie même inclus "AAAA" et "DD" en raison de la boîte, bien que je ne peux pas le tester dès maintenant. À tout le moins, vous auriez les mois deux fois à la place des procès-verbaux qui apparaissent à la fin.OriginalL'auteur Jon Skeet