大家好,我有一段代码长这个样子:
public class Test {
public static void main(String args[]) {
long a = System.currentTimeMillis(); // line 1
long b = System.currentTimeMillis(); // line 2
assert b - a >= 0;
long y = System.nanoTime(); // line 5
long z = System.nanoTime(); // line 6
}
}
因此,IERS 表示下一个闰秒将在2012年6月30日11:59.9之后立即发生。
我想知道,如果在2012年6月30日11:59.9之后的0.9秒运行第1行代码,是否正确地说,在2012年7月1日00:00.0时运行第2行代码时,b - a
的结果可能是负的?(-900 毫秒)
如果是这种情况,是否正确地说,如果在2012年6月30日11:59.9之后的0.9秒运行第5行代码,而在第5行代码之后的0.1秒运行第6行代码,z-y
的结果可能是负的?(-900,000,000 纳秒?)