2つの日付()の差java.util.Date
をnoで計算します。非常に単純なように見える日があり、それを行うためのさまざまな方法を見つけることができます。次のコードを使用して、日付の差を計算しました。
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()
、次の2つの日付を使用しました。
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です。それで、なぜそれが起こったのかもしれません。
メソッドの結果に一貫した出力を使用するための解決策はありますか?