无法从 TemporalAccessor 获取 ZonedDateTime:

我有以下格式的日期,我需要对其进行解析并转换为纪元时间。


2018-11-08 08:17:18.696124


我有以下代码。


String dateString = "2018-11-08 08:17:18.696124";

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");

ZonedDateTime dateTime = ZonedDateTime.parse(dateString, fmt); 

当我运行时,我收到以下错误。


无法解析文本“2018-11-08 08:17:18.696124”:无法从 TemporalAccessor 获取 ZonedDateTime:{},ISO 解析为 java.time.format.Parsed 类型的 2018-11-08T08:17:18.696124


对我在这里做错了什么有任何帮助吗?


烙印99
浏览 170回答 1
1回答

天涯尽头无女友

顾名思义,分区日期时间需要一个区域。您的时间戳格式不包括一个,因此解析失败。您应该解析为 aLocalDateTime然后应用正确的区域。例如:String dateString = "2018-11-08 08:17:18.696124";DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSSSSS");LocalDateTime dateTime = LocalDateTime.parse(dateString, fmt);ZonedDateTime london = dateTime.atZone(ZoneId.of("Europe/London"));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java