在 Java 中,你可以使用以下几种方式来获取当前时间戳:
-
使用
System.currentTimeMillis()
long currentTimestamp = System.currentTimeMillis();
这个方法返回自 1970 年 1 月 1 日 00:00:00 UTC 开始的当前时间的毫秒数。
-
使用
Instant.now().toEpochMilli()
long currentTimestamp = Instant.now().toEpochMilli();
这个方法返回自 1970 年 1 月 1 日 00:00:00 UTC 开始的当前时间的毫秒数。
-
使用
ZonedDateTime.now().toEpochSecond()
long currentTimestamp = ZonedDateTime.now().toEpochSecond();
这个方法返回自 1970 年 1 月 1 日 00:00:00 UTC 开始的当前时间的秒数。
-
使用
Instant.now().getEpochSecond()
long currentTimestamp = Instant.now().getEpochSecond();
这个方法返回自 1970 年 1 月 1 日 00:00:00 UTC 开始的当前时间的秒数。
以上四种方式都可以获取当前的时间戳,它们之间的主要区别在于返回值的单位不同:
System.currentTimeMillis()
和Instant.now().toEpochMilli()
返回毫秒级时间戳。ZonedDateTime.now().toEpochSecond()
和Instant.now().getEpochSecond()
返回秒级时间戳。
根据你的具体需求,选择合适的方法即可。如果你需要更高精度的时间戳,可以使用毫秒级的方法;如果只需要秒级精度,则可以选择后两种方法。
需要注意的是,虽然这些方法都返回自 1970 年 1 月 1 日 00:00:00 UTC 开始的时间戳,但是它们可能会有微小的差异,因为系统时钟的精度和计算机的时区设置可能会有所不同。