nanoTime的System.out不正确?

mem*_*und 4 java time

private Timestamp timestamp = new Timestamp(System.nanoTime());在创建对象时,我正在我的一个实体中执行操作.

如果我system.out时间戳,我得到的价值就像;

2282-08-24 11:25:00.506
2286-04-16 01:47:35.882
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

System.currentTimeMillis()给出正确的日期,但我需要更准确.这可能有什么问题?

Tom*_*icz 9

System.nanoTime()它是一种完全抽象的测量时间的方法,它与计算机启动后的CPU周期数有关.它与java.util.Date使用纪元时间(自1970年以来的毫秒数)完全无关.

您可以自由地比较两个不同的值System.nanoTime()以获得非常准确的时间测量(理论上高达1纳秒),但单独使用的绝对值是无用的.