Java中获取当前时间的五种方法:System.currentTimeMillis():返回从1970年1月1日午夜(UTC)到当前时间的毫秒数。System.nanoTime():返回从任意一个不确定的起始点开始到当前时间的纳秒数。Instant.now():返回当前瞬时点。ZonedDateTime.now():返回当前时区的日期和时间。LocalDateTime.now():返回当前时区的日期和时间(不带时区)。

Java中获取当前时间的几种方法
在Java中获取当前时间有多种方法,本文将介绍最常用的几种:
1. System.currentTimeMillis()
long currentTimeMillis = System.currentTimeMillis();
此方法返回从1970年1月1日午夜(UTC)开始到当前时间的毫秒数。
立即学习“Java免费学习笔记(深入)”;
2. System.nanoTime()
long nanoTime = System.nanoTime();
此方法返回从任意一个不确定的起始点开始到当前时间的纳秒数。
3. Instant.now()
Java 8中引入了Instant类,它表示时间线上的一个瞬时点。
Instant now = Instant.now();
此方法返回当前瞬时点。
4. ZonedDateTime.now()
ZonedDateTime类表示特定时区中的日期和时间。
ZonedDateTime now = ZonedDateTime.now();
此方法返回当前时区的ZonedDateTime实例。
5. LocalDateTime.now()
LocalDateTime类表示不带时区的日期和时间。
LocalDateTime now = LocalDateTime.now();
此方法返回当前时区的LocalDateTime实例。
选择合适的方法
选择哪种方法取决于所需的时间精度和时区考虑因素:
- 毫秒级精度: System.currentTimeMillis()或Instant.now()
- 纳秒级精度: System.nanoTime()
- 带时区: ZonedDateTime.now()
- 不带时区: LocalDateTime.now()











