Tôi chỉ đơn giản là cố gắng chuyển đổi một chuỗi ngày thành một đối tượng DateTime trong Java 8. Khi chạy các dòng sau:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDateTime dt = LocalDateTime.parse("20140218", formatter);
Tôi nhận được lỗi sau đây:
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)
Cú pháp giống hệt với những gì đã được đề xuất ở đây , nhưng tôi được phục vụ với một ngoại lệ. Tôi đang sử dụng JDK-8u25
.
LocalDate
và khôngLocalDateTime
. Vấn đề là tôi đã tạo raDateTimeFormatter
cách sử dụng của mình.withResolverStyle(ResolverStyle.STRICT);
, vì vậy tôi phải sử dụng mẫu ngàyuuuuMMdd
thay vìyyyyMMdd
(tức là "năm" thay vì "năm của thời đại")!