为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算处理3中两个给定日期之间的天数?

如何计算处理3中两个给定日期之间的天数?

慕姐8265434 2022-06-08 17:41:22
我正在尝试使用处理 3 计算两个给定日期之间的天数。但是我面临日期库的问题。import java.text.SimpleDateFormat;import java.util.Date;import java.time.LocalDate;import java.time.Month;import java.time.temporal.ChronoUnit;Date epoDate = new Date();    Date epo = new Date();    try {      epoDate = new SimpleDateFormat("yyyy-mm-dd").parse("2015-01-03");       epo = new SimpleDateFormat("yyyy-mm-dd").parse("2015-04-23");    }    catch (Exception e) {    }   ChronoUnit.DAYS.between(epo,epoDate);}问题在于最后一行之间的函数,它说它需要2个时间作为输入?
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

您的编译器错误可以通过使用正确的类型来解决。不要使用java.util.Date(由SimpleDateFormat-parser 返回),但使用java.time.LocalDate它也提供了一个直接的解析方法来识别 ISO 格式 yyyy-MM-dd。


代替


new SimpleDateFormat("yyyy-mm-dd").parse("2015-04-23");

利用


LocalDate.parse("2015-04-23");

另一件事:


您的最终示例代码ChronoUnit.DAYS.between(epo,epoDate);不会评估结果。您应该将结果分配给长原语以进行进一步处理。


关于您对一位数月份输入的评论


您可以通过这种方式使用接受额外格式化程序参数的重载解析方法:


LocalDate.parse("2015-4-23", DateTimeFormatter.ofPattern("uuuu-M-dd"));

它也应该适用于两位数的月份。出于性能原因,我建议将格式化程序对象分配给静态最终常量。


查看完整回答
反对 回复 2022-06-08
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信