Unix 时间戳转换工具

时间戳与日期双向转换,自动识别秒和毫秒,多时区同时对照。

-
秒级(10 位)
-
毫秒级(13 位)
-
本地时间
10 位数字按秒处理,13 位按毫秒处理,自动判断不用手动切换。

Unix 时间戳使用说明

Unix 时间戳(Unix Timestamp)是指从 1970 年 1 月 1 日 00:00:00 UTC 起,到某一时刻经过的秒数,不包含闰秒。它是计算机系统里最通用的时间表示方式,因为一个整数就能精确定位到某一瞬间,不受时区和日期格式的影响。

为什么会有秒和毫秒两种

早期系统(Unix、PHP、Python 的 time()、MySQL 的 UNIX_TIMESTAMP())用秒为单位,所以是 10 位数字。而 JavaScript 的 Date.now()、Java 的 System.currentTimeMillis() 以及大多数移动端和前端框架用毫秒,所以是 13 位数字。

两者混用是开发中最常见的 bug 来源:把 13 位毫秒值当秒传给后端,日期会跑到几万年以后;把 10 位秒值当毫秒传给前端,日期会回到 1970 年。本工具会根据位数自动识别,同时给出两种单位的结果,避免你踩这个坑。

时间戳与时区的关系

这里有个关键概念:时间戳本身没有时区。它就是一个绝对的时间点,全世界任何地方拿到同一个时间戳,指向的都是同一个瞬间。时区只在"把时间戳转换成人类可读的日期字符串"这一步才参与运算。

所以同一个时间戳 1750000000,在东八区显示为某个下午的时间,在 UTC 显示为当天更早的时间,在纽约显示为前一天——但它们在时间轴上是同一个点。本工具同时给出 UTC、北京时间(UTC+8)和你的本地时间三个视角,方便跨时区排查问题。

常见应用场景

2038 年问题

32 位有符号整数最大能表示到 2147483647,对应 UTC 时间 2038 年 1 月 19 日 03:14:07。超过这个时刻,使用 32 位存储秒级时间戳的旧系统会溢出。现代系统普遍使用 64 位整数,可以表示到约 2920 亿年后,不存在这个问题。上面速查里的 2000000000 就是用来观察这一临界区间的。

常见问题

输入 10 位和 13 位都可以吗?

都可以。工具按位数自动判断:10 位以内按秒解释,11 位到 13 位按毫秒解释,并且会同时输出两种单位的对照值。

为什么转换出来的时间和我想的差 8 小时?

说明你在拿 UTC 时间和北京时间做对比。时间戳是绝对时间点,UTC 表示的是零时区的时间。北京时间是 UTC+8,所以同一时间戳下北京时间比 UTC 早 8 小时。工具会同时展示两个值,对照看就不会混。

日期转时间戳时,输入的日期按哪个时区解释?

按你的本地时区解释,这也是大多数开发场景的预期行为。如果你的输入是 UTC 时间,需要在数值上自行扣除时差,或者把结果加上 8 小时(以北京时间为例)。

支持哪些日期格式?

2026-10-15 14:30:00、2026/10/15 14:30、2026-10-15T14:30:00Z 以及只写日期 2026-10-15(默认当天 00:00:00)都可以识别。

相关工具