JavaのLocalDateTime.parse()で日付のみを指定したらエラーになりました。回避策も書いておきます。
コード
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime datetime = LocalDateTime.parse("2021-11-01", formatter);
エラー
Exception in thread "main" java.time.format.DateTimeParseException: Text '2021-11-01' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2021-11-01 of type java.time.format.Parsed at java.base/java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:2023) at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1958) at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:494)
一旦LocalDate
でパースし、LocalDateTime
に変換する必要があります。
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate date = LocalDate.parse("2021-11-01", formatter); LocalDateTime datetime = date.atStartOfDay();