我想比较我的 Android 应用程序的两个日期,但我遇到了一个非常奇怪的问题。
例如:
如果我将 back in the past
日期设置为 127 天前:
this.dateEvent = System.currentTimeMillis() - (127 * 24 * 3600 * 1000)
然后将其与当前日期(之间的天数)进行比较
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
类有问题?
原文由 Manitoba 发布,翻译遵循 CC BY-SA 4.0 许可协议
请参考此代码,这可能对您有所帮助。