如何用毫秒解析 ZonedDateTime

问题描述

Jira 通过 Rest API 给我这个日期格式:
2021-01-21T11:08:45.000+0100

如何在 Java 中将其解析为 LocalDateTime

我试过了

zoneddatetime.parse("2021-01-21T11:08:45.000+0100",DateTimeFormatter.ISO_OFFSET_DATE_TIME);

或者这个:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
zoneddatetime.parse("2021-01-21T11:08:45.000+0100"),formatter);

结果是DateTimeParseException

解决方法

由于您的值中的区域偏移采用 +0100 格式,因此无法使用任何预定义的格式化程序(如 DateTimeFormatter.ISO_OFFSET_DATE_TIME)对其进行解析,因为它期望它采用 {{1} 格式}

您可以使用模式 +01:00

解析 2021-01-21T11:08:45.000+0100
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"

ZonedDateTime.parse("2021-01-21T11:08:45.000+0100",DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ")) 的引用是 here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...