当前位置: 首页 > 知识库问答 >
问题:

DateTimeFormatter异常

胡元忠
2023-03-14

我对Java中的DateTimeFormatter有问题。

DateTimeFormatter format = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDateTime startDate = LocalDateTime.now();
LocalDateTime endDate = LocalDateTime.parse(ceremonyDetails.getDate(), format);
System.out.println(ChronoUnit.DAYS.between(startDate, endDate)); format);

然而,我得到了这个错误:

java.time.format.DateTimeParseException:无法分析文本“29/09/2016”:无法从TemporalAccessor:{}获取LocalDateTime,ISO解析为2016-09-29,类型为java.time.format.Parsed],根本原因为java.time.DateTimeException:无法从TemporalAccessor:{}获取LocalTime,ISO解析为2016-09-29,类型为java.time.format.Parsed

我错过了什么?

共有1个答案

阎晋
2023-03-14

您应该使用localdate而不是localdatetime。一个用于仅日期值,另一个用于具有日期时间值的日期。

LocalDate.parse( "29/09/2016" , DateTimeFormatter.ofPattern("dd/MM/yyyy") )

请参阅DateTimeFormatter类文档页上的示例

 类似资料:
  • 我正在将我的应用程序从Joda-Time迁移到Java8。 我遇到的一件事是使用中的模式打印以周为单位的年份。 注意:我已经看到这个问题:Java Time的week-of-week-based-year模式用DateTimeFormatter解析 根据文件 然而,当我尝试这两个时,似乎总是返回与相同的内容。 我的测试代码: 输出: 查看重要的年份(如2000、2005、2009和2016年),和

  • 问题内容: 我正在将应用程序从Joda-Time迁移到Java 8 。 我遇到的一件事是使用中的图案打印基于周的年份。 根据文档 但是,当我尝试这两个时,似乎总是会返回与相同的结果。 我的测试代码: 输出: 从重要的年份(例如2000、2005、2009和2016)来看,和的输出是不同的。 在Java的时间与DateTimeFormatter基于周周的–一年模式分析中指出,这与本地化做的(如可以清

  • 我试图使用Joda库的DateTimeFormatter从字符串解析DateTime对象。出于某种原因,当它到达要解析的时区时,它会引发异常。 下面是我的代码: 注意:我确实用模式字符串和字符串尝试了这种方法,但是获得数字偏移量对我来说不太方便,所以我希望有一个使用时区ID的解决方案。

  • 我已经阅读了手册,我完全不知道为什么这段代码不能工作。 最后一行抛出异常:java.time.format.DateTimeParseException:无法解析文本“07/29/2015”:无法从TemporalAccessor获取LocalDate:{YearOfera=2015,DayOfMonth=29,MonthOfYear=7},类型为java.time.Format.Parsed的I

  • 我想要得到未来3个月的日期从输入日期在android设备。对于大于oreo的版本,我尝试使用DateTimeFormatter。但我得到了这个错误“java.time.format.DateTimeParseException:文本'28/5/2020'无法在索引0处解析” 这是我的输入日期字符串=28/5/2020

  • 我有一个放心的测试,我试图验证响应中的日期是否介于传入的日期参数之间。我正在尝试使用Hamcrest Date,但在json响应中传递回来的日期是yyyy MM dd,Hamcrest Date似乎是日、日、月、年。我不能用。正文断言中的格式(DateTimeFormatter.BASIC_ISO_DATE),因为DateTimeFormatter将其转换为字符串,而Hamcrest DATE似乎