如何将字符串(例如“Sunday, July 4, 2021”)解析为 LocalDate?

Kha*_*led -2 java localdate localdatetime

我想一个字符串解析"Sunday, July 4, 2021"LocalDate,如下:

string this.selectedDate = "Sunday, July 4, 2021";
LocalDate date = LocalDate.parse(this.selectedDate);
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

java.time.format.DateTimeParseException: Text 'Sunday, July 4, 2021' could not be parsed at index 0
Run Code Online (Sandbox Code Playgroud)

如何将这样的字符串完整日期转换为 LocalDate?

WJS*_*WJS 5

像这样试试。

String s = "Sunday, July 4, 2021";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("EEEE, LLLL d, yyyy");
LocalDate ld =  LocalDate.parse(s, dtf);
System.out.println(ld);
Run Code Online (Sandbox Code Playgroud)

印刷

2021-07-04
Run Code Online (Sandbox Code Playgroud)

如果要更改输出格式,请阅读DateTimeFormatter

注意:如果星期几对于月份的数字日期是错误的,您将收到解析错误。为避免这种情况,只需跳过或以其他方式忽略星期几。