web-dev-qa-db-ja.com

DateTimeParseException:テキストを解析できませんでした:TemporalAccessorからLocalDateTimeを取得できません

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

エラーを出力します:

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

Accoedingメッセージはすべての値が正しく解析されたように見えますが、とにかくエラーが表示されます。

それを機能させる方法は?

8
gstackoverflow

私は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);

そしてプリント:

2017-02-02T08:59:12
14
Robin Topper