import java.time.Instant
fun main() {
val now = Instant.now()
val micros = now.toEpochMilli() * 1000 + now.getNano() / 1000
println("当前时间戳 (微秒): $micros")
}
代码解释:
- Instant.now(): 获取当前时间戳,精度到纳秒。
- now.toEpochMilli(): 获取自 1970-01-01T00:00:00Z 以来的毫秒数。
- now.getNano(): 获取当前秒内的纳秒部分。
- micros: 将毫秒转换为微秒,并加上纳秒部分 (转换为微秒)。
输出:
输出将类似于:
当前时间戳 (微秒): 1700000000000000
注意:
- Instant 类是 Java 8 引入的,提供了纳秒级别的精度。
- 以上代码计算出的微秒数是自 Unix 纪元 (1970-01-01T00:00:00Z) 以来的总微秒数。
- 由于系统时钟的限制,实际精度可能达不到纳秒级别,但 Instant 提供了最高的可用精度。