【发布时间】:2018-03-23 08:50:39
【问题描述】:
下面的代码可以正常工作
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[yyyy-MM-dd HH:mm:ss][yyyy-MM-dd]");
System.out.println(LocalDate.parse("1991-01-28", formatter));
System.out.println(LocalDate.parse("1991-01-28 00:00:00", formatter));
但这会引发异常(唯一的区别是模式的顺序)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("[yyyy-MM-dd][yyyy-MM-dd HH:mm:ss]");
System.out.println(LocalDate.parse("1991-01-28", formatter));
System.out.println(LocalDate.parse("1991-01-28 00:00:00", formatter));
这是 parseException
Exception in thread "main" java.time.format.DateTimeParseException: Text '1991-01-28 00:00:00' could not be parsed, unparsed text found at index 10
我找不到这种行为的原因。这背后的原因是什么?
我找到了一个可能与我的相似的question,但我不确定这是否是重复的。
【问题讨论】:
-
您链接到的问题非常相似,我会立即认为您的问题是重复的。由于您不确定,可以公平地说它不是精确重复。
标签: java java-time date-parsing