创建对象时,我正在我的一个实体中执行 private Timestamp timestamp = new Timestamp(System.nanoTime());
。
如果我 system.out 时间戳,我会得到类似的值;
2282-08-24 11:25:00.506
2286-04-16 01:47:35.882
这里有什么问题吗?
System.currentTimeMillis()
给出了正确的日期,但我需要更高的准确性。
这里可能有什么问题??
最佳答案
System.nanoTime()
是一种完全抽象的时间测量方式,它与计算机启动后的 CPU 周期数有关。它与使用纪元时间(自 1970 年以来的毫秒数)的 java.util.Date
完全无关。
您可以随意比较 System.nanoTime()
的两个不同值以获得非常准确的时间测量值(理论上可达 1 纳秒),但单独取绝对值是没有用的。
关于java - nanoTime 的 System.out 不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13196114/