Android アプリケーションの 2 つの日付を比較したいのですが、非常に奇妙な問題が発生しました。
例えば:
back in the past
日付を 127 日前に設定した場合:
this.dateEvent = System.currentTimeMillis() - (127 * 24 * 3600 * 1000)
そして、それを現在の日付と比較します (Days between)
Calendar sDate = getDatePart(new Date(this.dateEvent));
Calendar eDate = getDatePart(new Date(System.currentTimeMillis()));
int daysBetween = 0;
while (sDate.before(eDate))
{
sDate.add(Calendar.DAY_OF_MONTH, 1);
daysBetween ++;
}
while (sDate.after(eDate))
{
eDate.add(Calendar.DAY_OF_MONTH, 1);
daysBetween ++;
}
return daysBetween;
期待されていたものとはまったく異なる 22 が返されます。
私は何か間違ったことをしましたか、Calendar
それともクラスの問題ですか?