本站工具与内容仅供参考,不构成财务、法律、医疗或其他专业建议。

Unix 时间戳换算指南:秒与毫秒、UTC 与本地时间如何对应

开发联调和日志排障里最常见的时间戳问题,这里给你一套快速排查思路。

·

秒和毫秒别混淆

后端日志常见毫秒时间戳,前端接口有时用秒。混用会导致时间相差 1000 倍,是最常见的联调问题之一。

快速判断方法是看位数:当前常见秒级时间戳大多是 10 位,毫秒级时间戳大多是 13 位。把 13 位毫秒时间戳直接当秒解析,通常会得到非常离谱的未来日期。

JavaScript 的 Date.now() 返回毫秒,很多后端接口和数据库字段可能使用秒。接口文档里最好明确字段单位,例如 created_at_ms 或 expire_at_seconds,避免靠猜测处理。

UTC 与本地时间

同一时间戳在不同地区显示不同本地时间,但 UTC 是统一基准。排查跨区系统问题时,建议先用 UTC 对齐再回看本地显示。

开发中的实用技巧

遇到时间异常时,先确认输入是秒还是毫秒,再确认客户端时区设置,最后核对 ISO 8601 输出,通常能快速定位问题。

前端排查可以用 new Date(ms).toISOString() 先看 UTC 结果;Python 排查可以用 datetime.fromtimestamp(ts, timezone.utc);Windows 环境也可以用 PowerShell 的 DateTimeOffset 方法辅助确认。

日志系统建议统一存储 UTC 或带时区的 ISO 8601 字符串,展示层再按用户地区转换。这样跨时区排障时,不同团队看到的是同一个绝对时间点。

常见排查清单

第一,确认时间戳单位是秒、毫秒、微秒还是纳秒;第二,确认输入是否为字符串,避免超大数字精度丢失;第三,确认展示时区是 UTC、本地时区还是指定业务时区。

如果只是临时核对 10 位或 13 位时间戳,可以使用鸽鸽工具网的 Unix 时间戳换算工具同时查看本地时间、UTC 和 ISO 8601,减少手动换算错误。