0

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

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

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

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

有任何想法吗?

4

2 回答 2

2

你可以使用这样的东西:

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;
}
于 2013-08-07T10:31:12.027 回答
1

在 cal1 上加 1 天,并测试它是否不在 cal2 之后

    cal1.add(Calendar.DATE, 1);
    System.out.println(!cal1.after(cal2));
于 2013-08-07T10:26:11.977 回答