此问题在此处已有答案:
Parsing LocalDate but getting DateTimeParseException; dd-MMM-uuuu(2个答案)
3天前关闭。
我正在尝试使用LocalDate将字符串日期格式转换为另一种日期格式(dd-MMM-yyyy)。
String date = "2018-04-16";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.US);
LocalDate localDate = LocalDate.parse(date, formatter);
我在DateTimeFormatter对象中使用和不使用Locale.US的情况下尝试了这段代码。无论哪种方式,它都返回此异常:
java.time.format.DateTimeParseException: Text '2018-04-16' could not be parsed at index 2
有没有一种方法可以使用LocalDate或我应该使用SimpleDateFormat来处理此日期转换?
1条答案
按热度按时间ijnw1ujt1#
在你的代码中,
DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.US);
模式dd-MMM-yyyy
代表三个字母的月份,比如Jun。如果你想解析像2018-04-16
这样的字符串,模式应该是yyyy-MM-dd。请参考示例代码
更新-针对您在评论中提出的问题
在将String转换为本地日期之后,下面的代码应该可以完成这个任务。