看着简单,真用的时候还是会卡一下:一秒是多少毫秒?答案是 1000。毫秒的英文是 millisecond,缩写 ms,所以 100ms 是 0.1 秒,500ms 是半秒。

完整的时间单位阶梯

往小了数:1 秒等于 1000 毫秒,1 毫秒等于 1000 微秒,1 微秒等于 1000 纳秒,每一级进率都是 1000,不是 60,别和时分秒混了。往大了数是 1 分钟等于 60 秒,两级进率不一样,换算最容易在这儿出错。再往下还有皮秒、飞秒,那是物理实验的事,日常用不到。

写代码常碰到的场景

JavaScript 的 setTimeout 第二个参数单位就是毫秒,setTimeout(fn, 300) 是 300 毫秒后执行;Java 的 Thread.sleep(1000) 睡 1 秒,sleep(1) 只睡 1 毫秒,差一千倍,写错就是怪 bug。取当前时间戳时,System.currentTimeMillis() 和 Date.now() 返回的都是毫秒数。

看性能指标时

ping 一个网站显示 35ms,就是往返延迟 35 毫秒;接口响应 200ms 算快,超过 1000ms 人就明显觉得卡。硬件参数里也是同一套单位:1ms 响应时间的显示器、寻道几毫秒的机械盘,数值越小越快。视频里 60 帧意味着每帧约 16.7 毫秒,说的也是这套换算。

日常记住两级换算就够用:秒到毫秒乘 1000,毫秒到秒除 1000,再往下每级还是乘 1000。另外有个小技巧:时间戳是 10 位数字就是秒,13 位就是毫秒,一眼能判断接口返回的单位。