java如何获取当前时间的毫秒数

java如何获取当前时间的毫秒数

作者:William Gu发布时间:2026-02-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何在Java中获取系统当前时间的毫秒表示?

我想知道用Java代码怎样获取当前时间对应的毫秒数。

A

使用System.currentTimeMillis()获取当前时间毫秒数

在Java中,可以使用System.currentTimeMillis()方法获取从1970年1月1日00:00:00 UTC开始的当前时间毫秒数。这是一个静态方法,直接调用即可获得long类型的时间值。

Q
Java中获取时间毫秒数与纳秒数的区别是什么?

我看到代码里既有currentTimeMillis()也有nanoTime(),它们返回的时间有什么不同?

A

currentTimeMillis()提供时间戳,nanoTime()用于时间间隔测量

currentTimeMillis()返回的是当前时间点的UTC毫秒数,常用于时间戳记录。nanoTime()提供高精度的时间间隔测量,精度达到纳秒级,但不代表任何固定时间点的绝对时间。

Q
有没有更现代的Java方法获取当前时间的毫秒数?

除了System.currentTimeMillis(),Java有没有其他API来获取当前时间的毫秒数?

A

使用Java 8及以上版本的Instant类获取毫秒时间

Java 8引入了java.time.Instant类,可以通过Instant.now().toEpochMilli()方法获取当前时间的毫秒数。这个方法利用新的日期时间API,提供更好的时间处理功能。