如何检查2个日期之间是否至少有1天的差异

时间:2013-08-07 10:20:41

标签: java date compare gregorian-calendar

所以,我必须检查两个日期之间的差异是否至少为一天。然后该方法应返回true,否则为false。

我使用的日期格式为GregorianCalendar(year, month, day)

所以我已经有了一个使用date1.before(date2)的方法,但是也会检查时间,所以如果date1date2之前,它会返回true,即使它们是同一天(但时间不同了!)。

我需要的是一种检查日期之间的差异是否至少为1天的方法。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

向cal1添加1天并测试它是否不在cal2

之后
    cal1.add(Calendar.DATE, 1);
    System.out.println(!cal1.after(cal2));

答案 1 :(得分:1)

您可以使用以下内容:

public boolean dateDifference(Date d1, Date d2)
{ 
long currentDateMilliSec = d1.getTime();
long updateDateMilliSec = d2.getTime();
long diffDays = (currentDateMilliSec - updateDateMilliSec) / (24 * 60 * 60 * 1000);
if (diffDays >= 1) return true;
else return false;
}

答案 2 :(得分:0)

这对我来说有点像家庭作业,但你可以从这个类似的问题中找到一些帮助:Calculating difference in days between dates