在我的 Mac 和 Windows 机器上创建一个新的LocalDateTime使用时LocalDateTime.now(),我在 Mac 上获得了6的纳米精度,在我的 Windows 机器上获得了 3的纳米精度。两者都在运行jdk-1.8.0-172。是否可以限制或提高其中一台机器的精度?为什么精度实际上不同?
3 回答
LEATH
TA贡献1936条经验 获得超6个赞
我不认为您可以获得比您已经获得的精度更高的精度。如果您想降低精度以匹配其他系统的精度,这很简单(当您知道如何操作时):
LocalDateTime.now(ZoneId.of("Europe/Berlin")).truncatedTo(ChronoUnit.MILLIS);
您获得的精度取决于硬件、设置、操作系统以及 JVM 与所有这些的集成。众所周知,Mac 通常提供比 Windows 更好的精度(尽管我的印象是,根据 OpenJDK 问题 # JDK‑8068730,这只是 Java 9 的情况)。
添加回答
举报
0/150
提交
取消