我只是想将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
(即“ year”而不是“ year-of-era”)!