时间戳转出来差了几十年:先核对秒、毫秒和时区
用负数、短毫秒值与带时区日期复核转换结果,不靠位数猜单位。
接口时间看起来不对,先找单位约定
订单日志里的数字不能仅凭十位或十三位认定单位。负号、早期日期和较远的未来日期都会破坏这种猜法。先读接口字段说明,确认它表示 Unix 秒还是毫秒,再用时间戳转换选择同一种单位。本文不读取真实订单或服务器日志。
三个能直接复核的样本
选择“时间戳转日期”,分别输入以下数字和单位。对照结果中的 UTC 行,不要拿浏览器的本地显示与 UTC 混比:
输入 -1000000000,单位:秒
UTC:1938-04-24T22:13:20.000Z
输入 10000000000,单位:秒
UTC:2286-11-20T17:46:40.000Z
输入 1000,单位:毫秒
UTC:1970-01-01T00:00:01.000Z第三个样本若错选秒,会得到 1970-01-01T00:16:40.000Z。第一个样本如果按带负号的字符数猜单位,也会误判。工具明确显示所选单位;它不能替你确定接口原本的字段约定。
同一时刻可以有不同日期文字
Unix 时间戳以 UTC 的 1970-01-01T00:00:00 为基点,不因浏览器所在时区改变。本地日期显示则会随设备时区变化;结果中的“浏览器时区”用于解释显示环境,不是定位用户的地理位置。
日期输入:1970-01-01T08:00:00+08:00
预期 Unix 毫秒:0
预期 UTC:1970-01-01T00:00:00.000Z
日期输入:1970-01-01T00:00:00Z
预期 Unix 毫秒:0两个字符串代表同一时刻。没有 Z 或 +08:00 等偏移的日期时间可能按本地时区解释,不适合跨设备复核。本工具的日期输入要求 YYYY-MM-DDTHH:mm:ss 后跟 Z 或 ±HH:mm,可附一至三位毫秒;不接受斜杠日期、只有年月日或没有时区的时间。
错误输入不应变成一个成功日期
时间戳只接受十进制整数;空白、小数、科学计数法和超出范围的值会被拒绝。本工具使用浏览器原生 Date,毫秒范围为正负 8640000000000000。普通日期输入限四位年份,不支持闰秒、24:00 或超过三位的小数秒;2026-02-30T00:00:00Z 等不存在的日期应报错,不悄悄顺延到三月。
Unix 秒输出向下取整:输入 -1 毫秒,结果为 1969-12-31T23:59:59.999Z,秒为 -1,而不是 0。需要亚秒精度时使用毫秒值;本工具不处理微秒、纳秒或业务系统的自定义纪元。
复现地点和结果边界
2026-10-06 在本机 Windows Chrome 以 Playwright 设置 Asia/Shanghai 和 America/New_York 两种浏览器时区复核:带偏移的纪元样本在两种环境均为 0 毫秒。另测试负数、长秒值、日期边界、错误输入、原文保留和修改参数后旧结果失效。输入与结果只在当前浏览器处理,测试未调用时间服务或上传输入。
上述检查验证转换规则,不证明设备时钟准确、日志字段单位正确或所有浏览器都已实测。修复日志问题后,还应对照同一笔脱敏事件的服务器时间及接口约定,不要为消除显示差异而任意给时间戳加八小时。