Java中等效于Erlang now()

时间:2018-06-22 23:23:42

标签: java datetime erlang

我正在一个需要时间戳记才能运行线程的项目中。在Erlang中,当我们执行now()时,我们会得到

{1529,709564,578215}代表{megaseconds, seconds, microseconds}

从纪元开始。因此,对于同时产生的两个进程,我可以获得相同的微秒值。有没有办法在Java中复制此功能?

我了解Date.getTime(),它为我们提供了从纪元时间起的毫秒数,但是它不能达到目的,因为在除以数量级后,我无法从中获得唯一的微秒值。

还有其他选择吗?

1 个答案:

答案 0 :(得分:2)

        System.out.println(Instant.now());

刚才的输出是:

  

2018-06-23T05:16:45.768006Z

在Mac上的Java 10上,它提供了微秒级的精度。从Java 9开始,它将在许多操作系统上,也许不是全部。 Instant.now()返回InstantInstant的实现时间是自纪元以来的秒和纳秒,如果需要,您可以单独删除它们。