输入文本为2020年2月20日
以下代码块抛出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);
代码块抛出的异常很可能是由DateTimeFormatter
的模式引起的。正如您的问题下面所评论的那样,您在一年中使用了两个y
,其中有4位数字。
因此可以将模式更改为“ddmmmyyyy”
,这可能会起作用。
或者,如果构建了一个不敏感地分析大小写的DateTimeFormatter
,则可以直接分析包含大写月份缩写的字符串
,而不必对任何子字符串
应用tolowercase()
:
public static void main(String[] args) throws IOException {
String time = "20FEB2020";
// build a DateTimeFormatter that parses case-insensitively
DateTimeFormatter dtf = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("ddMMMuuuu")
.toFormatter(Locale.ENGLISH);
LocalDate localDate = LocalDate.parse(time, dtf);
System.out.println(localDate);
}
结果是(隐式地使用localdate
的tostring()
方法):
2020-02-20
我得到:类型的ISO
我正在开发新闻应用程序,我已经将从现在到那个日期的运行时间进行了转换,但当我运行代码时,我的适配器类中出现了以下异常 JAVA时间总体安排DateTimeParseException:无法在索引0处分析文本“09/10/2019”,无法在索引19处找到未分析的文本 低于我的适配器类 以下是JSON响应:
我无法理解为什么当我通过的文本符合格式时,我会得到DateTimeParseException错误。下面是导致该问题的代码: 奇怪的是。每当我查询用户一段时间(让我们以00:02:30为例),它就会完全按照我想要的方式运行。但是当我使用我的方法(从文本文件中提取时间)时,它会出现错误: 线程“main”java.time.format.DateTimeParseException中出现异常:无法分
下面是我的字符串:convertdate:'2016-08-18 14:27:15.103+02' 和我的代码: 我想不是太复杂,买我看不出错误。字符串中的+02可能是原因吗?
我正在尝试解析这样的日期: 该日期是来自远程服务的响应。我并不是真的期望Z,我也不是真的需要它,所以我想知道处理这个案件的正确方法是什么。
问题内容: 我有一个包含“否”和“日期”的表格。这将是动态形式。在Spring Boot JPA中进行批处理更新时,出现了“ java.time.format.DateTimeParseException:无法解析文本‘03 / 03 / 2020,03 / 03/2020’,在索引10处找到了未解析的文本”的异常 在这里,ABC是实体类,我可以以dd / mm / yyyy格式获取日期值,并将其