DateTimeFormatter引发异常“无法在索引0处解析”

时间:2020-11-12 01:15:27

标签: java android java-time

我不断从运行此代码中得到一个错误。

java.time.format.DateTimeParseException:无法在索引0处解析文本“ 2020年1月3日”

final String myFormat = "LLL dd, yyyy"; //sets format in which to show date (same as how its saved in database) ex. Jan 29, 2020
final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern(myFormat);

String startingBiWeeklyCheck = sharedPreferences.getString("biweekly start", "Jan 03, 2020");
            LocalDate startingDate = LocalDate.parse(startingBiWeeklyCheck, dateFormatter);

我已经尝试过该格式,但是我不明白为什么模式“ LLL dd,yyyy”不能解析2020年1月3日

1 个答案:

答案 0 :(得分:1)

您应使用MMM而不是LLL进行月份解析。

已更新:

我对上述答案有误。这是答案的一半。

交易是DateTimeFormatter.ofPattern(myFormat)使用默认Locale。 对于非美国语言环境,它不起作用。 因此,您需要根据您的模式指定语言环境。

DateTimeFormatter.ofPattern(myFormat).withLocale(Locale.US)