Java 8的新日期时间API之一的特点应该是纳秒精度。然而,当我像这样将当前日期时间打印到控制台时:
DateTimeFormatter formatter = DateTimeFormatter
.ofPattern("yyyy-MM-dd'T'HH:mm:ss,nnnnnnnnnZ");
System.out.println(OffsetDateTime.now().format(formatter));
我只看到毫秒级的精度:2015-11-02T12:33:26,746000000+0100
操作系统似乎支持纳秒级的精度。当我通过终端打印当前日期时间时:
date -Ins
我看到了2015年11月2日12:33:26.746134417+0100
如何在Java中获得纳秒级精度?我正在Ubuntu 14.04 64位上运行Oracle Java 1.8.0_66。
Clock
的全新实现可以以纳秒分辨率(取决于您主机硬件时钟的能力)捕获当前时刻。 - Basil Bourque