私は自分のジレンマに対する答えを探していて、いくつかの役立つヒントを見つけましたが、私の特定の質問に対処するものは何もありませんでした.
Javaでミリ秒単位の正確な経過時間を取得しようとしています。System.nanoTime() を使用して現在の時刻を取得し、次のコードに実装しています。これは、精度をテストするために使用したコードです。
長い startTime = System.nanoTime()/1000000;
while (true)
{
System.out.println((System.nanoTime()/1000000)-startTime);
}
出力の一部は次のようになります。
1110
1112
1112
1113
1114
1118
1120
最初の桁は秒、2 番目は 10 分の 1 秒、3 番目は 100 分の 1、最後は 1000 分の 1 です。ここには表示されませんが、100 分の 1 までの精度があります。番号のスキップや繰り返しはありません。ただし、1000 分の 1 は正確とは言えません。0 -> 2 -> 2 -> 3 -> 4 -> 8 -> 0。ミリ秒単位の精度を提供できます。
私は何か間違ったことをしていますか、それともミリ秒単位の精度を得ることができる別の方法はありますか?