我想比较我的 Android 应用程序的两个日期,但我遇到了一个非常奇怪的问题。
例如:
如果我将 回到过去
日期设置为 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
类有问题?
最佳答案
这是一个两行解决方案:
long msDiff = Calendar.getInstance().getTimeInMillis() - testCalendar.getTimeInMillis();
long daysDiff = TimeUnit.MILLISECONDS.toDays(msDiff);
在本例中,它获取日期“testCalendar”与当前日期之间的天数。
关于java - 两个日期之间的 Android 天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23323792/