计算两个日期之间的差异 ( java.util.Date
) 以没有。of days 看起来很简单,我们可以找到不同的方法来做到这一点。我使用以下代码来计算日期差异:
public static long daysBetween(Calendar startDate, Calendar endDate) {
Calendar date = (Calendar) startDate.clone();
long daysBetween = 0;
while (date.before(endDate)) {
date.add(Calendar.DAY_OF_MONTH, 1);
daysBetween++;
}
return daysBetween;
}
在main()
中,我使用了以下两个日期:
Calendar c1 = Calendar.getInstance();
c1.set(2011, 1, 1);
Calendar c2 = Calendar.getInstance();
c2.set(2011, 1, 31);
long difference = daysBetween(c1, c2); //
但是变量的值difference
并不一致。有时是 30,有时是 31。那么,为什么会发生这种情况。
是否有任何解决方案可以使用该方法产生一致的输出?