2012-12-20 48 views

回答

1

唯一的問題是時間分辨率。通常,Java通過java.util.DateSystem.currentTimeMillis()支持毫秒精度。如果你需要更高的精度,System.nanoTime()可能會訣竅。

但是,這帶來了另一個問題 - nanoTime()是不相關的任何日曆,它只是一個以納秒精度日益增長的計數器。我能想到的唯一解決方法是:

  • 在午夜確定System.nanoTime()值,稱之爲S。這可能是有問題的,但你不必等到午夜,一些簡單的數學就足夠了。

  • 計算如下:

    (System.nanoTime() - S)/15000 
    
  • 如果值爲0,我們在同一個15微秒範圍

確定JVM和你的程序實際上可以利用如此小的時機?

0

你可能想看看this問題的信息,獲得在微秒的時間。 Java上不支持微秒日期時序。

Java支持以毫秒爲單位的日期,並在某些系統上,你可以通過System.nanoTime()得到納秒的系統時間。如果您的系統支持納秒級分辨率,那麼編寫一個函數可以很容易地將納秒級數轉換爲15微秒級。