計算兩個日期(java.util.Date
)之間的差異,的日子看起來很簡單,我們可以找到不同的方式來做到這一點。我用下面的代碼來計算日期差:計算java時出錯日期差異
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.所以,爲什麼會發生這種情況。
是否有任何解決方案使用該方法結果一致的輸出?
我跑了幾次,我只得到30而不是31。 – sakthi 2012-08-06 13:13:33