これが私のささやかな提案です:
- JVMの起動時
System.currentTimeMillis()
「壁時計」の開始時刻として呼び出して保存します:long currentTimeMillis0
。- 呼び出し
System.nanoTime()
て、「ナノ」時間の開始として保存しますlong nanoTime0
。
- プログラムの実行中、 を使用して多くのタイムスタンプを保存し
System.nanoTime()
ます。
nanoTime の正確な値はそれ自体では役に立たないことは十分承知していますが、duration: のコンテキストで使用すると便利ですendNanoTime - beginNanoTime
。
記録された任意のナノタイムで、「currentTimeNanos」を次のように計算することは合理的
(1000L * currentTimeMillis0) + (anyNanoTime - nanoTime0)
ですか?