📅 2026-05-30 · 阅读时间约 3 分钟
如果你写过代码,一定见过类似 "1700000000" 这样的数字。这就是 Unix 时间戳——计算机世界的时间度量单位。理解它不仅有助于调试,还能避免线上事故。
因为时间戳是纯数字,不受时区、语言、文化影响。同一时刻在中国和美国的时间戳是同一个数字,但日期字符串可能是 "2024-01-01" 和 "12/31/2023"——这就是著名的跨时区 bug 来源。存储层永远用 UTC 时间戳,展示层再按用户时区格式化。
JavaScript 的 Date.now() 返回毫秒(13 位),而 Python 的 time.time() 返回秒(10 位)。后端给前端传时间戳时如果搞错精度,数据会差 1000 倍——日期显示在 1970 年或 50000 年。建议在 API 文档中明确标注时间戳的精度单位。
32 位系统用有符号 int 存储时间戳,最大值 2147483647,对应 2038 年 1 月 19 日 03:14:07 UTC。超过这个时刻,数字会溢出变为负数——类似于千年虫问题。虽然 64 位系统已经解决(可以撑到 2920 亿年后),但嵌入式设备和老旧数据库仍需留意。
总结:调试时不确定一个数字是不是时间戳?打开时间戳转换工具粘贴数字——如果转换出来的日期在 1970-2100 之间,那就是时间戳。