猿问

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

我正在尝试使用处理 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个时间作为输入?


慕姐8265434
浏览 89回答 1
1回答

明月笑刀无情

您的编译器错误可以通过使用正确的类型来解决。不要使用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"));它也应该适用于两位数的月份。出于性能原因,我建议将格式化程序对象分配给静态最终常量。
随时随地看视频慕课网APP

相关分类

Java
我要回答