当前位置: 首页 > 面试题库 >

Java 8 LocalDate无法解析有效的日期字符串

严阳秋
2023-03-14
问题内容

Java 8在这里。我有以下代码:

final String createdDateStr = "20110920";
final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYYMMdd");
final LocalDate localDate = LocalDate.parse(createdDateStr, formatter);

在运行时,出现以下异常:

java.time.format.DateTimeParseException: Text '20110920' could not be parsed at index 0

    at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
    at java.

…被LocalDate.parse(...)调用抛出 解析器出了什么问题?


问题答案:

文档中的示例:

LocalDate date = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy MM dd");
String text = date.format(formatter);
LocalDate parsedDate = LocalDate.parse(text, formatter);

您应该使用"yyyyMMdd"而不是"YYYYMMdd"Y和之间的区别在这里y提到。



 类似资料:
  • 这里Java8。我有以下代码: 在运行时,我得到以下异常: ...从调用中抛出。解析器出了什么问题?!

  • 问题内容: 我想将日期字符串解析为日期。我在寻找其他问题,但没有找到答案。 错误消息是java.text.ParseException:而且我不知道怎么了。 你能帮我吗。提前致谢。 编辑:好的。我将其翻译成英文,但是我仍然遇到同样的问题。我不想更改输入,因为它来自邮件数据库。还有其他想法吗? 我发现了问题。我是瞎子 来自数据库的St是,不是 谢谢。 问题答案: 在德语中,“欧洲中部时间”是“Mit

  • 首先,我的问题是通过Spring MongoDb的MongoRepository在MongoDB中搜索集合。 我的对象: 我可以在Mongo query中随心所欲地执行以下操作: (您可以用新日期替换ISODate) 但是要在Spring做这件事,我想这样做: 但它失败了,我搜索了两个主题:这里和那里 最终 但是,我又一次遇到了解析的问题: 2019-03-22 10:09:48.261ERROR

  • 问题内容: 我有一个字符串日期“ 31-Dec”和模式“ dd-MMM”。接下来的代码 产生异常 我做错什么了? 谢谢! 问题答案: 一个问题可能是您不是英语。试试这个: 这为我返回: 1970年12月31日星期四00:00:00欧洲中部时间 由于日期字符串中缺少年份,因此您会看到它会自动插入为年份。

  • 问题内容: 在这种情况下,我正在读取大约13万条记录,其中包含存储为String字段的日期。一些记录包含空格(空),一些包含这样的字符串:“ dd-MMM- yy”,而另一些包含此“ dd / MM / yyyy”。 我写了这样的方法: 因此,您可能已经发现了问题。 我正在使用try .. catch作为我逻辑的一部分 。最好事先确定String实际上包含某种格式的可解析日期,然后再尝试解析它。

  • 问题内容: 当我将格式的字符串对象转换为它给我时 我正在尝试这样做: 问题答案: 这里有几个潜在的问题: 您未指定格式 您未指定语言环境 您未指定时区 您正在尝试将返回值(将是引用)转换为-,否则将失败 您想要类似: