【发布时间】:2016-05-16 07:40:17
【问题描述】:
我运行了一个简单的测试来创建一百万个时间对象并测试了以下
int nano = new Timestamp(new Date().getTime()).getNanos();
if((nano & 0x00000000003F) != 0x0) {
System.out.println("Nano from timestamp : " + nano);
}
没有输出暗示最后一个最低有效 6 位全为零。那么 Timestamp 是否仅取决于从 System.currentTimeMillis() 返回的值并将其与 1000000 相乘?
时间戳对纳秒精度有用吗?在当前情况下,由于我没有得到任何非零值,这意味着精度仅降低到毫秒(而不是纳秒)。
那么使用时间戳有什么好处呢?
【问题讨论】:
-
一个
java.util.Date.getTime()只有毫秒,所以你不能通过这种方式获得纳米。