Java 8 - DateTimeFormatter和ISO_INSTANT与ZonedDateTime的问题
Java 8 - DateTimeFormatter和ISO_INSTANT与ZonedDateTime的问题
所以我期望这段代码在新的Java 8日期/时间包下能够工作,因为它只是将给定的ZonedDateTime转换为字符串,然后再使用相同的内置DateTimeFormatter实例(ISO_INSTANT)将其转换回来:
ZonedDateTime now = ZonedDateTime.now(); System.out.println(ZonedDateTime.parse( now.format(DateTimeFormatter.ISO_INSTANT), DateTimeFormatter.ISO_INSTANT));
但显然它并没有起作用:
Exception in thread "main" java.time.format.DateTimeParseException: 无法解析文本'2014-09-01T19:37:48.549Z':无法从TemporalAccessor获取ZonedDateTime:{MilliOfSecond=549, NanoOfSecond=549000000, MicroOfSecond=549000, InstantSeconds=1409600268},类型为java.time.format.Parsed at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1918) at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1853) at java.time.ZonedDateTime.parse(ZonedDateTime.java:597)
我已经看过这个条目了,但它并没有帮助我,因为我需要一个ZonedDateTime对象而不是一个本地对象,而且我已经安装了8u20:Unable to obtain ZonedDateTime from TemporalAccessor using DateTimeFormatter and ZonedDateTime in Java 8
有人知道这里发生了什么吗?