时间戳转换 打开工具

时间戳转日期时间:为什么同一个时间戳显示不一样

时间戳是绝对时刻,日期时间是它在某个时区里的写法。所以「转换」其实分两步:先把时间戳解成绝对时刻,再按选定时区算出年月日时分秒。第一步永远一样,第二步取决于时区——这就是同一个时间戳能显示出不同日期的原因。

两个方向,各自的坑不一样

时间戳 → 日期:坑在时区。默认按浏览器本地时区显示,同一串数字在北京看是下午、在伦敦看是上午。对日志排查、跨时区协作,必须显式选时区。

日期 → 时间戳:坑在解析。不带时区后缀的 2026-11-05 17:30:00 到底算哪个时区?不同语言默认值不同:JavaScript 的 new Date("2026-11-05 17:30:00") 按本地时区,而 new Date("2026-11-05") 按 UTC。这是最隐蔽的一类错。

这个工具的规则是明确的:不带时区后缀的输入按你选择的时区解析;带 Z 或 ±HH:MM 的 ISO 8601 输入按其自身时区解析,不会二次套用时区选择器。

ISO 8601 后缀怎么读

写接口时建议一律带 Z 或偏移量,让「哪个时区」这件事写在数据里,而不是藏在解析方的默认值里。

切换时区会改变时间戳吗

不会。同一个 Unix 时间戳代表同一个绝对时刻,切换时区只改变日期时间的显示方式,时间戳本身不变。

所以「美国同事看到的时间比我晚一天」并不意味着数据错了——那是同一个时刻在两个时区里的两个写法。只有当你把日期反向转成时间戳、且输入不带时区后缀时,时区选择才真正影响结果。

非整小时偏移与时区数据库

时区不只是整小时。尼泊尔是 +05:45,印度是 +05:30,伊朗是 +03:30。写死「加 8 小时」的代码在这些地方会错半小时。

这个工具用浏览器原生的 Intl 能力,覆盖完整 IANA 时区数据库,包括历史规则变更与非整小时偏移,不需要自己维护时区表。

上面这些都不用装软件,也不用注册:打开页面就能用。

打开时间戳转换 →

常见问题

为什么我转出来的日期是 1970 年?

大概率把秒级时间戳当成了毫秒。秒当毫秒会落在 1970-01-19 附近;反过来毫秒当秒会跑到几万年以后。先确认单位,再转换。

输入日期时间时要不要带秒?

可以不带。省略秒会按 0 秒处理。但建议写全,避免「同一分钟内两次转换结果不同」这种看起来像 bug 的现象。

转换过程会把时间数据发到服务器吗?

不会。所有转换都在浏览器内用原生 API 完成,页面不发出任何携带数据的网络请求,断网也能用。