我正在尝试以LocalDateTime格式解析“ 2019年3月1日”或“ 2019年3月15日”格式的日期,但是我正在努力寻找正确的格式。
我已经尝试过使用“ dd M / L yyyy”和简单的“ d M / L yyyy”模式的示例,但似乎没有任何作用。
String begda = "1 March 2019";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd M/L yyyy");
LocalDateTime ldtBeg = LocalDateTime.parse(begda, formatter);
它只会抛出DateTimeParseException,说明无法解析。
答案 0 :(得分:5)
使用MMMM
作为March
之类的完整月份。并将d
用于1
之类的日子。
它应该像d MMMM yyyy
。
并指定用于阅读月份名称的人类语言的Locale
。
LocalDate.parse(
"1 March 2019" ,
DateTimeFormatter.ofPattern(
"d MMMM yyyy",
Locale.UK
)
)
答案 1 :(得分:0)
您要转换字符串月份MARCH
。因此,在解析时,您需要提及它是哪个语言环境。
在格式化此语言环境时,将使用该语言环境并返回相应的月份。
如果您熟悉Calendar,那么也可以使用它。 我想这个链接可以给您一些提示
答案 2 :(得分:-1)