菜鸟-创作你的创作

system.currenttimemillis()

你提到的 System.currentTimeMillis()Java 中的一个系统方法,用于获取 当前时间的毫秒数(自 1970 年 1 月 1 日 00:00:00 UTC 起的毫秒数)。我给你详细解析一下,包括用法、示例和注意事项。


一、语法

long currentTimeMillis = System.currentTimeMillis();


二、示例代码

public class CurrentTimeExample {
    public static void main(String[] args) {
        long millis = System.currentTimeMillis();
        System.out.println("当前时间毫秒数:" + millis);

        // 转为秒
        long seconds = millis / 1000;
        System.out.println("当前时间秒数:" + seconds);

        // 转为 Date 对象
        java.util.Date date = new java.util.Date(millis);
        System.out.println("当前时间日期对象:" + date);
    }
}

示例输出

当前时间毫秒数:1735689600000
当前时间秒数:1735689600
当前时间日期对象:Tue Dec 31 15:00:00 CST 2025


三、常见用途

1️⃣ 计算时间差 / 执行耗时

long start = System.currentTimeMillis();
// 执行某段耗时代码
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) + " 毫秒");

2️⃣ 生成时间戳(Timestamp)

String timestamp = String.valueOf(System.currentTimeMillis());
System.out.println(timestamp); // 可用于唯一 ID

3️⃣ 与 Date / Calendar / Instant 互转

// Java 8
java.time.Instant instant = java.time.Instant.ofEpochMilli(System.currentTimeMillis());
System.out.println(instant);


四、注意事项

  1. 系统时间可被修改
long nanoStart = System.nanoTime();

  1. 与时区无关

五、对比 System.nanoTime()

方法单位用途时区影响
currentTimeMillis()毫秒获取当前时间UTC
nanoTime()纳秒精确测量耗时无(相对时间)

六、一句话总结

System.currentTimeMillis() = 获取自 1970-01-01 00:00:00 UTC 到当前时间的毫秒数,常用于时间戳、计算耗时和日期转换。

退出移动版