是否可以在不使用 JNI/Native 代码或 System.currentTimeMillis() * 1000000L 的情况下在纳秒内在 Java 中获取 EPOCH?

问题描述 投票:0回答:1

我知道这可以在 Linux 中完成,通过从

clock_gettime
sys/time.h
的本机调用。

我知道这可以用

System.currentTimeMillis() * 1000000L
来完成,这不好,因为如果你连续调用它,你可以有两个相等的纪元时间。

想知道 在最新版本的 Java 中是否已经有一种 Java 方法可以在纳秒内获取 Epoch。

注意:我想要纳秒精度的纪元。我只是不想用类似的东西将它转换为毫秒:

long nanos = TimeUnit.MILLISECONDS.toNanos(System.currentTimeMillis());

感谢您的帮助!

java epoch
1个回答
0
投票

这应该有效。

Instant t = Instant.now();
System.out.println(t.getEpochSecond()*1_000_000_000 + t.getNano());

打印类似的东西

1682327653903147800
© www.soinside.com 2019 - 2024. All rights reserved.