Java 使用DateTimeFormatter的简单自定义格式

Java 使用DateTimeFormatter的简单自定义格式,java,scala,Java,Scala,我希望使用datatimeformatter为以下内容提供一种非常简单的格式: 1 1 1976这是d M yyyy格式 工作原理: val format = new SimpleDateFormat("d M yyyy") format.parse("1 1 1976") 但是 投掷 '1 1 1976' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to

我希望使用datatimeformatter为以下内容提供一种非常简单的格式:

1 1 1976这是d M yyyy格式

工作原理:

val format = new SimpleDateFormat("d M yyyy")
format.parse("1 1 1976")
但是

投掷

'1 1 1976' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 1976-01-01 of type java.time.format.Parsed 

我不确定使用Java 8 time的最佳方式是什么

使用
LocalDate
而不是
LocalDateTime
解决您的问题

val format = DateTimeFormatter.ofPattern("d M yyyy");
val date = LocalDate.parse("1 1 1976", format);
System.out.println(date);

为了将来的参考,在这里发布之前,请在谷歌上搜索错误消息。
“无法从TemporalAccessor获取LocalDateTime”
的第一个结果是回答您问题的现有SO帖子。此外,StackOverflow的搜索功能非常糟糕,而且由于谷歌在索引SO方面做得非常好,SO开发者没有压力改进搜索或复制位置:-(
val format = DateTimeFormatter.ofPattern("d M yyyy");
val date = LocalDate.parse("1 1 1976", format);
System.out.println(date);