【发布时间】:2016-02-02 08:10:52
【问题描述】:
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-02T12:33:26,746134417+0100
如何在 Java 中获得纳秒精度?我在 Ubuntu 14.04 64 位上运行 Oracle Java 1.8.0_66
【问题讨论】:
-
在 Java 9 中修复。
Clock中的A fresh implementation 以高达纳秒的分辨率捕获当前时刻(取决于主机硬件时钟的能力)。