我想执行一个简单的例子,用模式解析字符串到日期。
String input = "Sep 31 2013";
LocalDate localDate = LocalDate.parse(input,
DateTimeFormatter.ofPattern("MMM d yyyy"));
抛出异常:
Exception in thread "main" java.time.format.DateTimeParseException: Text 'Sep 31 2013' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDate.parse(Unknown Source)
at lambda.DateTime.main(DateTime.java:78)
我使用java 8中的java.time包。
答案 0 :(得分:7)
我假设你有一个非英语Locale
。如果您想用英语解析,请使用相应的Locale
String input = "Sep 31 2013";
LocalDate localDate = LocalDate.parse(input, DateTimeFormatter
.ofPattern("MMM d yyyy").withLocale(Locale.ENGLISH));
或任何其他英语Locale
:美国,加拿大,英国等
或者,对于Locale
,ru_RU
,传递俄语日期字符串,即。其中Sep
是俄语,以便可以正确解析