String dateString = "20110706 1607";
DateTimeFormatter dateStringFormat = DateTimeFormat.forPattern("YYYYMMDD HHMM");
DateTime dateTime = dateStringFormat.parseDateTime(dateString);
résultant stacktrace:problème de format non valide chaîne à l'analyse syntaxique JodaTime
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 tronque la chaîne à 20110706 avec le motif "YYYYMMDD" cela fonctionne, mais j'ai aussi besoin des valeurs des heures et des minutes. Ce qui est étrange 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 la recherche
Ne pensez pas que ce soit le problème, mais le deuxième ensemble de "MM" devrait être "mm" – Jim
Le texte dans le message d'erreur ne correspond pas à la chaîne que vous avez donné - est-il * vraiment * une seconde 2 dans la partie année/mois/jour? (201107206) –
Problème résolu, je n'utilisais pas le modèle de formatage correct qui introduisait des caractères supplémentaires dans la chaîne dateString (voir stacktrace). Merci M. Skeet! – Hoofamon