Java 不可剥夺的日期:“;2013-07-11T13:41:22.000Z“;(在偏移量23处)

Java 不可剥夺的日期:“;2013-07-11T13:41:22.000Z“;(在偏移量23处),java,Java,谁能告诉我为什么我会有这个例外 08-28 08:47:05.246:D/DateParser(4238):接收到用于解析的字符串为 2013-08-05T12:13:49.000Z 时间字符串中的Z不是有效的时区标识符,但您指定的时间格式需要一个时区标识符。更具体地说,它需要一个标识符,通常为4位长。在格式字符串的末尾使用X而不是Z: yyyy-MM-dd'T'HH:mm:ss.SSSX 解析ISO-8601格式的时区偏移 (仅在使用Java 7时有效。请参阅)。尝试使用 String DA

谁能告诉我为什么我会有这个例外

08-28 08:47:05.246:D/DateParser(4238):接收到用于解析的字符串为 2013-08-05T12:13:49.000Z


时间字符串中的
Z
不是有效的时区标识符,但您指定的时间格式需要一个时区标识符。更具体地说,它需要一个标识符,通常为4位长。

在格式字符串的末尾使用
X
而不是
Z

yyyy-MM-dd'T'HH:mm:ss.SSSX
解析ISO-8601格式的时区偏移

(仅在使用Java 7时有效。请参阅)。

尝试使用

String DATE_FORMAT_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"

末尾的
Z
通常是时区偏移。如果你不需要它,也许你可以把它放在两边。

从java-8你可以直接使用
ZoneDateTime
Instant
,如果它在

String DATE_FORMAT_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
ZonedDateTime.parse("2013-08-05T12:13:49.000Z")

Instant.parse("2013-08-05T12:13:49.000Z")