如果我使用不同日期調用此方法,則差異/ 1000L/60L/60L/24L結果的小數位將始終被截斷。我能做些什麼來防止這種情況發生?我需要4.xx的結果。Java日期計算在結果處截斷小數點
public boolean checkDelayed(Date date1, Date date2)
{
long difference = date2.getTime() - date1.getTime();
if (difference/1000L/60L/60L/24L <= 4L)
{
return true;
}
return false;
}
作品,謝謝。好吧,我忘記了多長時間不支持小數。 – Bevor 2012-04-11 13:29:03
每次分割兩個整數值即「long」時,十進制值將被丟棄。這意味着您在「差異/ 1000L/60L/60L/24L <= 4L」操作中會損失精度4次。 – mcfinnigan 2012-04-11 13:33:43