4
String dateString = "20110706 1607";
DateTimeFormatter dateStringFormat = DateTimeFormat.forPattern("YYYYMMDD HHMM");
DateTime dateTime = dateStringFormat.parseDateTime(dateString);
得到的堆栈跟踪:格式无效问题解析字符串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)
......
有什么想法?如果我用字符串“YYYYMMDD”将字符串截断为20110706,它可以工作,但我需要小时和分钟值。有什么奇怪的是,我可以用相同模式“年月日HHMM”一Jodatime日期时间转换为字符串没有问题
感谢你的格局看
不要认为这是问题,但第二套“MM”应该是“mm” – Jim
错误消息中的文本与您给出的字符串不匹配 - 是否有*真的*第二个2在年/月/日部分? (201107206) –
问题解决了,我没有使用在dateString中引入附加字符的正确格式模式(请参阅stacktrace)。谢谢Skeet先生! – Hoofamon