DateTimeFormatter 抛出异常 "could not be parsed at index 0"
DateTimeFormatter throwing exception "could not be parsed at index 0"
我一直收到来自 运行 这段代码的错误。
java.time.format.DateTimeParseException:无法在索引 0
处解析文本 'Jan 03, 2020'
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”不能解析 Jan 03, 2020
您应该使用 MMM
而不是 LLL
进行月份解析。
更新:
我上面的回答是错误的。已经回答一半了
交易 DateTimeFormatter.ofPattern(myFormat)
使用默认值 Locale
。
对于非美国语言环境,它不起作用。
所以你需要根据你的模式指定语言环境。
DateTimeFormatter.ofPattern(myFormat).withLocale(Locale.US)
我一直收到来自 运行 这段代码的错误。
java.time.format.DateTimeParseException:无法在索引 0
处解析文本 'Jan 03, 2020'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”不能解析 Jan 03, 2020
您应该使用 MMM
而不是 LLL
进行月份解析。
更新:
我上面的回答是错误的。已经回答一半了
交易 DateTimeFormatter.ofPattern(myFormat)
使用默认值 Locale
。
对于非美国语言环境,它不起作用。
所以你需要根据你的模式指定语言环境。
DateTimeFormatter.ofPattern(myFormat).withLocale(Locale.US)