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