3

有没有办法在午夜后的微秒和 15 微秒的块中提取 java utc 时间?

这意味着从 1 微秒到 15 微秒的时间将由相同的时间表示。

4

3 回答 3

1

唯一的问题是时间分辨率。一般来说,Java 通过java.util.Date或支持毫秒精度System.currentTimeMillis()。如果您需要更高的精度,System.nanoTime()可能会成功。

但这带来了另一个问题——nanoTime()与任何日历无关,它只是一个不断增长的纳秒精度计数器。我能想到的唯一解决方法是:

  • System.nanoTime()在午夜确定值,调用它S。这可能有问题,但您不必等到午夜,一些简单的数学运算就足够了。

  • 计算以下:

    (System.nanoTime() - S) / 15000
    
  • 如果值为0,则我们处于相同的 15 微秒范围内

您确定 JVM 和您的程序实际上可以利用如此小的时间吗?

于 2012-12-20T16:09:46.620 回答
0

您可能想查看这个问题以获取有关以微秒为单位的时间的信息。Java 不支持微秒日期计时。

Java 支持以毫秒为单位的日期,在某些系统上,您可以通过System.nanoTime(). 如果您的系统支持纳秒分辨率,那么编写一个可以将您的纳秒数转换为 15 微秒块的函数将相当容易。

于 2012-12-20T16:10:09.810 回答
0
于 2018-04-04T22:08:20.787 回答