以下代码引发DateTimeParseException:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
ZonedDateTime dt = ZonedDateTime.parse(
"2019-01-01",
formatter.withZone(ZoneId.of("UTC"))
)
它还会引发异常
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
ZonedDateTime dt = ZonedDateTime.parse(
"2019-01-01",
formatter)
)
也是
DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE;
ZonedDateTime dt = ZonedDateTime.parse(
"2019-01-01",
formatter)
)
[SimpleDateFormat
解析器工作正常,但是-我正在辩论使用它,即使它不是线程安全的,并且(我相信吗?)计划不推荐使用。
显然,我更喜欢使用java.time API,但是即使在网上阅读了文档记录的示例之后,我也无法使此功能正常工作。我该怎么办?
ZonedDateTime
必须包含日期和时间;您的输入2019-01-01
仅包含日期。
因此,您应该改用LocalDate
,或修改您的输入以添加时间,例如2019-01-01T00:00:00Z