为了账号安全,请及时绑定邮箱和手机立即绑定

无法从 TemporalAccessor 获取 ZonedDateTime:

无法从 TemporalAccessor 获取 ZonedDateTime:

烙印99 2022-01-19 09:38:45
我有以下格式的日期,我需要对其进行解析并转换为纪元时间。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对我在这里做错了什么有任何帮助吗?
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

顾名思义,分区日期时间需要一个区域。您的时间戳格式不包括一个,因此解析失败。


您应该解析为 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"));


查看完整回答
反对 回复 2022-01-19
  • 1 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信