2011-04-21 11 views
1

以下代碼的性能非常差。 我已經認識到,有與日曆API在Java中使用Calendar API時性能不佳

long startInMilliSec = measFileCreationTime_OssTime; 
Calendar thisMoment = Calendar.getInstance(); 
long currentInMilliSec = thisMoment.getTime().getTime(); 

if (currentInMilliSec >= startInMilliSec) { 
    return (true); 
} else { 
    return (false); 
} 

性能問題,對此有任何替代?

回答

5

您可以使用System.currentTimeMillis()來獲取自1970年1月1日以來的毫秒數。扣除兩個毫秒值可以用毫秒計算它們之間的持續時間。日曆只需要在解釋如此毫米值的年份,月份等時使用。

如果您想更加精確,那麼您可以使用System.nanoTime()來獲得納米精度。絕對納米值在這種情況下沒有特別的意義,並且只能用於計算隨後取得的納米值之間的時間差。

+1

除此之外,電話很便宜,http://www.youtube.com/watch?v = uL2D3qzHtqY – Adi 2011-04-21 07:06:12

+1

更短/更簡單。 Calendar/GregorianCalendar是您可能使用的最笨重的對象之一。 ;) – 2011-04-21 08:25:01