【发布时间】:2021-11-02 09:25:12
【问题描述】:
输入文本是 20FEB2020
以下代码块抛出 DateTimeParseException 并显示消息无法解析文本“28Feb2020”,在索引 7 处找到未解析的文本:
String issueDate = abcIssueDate.substring(0, 3)
+ abcIssueDate.substring(3).toLowerCase();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ddMMMyy", Locale.US);
LocalDate localDate = LocalDate.parse(issueDate, formatter);
【问题讨论】:
-
yy应该是yyyy? -
不回答您的问题,而不是手动修复
Feb的大小写,使用DateTImeFormatterBuilder指定不区分大小写的解析。 -
我不确定你被困在哪里了。模式显然与输入不匹配,乍一看很容易发现。
-
这能回答你的问题吗? Java 8 DateTimeFormatter two digit year 18 parsed to 0018 instead of 2018? 不是完全相同的问题,但答案也可能对您有所帮助。
-
欢迎来到 Stack Overflow。我投了赞成票,因为我发现这个问题很清楚,而且很容易回答。我的猜测是,反对票来自那些发现问题搜索和研究不佳的用户。 Guideline #1 on Stack Overflow 表示在发布您的问题之前进行搜索和研究。
标签: java date java-time date-parsing datetimeparseexception