在給定兩個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),它不會混淆「日曆」對象,但只使用「日期」成員。 –