什么是 Unix 时间戳
Unix 时间戳指的是从 1970 年 1 月 1 日 00:00:00 UTC 起,到某个时刻经过的秒数。 它不包含时区信息——同一个时刻,在世界任何地方算出来的时间戳都是同一个数字,这正是它好用的地方。
所以在日志、接口返回、数据库里看到的那一长串数字,换算成"人看得懂的时间"时, 还要再决定一件事:按哪个时区显示。本站默认同时给出本地时间和 UTC,方便对照。
秒和毫秒怎么区分
- 10 位(例如
1789000000)通常是「秒」。多数后端接口和日志用这个。 - 13 位(例如
1789000000000)通常是「毫秒」。JavaScript 的Date.now()返回的就是毫秒。 - 两者相差 1000 倍,填错了会得到 1970 年或者几万年以后的结果——这也是最常见的踩坑点。本站会按位数自动判断。
几个容易记错的点
时间戳本身没有时区,"显示出来的时间"才有。同一个时间戳,在服务器上和在本机上看,可能差好几个小时。
- 2038 年问题:用 32 位有符号整数存秒级时间戳,最大到 2038-01-19,之后就溢出了。现在新系统基本都用 64 位或毫秒。
- 夏令时:国内不用夏令时,所以本地时间和 UTC 是固定的时差;但对国外服务器,跨夏令时切换的那一小时要特别小心。
- 日志排查:服务器日志常按 UTC 记,本地是东八区。看到"凌晨 3 点的报错",先确认它记的是哪个时区,别急着怀疑半夜有人动过。
怎么用
- 把时间戳粘进「时间戳 → 日期时间」,点转换,会同时给出本地时间、UTC、ISO 8601 和相对现在的时间。
- 选一个日期时间,点转换,会得到对应的秒和毫秒两个值。
- 上方"把当前时间填入下方"可以一键把此刻填进日期框,用来做时间差的起点。
本工具完全在你的浏览器里运行,输入的内容不会发送到任何服务器,也不会被保存。