中文开发者指南

Unix 时间戳:秒和毫秒为什么经常搞错?

解释 10 位秒级时间戳和 13 位毫秒级时间戳的区别,以及日志、API、数据库中常见的时区判断方式。

Last reviewed: 2026-05-31Reading time: 4 分钟打开 时间戳转换工具进入 API 调试工作流

核心要点

先判断时间戳单位,再判断时区。10 位通常是秒,13 位通常是毫秒,但生产系统仍要以接口文档和数据源为准。

建议先用脱敏样例理解概念,再把结论带回自己的接口、日志或配置环境中验证。工具输出可以帮助定位问题,但不应替代服务端校验、安全审查或项目上下文判断。

使用前检查

在相关工具里操作前

  • 先确认输入是否为脱敏样例,而不是生产密钥、Token、客户数据或密码。
  • 先理解字段单位、编码格式或安全边界,再把结果用于接口联调。
  • 需要安全判断时,把最终校验放在可信服务端,而不是只依赖浏览器端显示。
1

先判断单位

Unix 时间戳常见两种单位:秒和毫秒。秒级值通常是 10 位,毫秒级值通常是 13 位。把毫秒当秒会得到很远的未来日期,把秒当毫秒会得到 1970 年附近的时间。

调试 API、日志和数据库时,不要只看数字大小。应该确认数据源说明、字段命名和同一系统里的其他时间字段。

2

UTC 与本地时间

Unix 时间戳本身表示一个绝对时间点,转换成人类可读日期时才会显示 UTC 或本地时区。

跨地区排查问题时,建议同时记录 UTC 和本地时间,避免把时区差异误判为接口错误。

  • 日志排查:优先保留 UTC。
  • 用户展示:按用户本地时区显示。
  • 接口对接:确认单位和时区约定。
3

安全建议

时间戳转换工具适合调试和阅读示例值,不应该作为权限判断的来源。

JWT 的 exp、nbf、iat 等字段必须由服务端验签和校验,浏览器端转换只能帮助理解。