Java 8에서 날짜 문자열을 DateTime 객체로 변환하려고합니다. 다음 줄을 실행할 때 :
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDateTime dt = LocalDateTime.parse("20140218", formatter);
다음과 같은 오류가 발생합니다.
Exception in thread "main" java.time.format.DateTimeParseException:
Text '20140218' could not be parsed:
Unable to obtain LocalDateTime from TemporalAccessor:
{},ISO resolved to 2014-02-18 of type java.time.format.Parsed
at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1918)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1853)
at java.time.LocalDateTime.parse(LocalDateTime.java:492)
구문은 여기 에 제안 된 것과 동일 하지만 예외가 있습니다. 사용하고 JDK-8u25
있습니다.
LocalDate
하지 않을 때도 동일한 문제가 발생했습니다LocalDateTime
. 문제는 내가DateTimeFormatter
using 을 만들었 기.withResolverStyle(ResolverStyle.STRICT);
때문에uuuuMMdd
대신 날짜 패턴을 사용해야했습니다yyyyMMdd
(예 : "연도"대신 "연도")!