在给定两个Date对象的情况下,如何比较两个日期对象之间的差异,完全忽略年,月和日?只比较两个日期的时间部分,忽略日期部分
这与this question完全相反。
UPDATE:这里以供将来参考最终代码:
private long differenceBetween(Date currentTime, Date timeToRun)
{
Calendar currentCal = Calendar.getInstance();
currentCal.setTime(currentTime);
Calendar runCal = Calendar.getInstance();
runCal.setTime(timeToRun);
runCal.set(Calendar.DAY_OF_MONTH, currentCal.get(Calendar.DAY_OF_MONTH));
runCal.set(Calendar.MONTH, currentCal.get(Calendar.MONTH));
runCal.set(Calendar.YEAR, currentCal.get(Calendar.YEAR));
return currentCal.getTimeInMillis() - runCal.getTimeInMillis();
}
是的,它的作用。为什么不呢? – kolrie
这个解决方案的讽刺之处在于,你需要在long类型的基元周围使用两个薄的包装器对象,调用一个庞大而复杂的API来将多个元素转换为Calendar对象...只能最终返回到某个地方,重新从Calendar对象转换为长整型。 – scottb
@scottb - 请参阅下面的[我的答案](http://stackoverflow.com/questions/7676149#7676307),它不会混淆“日历”对象,但只使用“日期”成员。 –