【发布时间】:2019-02-14 20:08:05
【问题描述】:
以下工作完美:
String startDate = "2019-10-12T00:00:00.000-07:00"
LocalDateTime startDateTime = LocalDateTime.parse(startDate,
DateTimeFormatter.ISO_ZONED_DATE_TIME);
但是,对于以下代码:
String startDate = "2019-10-12T00:00:00.000+07:00"
LocalDateTime startDateTime = LocalDateTime.parse(startDate,
DateTimeFormatter.ISO_ZONED_DATE_TIME);
我得到一个例外:
投掷
java.time.format.DateTimeParseException:无法在索引 23 处解析文本“2019-10-12T00:00:00.000 07:00”
有人可以帮我理解这里可能有什么问题吗?
【问题讨论】:
-
请花一些时间熟悉编辑器并正确格式化您的问题,谢谢。
-
投票结束,无法复制。创建一个minimal reproducible example。此外,错误消息与您显示的代码不符。该消息在区域中没有
+或-,而是一个空格。错误消息很可能来自您未在此处显示的代码版本。 IE。消息中带有 空格 的版本,而不是+或-。这显然是错误的,因为这部分是为了告诉时间偏移,所以要么+要么-相关。 -
我打赌
2019-10-12T00:00:00.000+07:00日期字符串是一个URL查询字符串参数,+被解码为空格,因为+应该被编码为%2B。我能想到+被转换为空格的唯一原因。 -
@Andreas 如果您愿意,您似乎可以将其作为答案发布。
标签: java date datetime parsing java-8