Java ISODateTimeFormat.dateTime().parseDateTime()无法解析2015-11-18T00:00:00+;0000
我的字符串格式为“2015-11-18T00:00:00+0000”。我认为它是ISO8601格式,并试图将其解析为JodaJava ISODateTimeFormat.dateTime().parseDateTime()无法解析2015-11-18T00:00:00+;0000,java,jodatime,Java,Jodatime,我的字符串格式为“2015-11-18T00:00:00+0000”。我认为它是ISO8601格式,并试图将其解析为JodaDateTime实例,但它告诉我它的格式不正确: String toParse = "2015-11-18T00:00:00+0000"; DateTime date = ISODateTimeFormat.dateTime().parseDateTime(toParse); 我得到了这个错误: java.lang.IllegalArgumentException:无效格
DateTime
实例,但它告诉我它的格式不正确:
String toParse = "2015-11-18T00:00:00+0000";
DateTime date = ISODateTimeFormat.dateTime().parseDateTime(toParse);
我得到了这个错误:
java.lang.IllegalArgumentException:无效格式:“2015-11-18T00:00:00+0000”在“+0000”处格式不正确
如何将上述字符串转换为
DateTime
?方法ISODateTimeFormat.DateTime()
需要输入中缺少的毫秒部分。解决方案:使用该方法
如果要保留输入中包含的偏移量(+0000),则还需要在格式化程序上调用
withOffsetParsed()
。可能重复的@Malkus不是重复的,至少与给定的链接无关。这是一个Joda特有的问题,请看我的答案。@Malkus这绝不是重复的,而是关于不同的框架
String input = "2015-11-18T00:00:00+0000";
DateTime dt = ISODateTimeFormat.dateTimeNoMillis().parseDateTime(input);
System.out.println(dt); // 2015-11-18T01:00:00.000+01:00 (using offset of default timezone)