DateTimeParseException:无法解析文本:无法从TemporalAccessor获取LocalDateTime

gst*_*low 8 java datetime datetime-format localdate

LocalDateTime.parse("2017-02-02 08:59:12", DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"));
Run Code Online (Sandbox Code Playgroud)

它打印错误:

java.time.format.DateTimeParseException: Text '2017-02-02 08:59:12' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {MinuteOfHour=59, NanoOfSecond=0, SecondOfMinute=12, MicroOfSecond=0, MilliOfSecond=0, HourOfAmPm=8},ISO resolved to 2017-02-02 of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)

Accoeding消息看起来像所有值解析正确,但无论如何我看到错误.

如何让它工作?

Rob*_*per 15

我只能重现你尝试解析时得到的异常LocalDateTime,所以我认为这就是你想要的.

你的错误是使用hh(每小时上午时钟)而不是HH(每小时).这有效:

LocalDateTime ldt = LocalDateTime.parse("2017-02-02 08:59:12", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(ldt);
Run Code Online (Sandbox Code Playgroud)

并打印:

2017-02-02T08:59:12
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,我的错误在于年份模式,我使用了基于周的年份`YYYY`而不是'yyyy` (4认同)