我正在讀Bob的叔叔「The Craftsman」系列,並且已經到了#29(PDF)。在這裏面,有這個片段在測試代碼,用於斷言日期非常接近:使用GregorianCalendar.setGregorianChange計算時差
private boolean DatesAreVeryClose(Date date1, Date date2) {
GregorianCalendar c1 = new GregorianCalendar();
GregorianCalendar c2 = new GregorianCalendar();
c1.setGregorianChange(date1);
c2.setGregorianChange(date2);
long differenceInMS = c1.getTimeInMillis() - c2.getTimeInMillis();
return Math.abs(differenceInMS) <= 1;
}
我閱讀文檔,卻無法弄清楚,爲什麼簡單地使用Date.getTime()
不夠好,而不是引入日曆等我錯過了一些角落案件?
這個答案與問題中的代碼和鏈接的pdf中的代碼在宇宙飛船上的含義差不多。 – 2010-01-18 21:36:32
那麼,鑑於他寫了他們兩個,我認爲這是他的權利。 – abyx 2010-01-18 21:45:27