我正在一个需要时间戳记才能运行线程的项目中。在Erlang中,当我们执行now()时,我们会得到
{1529,709564,578215}
代表{megaseconds, seconds, microseconds}
从纪元开始。因此,对于同时产生的两个进程,我可以获得相同的微秒值。有没有办法在Java中复制此功能?
我了解Date.getTime()
,它为我们提供了从纪元时间起的毫秒数,但是它不能达到目的,因为在除以数量级后,我无法从中获得唯一的微秒值。
还有其他选择吗?
答案 0 :(得分:2)
System.out.println(Instant.now());
刚才的输出是:
2018-06-23T05:16:45.768006Z
在Mac上的Java 10上,它提供了微秒级的精度。从Java 9开始,它将在许多操作系统上,也许不是全部。 Instant.now()
返回Instant
。 Instant
的实现时间是自纪元以来的秒和纳秒,如果需要,您可以单独删除它们。