有没有办法在午夜后的微秒和 15 微秒的块中提取 java utc 时间?
这意味着从 1 微秒到 15 微秒的时间将由相同的时间表示。
有没有办法在午夜后的微秒和 15 微秒的块中提取 java utc 时间?
这意味着从 1 微秒到 15 微秒的时间将由相同的时间表示。
唯一的问题是时间分辨率。一般来说,Java 通过java.util.Date
或支持毫秒精度System.currentTimeMillis()
。如果您需要更高的精度,System.nanoTime()
可能会成功。
但这带来了另一个问题——nanoTime()
与任何日历无关,它只是一个不断增长的纳秒精度计数器。我能想到的唯一解决方法是:
System.nanoTime()
在午夜确定值,调用它S
。这可能有问题,但您不必等到午夜,一些简单的数学运算就足够了。
计算以下:
(System.nanoTime() - S) / 15000
如果值为0
,则我们处于相同的 15 微秒范围内
您确定 JVM 和您的程序实际上可以利用如此小的时间吗?
您可能想查看这个问题以获取有关以微秒为单位的时间的信息。Java 不支持微秒日期计时。
Java 支持以毫秒为单位的日期,在某些系统上,您可以通过System.nanoTime()
. 如果您的系统支持纳秒分辨率,那么编写一个可以将您的纳秒数转换为 15 微秒块的函数将相当容易。