我一直在寻找我的困境的答案,并找到了一些有用的提示,但没有解决我的具体问题,所以我希望这里的人可以帮助我。
我试图在Java中获得精确到毫秒的经过时间。我正在使用 System.nanoTime() 来获取当前时间并在以下代码中实现它。请注意,这是我用来测试其精度的代码。
长启动时间 = System.nanoTime()/1000000;
while (true)
{
System.out.println((System.nanoTime()/1000000)-startTime);
}
输出的一部分看起来像这样。
1110
1112
1112
1113
1114
1118
1120
第一个数字是秒数,第二个,十分之一秒,第三个,百分之一,最后一个是千分之一。你在这里看不到它,但我精确到百分之一 - 没有跳过或重复的数字。然而,千分之一远非精确。0 -> 2 -> 2 -> 3 -> 4 -> 8 -> 0。对于我正在做的事情,我需要精确到千分之一,从我读过的所有内容来看,似乎 System.nanoTime() 应该是能够提供毫秒级的精度。
我做错了什么还是有另一种方法可以精确到毫秒?