代码之家  ›  专栏  ›  技术社区  ›  smaug

Java中的Erlang No()的等价性

  •  1
  • smaug  · 技术社区  · 7 年前

    我正在做一个项目,它需要运行线程的时间戳。在二郎,当我们这样做时()我们得到

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

    从新纪元开始。所以,对于同时生成的两个进程,我可以得到相同的微秒值。有没有办法在Java中复制这个函数?

    我知道 Date.getTime() 它给了我们从纪元时间开始的毫秒数,但是它不起作用,因为我不能从它得到一个唯一的微秒值除以数量级。

    还有其他选择吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Anonymous    7 年前
            System.out.println(Instant.now());
    

    刚才的输出是:

    2018年6月23日05:16:45.768006Z

    在我的Mac上的Java 10,它给出了微秒精度。由于Java 9将在许多操作系统上运行,可能不是全部。 Instant.now() 返回 Instant .一个 即时 是以秒和纳秒的形式实现的,如果您愿意的话,您可以单独得到这些秒和纳秒。