睿工具睿工具

时间戳怎么读、怎么转(秒与毫秒)

更新于 2026-10-17

数据库里存着 1757212200,日志里写着 1757212200000,接口文档说"返回 Unix 时间戳"。同一件事,两种长度——这就是排查时间问题时最常遇到的第一个岔口。

先看位数:10 位是秒,13 位是毫秒

时间戳记录的是"从 1970-01-01 00:00:00 UTC 起过了多少时间",只差单位:

  • 10 位:以秒为单位,比如 1757212200;
  • 13 位:以毫秒为单位,比如 1757212200000(就是同一个瞬间 ×1000)。

两个长度差三位,肉眼扫一眼就能分辨;时间戳转换把两种都直接认,你只要粘贴,它会告诉你这是秒还是毫秒。

读一个时间戳(三步)

  1. 把数字粘进「时间戳」输入框(10 位秒或 13 位毫秒都行),点「解析」。
  2. 一次拿到四行结果:本地时间、UTC 时间、ISO 8601、相对时间(几小时前 / 几天前)。
  3. 对着日志里的顺序查:相对时间用来快速判断"这条日志是不是刚发生的",ISO 8601 用来粘给同事或记进工单。

反过来:日期转时间戳

把日期文本粘进第二个输入框——支持 2026-09-07 10:30:00 这样的常规写法,也支持 ISO 8601(如 2026-09-07T02:30:00Z)——点「转换」,同时得到毫秒与秒两个结果,按对方接口要的单位取用。

为什么换算出来总是差 8 小时

因为时间戳本身不带时区:它只表示一个瞬间。差 8 小时不是算错了,而是同一个瞬间的两种"读法":

  • 工具里的「UTC 时间」是国际标准时间;
  • 「本地时间」按你所在时区显示,国内就是 UTC+8,比 UTC 早 8 小时。

排查接口时间问题时记住两个约定:单位(秒还是毫秒)、时区(接口给的是 UTC 还是本地时间)。服务端按 UTC 存储、展示层转本地时区,是最常见的做法;两边不一致时就会出现"数据总是差 8 小时"。

常见问题

时间戳会"过期"吗

不会。它只是某一瞬间的编号,没有有效期。看到旧的时间戳说明那件事发生得早,不说明数据有问题。

2038 问题是什么

早期系统用 32 位存秒级时间戳,最多表示到 2038-01-19。现代系统普遍用 64 位、或直接使用毫秒;本工具按你给的数值解析,13 位毫秒不受 32 位上限影响。

能转农历、或指定"日本时间"这类时区吗

不能,这个工具只做"时间戳 ↔ UTC / 本地时间"的互转。农历、节气、跨时区换算属于日期时间工具箱的范围。

为什么乘以 1000 和直接解析结果一样

因为秒和毫秒只是同一瞬间的两种单位,值不同、指向的时刻完全相同。