无法将日期和时间转换为LocalDateTime [Java]

S.O*_*O.S 3 java datetime date pattern-matching localdate

我正在尝试使用以下代码将字符串转换Wed July 2019 10:53 PMLocalDateTime对象:

String dateAndTimeAsStr = "Wed July 2019 10:53 PM";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMMM yyyy h:mm a");
LocalDateTime dateAndTimeAsLocalDateTime = LocalDateTime.parse(dateAndTimeAsStr, formatter);
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,出现以下错误:

Exception in thread "main" java.time.format.DateTimeParseException: Text 'Wed July 2019 10:53 PM' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {DayOfWeek=3, MonthOfYear=7, Year=2019},ISO resolved to 22:53 of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)

更改yyyyYYYYhhh没有取得任何不同的结果。

根据关于SO文档的答案,看来我的模式与提供的文本匹配。

我究竟做错了什么?

谢谢

akk*_*202 6

缺少月份

您的输入字符串缺少月份。它说“ 2019年7月”,但不是7月中的哪一天

格式化的日期字符串是不可逆的(因为您可以使用格式化程序格式化现有的LocalDateTime,但不能将其解析回去)。因为它缺少日值。