ฉันแค่พยายามแปลงสตริงวันที่ให้เป็นวัตถุ DateTime ใน Java 8 เมื่อรันบรรทัดต่อไปนี้:
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
ใช้.withResolverStyle(ResolverStyle.STRICT);
งานดังนั้นฉันจึงต้องใช้รูปแบบวันที่uuuuMMdd
แทนyyyyMMdd
(เช่น "ปี" แทน "ปีแห่งยุค")!