我有以下代码:
String dateInString = "2016-09-18T12:17:21:000Z";
Instant instant = Instant.parse(dateInString);
ZonedDateTime zonedDateTime = instant.atZone(ZoneId.of("Europe/Kiev"));
System.out.println(zonedDateTime);
它给了我以下例外:
线程“主”java.time.format.DateTimeParseException 中的异常:无法在 java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java: 1949) 在 java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) 在 java.time.Instant.parse(Instant.java:395) 在 core.domain.converters.TestDateTime.main(TestDateTime.java:10 )
当我将最后一个冒号更改为句号时:
String dateInString = "2016-09-18T12:17:21.000Z";
…然后执行顺利:
2016-09-18T15:17:21+03:00[欧洲/基辅]
所以,问题是 - 如何用Instant
and解析日期DateTimeFormatter
?