自Java时代以来的准确时间(至少)以毫秒为单位

时间:2019-02-01 23:14:25

标签: java time kotlin

我想以单调的方式尽可能精确地获取自纪元以来的当前时间(以毫秒为单位)。

有人有经验吗?我尝试了以下两种方法,但是第一种是不准确的,不是单调的,而且我不确定当时间从一毫秒跳到另一毫秒时,第二种不会有怪异的行为。

(我正在与Kotlin一起工作,因此可以使用任何一种Java解决方案)

fun nowInMicrosSinceEpoch() : Long {
    val now = Instant.now()
    return now.toEpochMilli() * 1000L + (now.getNano().toLong() / 1000L)
}
fun nowInMicrosSinceEpoch() : Long {
    return (System.currentTimeMillis() * 1000L) + (System.nanoTime() % 1_000_000L / 1000L)
}

0 个答案:

没有答案