Java Joda时区模式的格式错误无效

Java Joda时区模式的格式错误无效,java,datetime,timezone,jodatime,date-format,Java,Datetime,Timezone,Jodatime,Date Format,我不明白为什么以下代码行不适用于Joda Time: DateTime now = new DateTime(); DateTimeFormatter dateTimeFormatter = DateTimeFormat. forPattern("yyyyMMddhhmmss Z"); System.out.println(dateTimeFormatter.print(now)); DateTime d

我不明白为什么以下代码行不适用于Joda Time:

DateTime now = new DateTime();
DateTimeFormatter dateTimeFormatter = DateTimeFormat.
                                              forPattern("yyyyMMddhhmmss Z");
System.out.println(dateTimeFormatter.print(now));
DateTime d = x.parseDateTime("200906031633 -0300");
我得到这个错误:

java.lang.IllegalArgumentException:无效格式:“200006031633-0300”在org.joda.time.format.DateTimeFormatter.parseDateTime的“-0300”处格式不正确(DateTimeFormatter.java:683)

对我来说奇怪的是,
System.out.prinln(dateTimeFormatter.print(现在))很好,并根据图案打印:
20110131101805+0100

有什么问题?从我读到的,这个模式似乎是正确的


谢谢大家!

问题是您在200906031633-0300中缺少秒数。如果我在上面加上秒,它就会工作,如下所示:(200906031633“00”-0300)


问题是您在200906031633-0300中缺少秒数。如果我在上面加上秒,它就会工作,如下所示:(200906031633“00”-0300)


首先,如果希望模式解析该值,则应该使用“HH”而不是“HH”。其次,还需要在值中包含秒数

例如


首先,如果希望模式解析该值,则应该使用“HH”而不是“HH”。其次,还需要在值中包含秒数

例如


是的,刚刚听到。谢谢,是的,我刚听到。谢谢,谢谢你们!多么愚蠢的错误:)谢谢你们的帮助,我想如果没有它,我会再浪费一个小时。谢谢你们!多么愚蠢的错误:)谢谢你的帮助,我想如果没有它,我会再浪费一个小时。
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyyMMddHHmmss Z");    
DateTime d = dateTimeFormatter.parseDateTime("20090603163300 -0300");
DateTime d = dateTimeFormatter.parseDateTime("20090603163300 -0300");