周岁 · 虚岁 · 属相 · 生日

时间戳转换:Unix 时间戳与北京时间互转(秒 / 毫秒 / 微秒)

Unix 时间戳是"从 1970-01-01T00:00:00Z 起经过的秒数",它记录的是一个绝对瞬间,本身不带时区——同一个时间戳,UTC 读到的是一个时刻,北京(UTC+8)读到的是再往后 8 小时的钟面时间。今天是 2026年10月31日 星期六,下面这组数就是页面生成那一刻的真实值,打开后由脚本按你设备的时钟每秒刷新。

当前时间戳(秒)
1,793,376,000
毫秒级 1,793,376,000,000
对应北京时间
2026-10-31 00:00:00
UTC+8 · 星期六
对应 UTC 时间
2026-10-30 16:00:00
比北京时间慢 8 小时(28800 秒)
今天 00:00(北京)
1,793,376,000
UTC 读数是 2026-10-30 16:00:00

时间戳不会因为你换个时区就变化;会变的只有"读数"。今天(北京 2026年10月31日)已经走过 0 秒,UTC 的今天(2026-10-30)已走过 57,600 秒。全页口径:时间戳是"从 1970-01-01T00:00:00Z 起经过的秒数",它记录的是一个绝对瞬间,本身不带时区;UTC、北京、东京的读数只是同一个瞬间在不同钟面上的投影。本页所有换算都按这个口径,秒级/毫秒/微秒互转只是乘除 1000,不做任何"本地时间"猜测。

时间戳转换计算器(双向换算)

① 时间戳 → 日期时间:填一串数字,自动识别秒 / 毫秒 / 微秒

北京时间(UTC+8)
2026-10-31 00:00:00
星期六 · 北京
UTC 时间(UTC+0)
2026-10-30 16:00:00
比北京慢 8 小时 · 星期五
星期
星期六
一年中的第 304 天
同一瞬间的三种写法
秒 1,793,376,000
毫秒 1,793,376,000,000
微秒 1,793,376,000,000,000
单位不同,指的是同一时刻
与当前时刻相差
0 秒
整日差 0 天 · 含首日 1 天
识别到的单位
秒级
整数部分 10 位,正是秒级的标准写法
时区当地日期时间星期与 UTC 的偏移
UTC 协调世界时
UTC
2026-10-30 16:00:00 星期五 UTC+00:00
UTC+00:00 全年有效
北京 中国标准时间
CST
2026-10-31 00:00:00 星期六 UTC+08:00
UTC+08:00 全年有效
东京 日本标准时间
JST
2026-10-31 01:00:00 星期六 UTC+09:00
UTC+09:00 全年有效
纽约 美国东部时间
ET
2026-10-30 12:00:00 星期五 UTC-04:00 夏令时
夏令时 UTC-05:00 → UTC-04:00
伦敦 英国时间
UK
2026-10-30 16:00:00 星期五 UTC+00:00
UTC+00:00 全年有效

同一个时间戳在五个时区的读数:从 UTC 依次加 8 小时(北京)、9 小时(东京)、减 5 或 4 小时(纽约)、加 0 或 1 小时(伦敦,夏令时)。纽约与伦敦按现行夏令时规则逐瞬间判定:美国 3 月第二个周日 — 11 月第一个周日,英国/欧盟 3 月最后一个周日 — 10 月最后一个周日。

② 日期时间 → 时间戳:按北京时间(UTC+8)解释

秒级时间戳
1,793,376,000
10 位标准写法
毫秒级
1,793,376,000,000
秒级 × 1000
微秒级
1,793,376,000,000,000
秒级 × 1000000
ISO 8601
2026-10-31T00:00:00+08:00
带 +08:00 偏移量,可直接入库

以上按北京时间(UTC+8)解释:同一个钟面时间,UTC 读数是 2026-10-30 16:00:00,比它少 28800 秒。选 1900—2100 年之外的年份不在本页范围内。

口诀:时间戳 = 北京钟面时间按 UTC 算 − 28800;把时间戳读成北京时间则反过来 + 28800。上面的数字都是秒级,毫秒级 / 微秒级只是同一个数乘 1000 / 1000000。

常用时间戳锚点表(秒级 / 毫秒级对照)

这些数值都已逐个核对:秒级 0 就是 Unix 纪元,1000000000 是"十亿秒",2147483647 是 32 位有符号整数的上限。第一列给北京时间,小字给同一瞬间的 UTC 读数——两列相差恰是 8 小时。

日期时间(北京)秒级毫秒级备注
1970-01-01 08:00:00
UTC 1970-01-01 00:00:00
0 0 Unix 纪元
UTC 1970-01-01 00:00:00;北京时间当天 08:00:00,相差 28800 秒
1970-01-01 07:59:59
UTC 1969-12-31 23:59:59
-1 -1,000 纪元前一秒
1970 年以前的时间戳是负数:-1 = 1969-12-31 23:59:59 UTC
2000-01-01 08:00:00
UTC 2000-01-01 00:00:00
946,684,800 946,684,800,000 Y2K(2000-01-01)
UTC 2000-01-01 00:00:00;北京 2000-01-01 08:00:00
2000-01-01 00:00:00
UTC 1999-12-31 16:00:00
946,656,000 946,656,000,000 2000 年元旦(北京 0 点)
同一个"2000 年元旦",按北京时间取 0 点会落在 UTC 的 1999-12-31 16:00:00,相差 28800 秒
2001-09-09 09:46:40
UTC 2001-09-09 01:46:40
1,000,000,000 1,000,000,000,000 十亿秒
UTC 2001-09-09 01:46:40;北京 2001-09-09 09:46:40。程序员的"十亿秒"纪念时刻
2038-01-19 11:14:07
UTC 2038-01-19 03:14:07
2,147,483,647 2,147,483,647,000 32 位上限
UTC 2038-01-19 03:14:07;北京 2038-01-19 11:14:07。32 位有符号整数能表示的最大秒数
2038-01-19 11:14:08
UTC 2038-01-19 03:14:08
2,147,483,648 2,147,483,648,000 32 位溢出第一秒
UTC 2038-01-19 03:14:08;北京 11:14:08。32 位 int 会回卷成 -2147483648
1970-01-01 00:00:00
UTC 1969-12-31 16:00:00
-28,800 -28,800,000 1970 年元旦(北京 0 点)
UTC 读数是 1969-12-31 16:00:00(比北京慢 8 小时)
2010-01-01 00:00:00
UTC 2009-12-31 16:00:00
1,262,275,200 1,262,275,200,000 2010 年元旦(北京 0 点)
UTC 读数是 2009-12-31 16:00:00(比北京慢 8 小时)
2020-01-01 00:00:00
UTC 2019-12-31 16:00:00
1,577,808,000 1,577,808,000,000 2020 年元旦(北京 0 点)
UTC 读数是 2019-12-31 16:00:00(比北京慢 8 小时)
2025-01-01 00:00:00
UTC 2024-12-31 16:00:00
1,735,660,800 1,735,660,800,000 2025 年元旦(北京 0 点)
UTC 读数是 2024-12-31 16:00:00(比北京慢 8 小时)
2026-01-01 00:00:00
UTC 2025-12-31 16:00:00
1,767,196,800 1,767,196,800,000 2026 年元旦(北京 0 点)
UTC 读数是 2025-12-31 16:00:00(比北京慢 8 小时)
2027-01-01 00:00:00
UTC 2026-12-31 16:00:00
1,798,732,800 1,798,732,800,000 2027 年元旦(北京 0 点)
UTC 读数是 2026-12-31 16:00:00(比北京慢 8 小时)
2030-01-01 00:00:00
UTC 2029-12-31 16:00:00
1,893,427,200 1,893,427,200,000 2030 年元旦(北京 0 点)
UTC 读数是 2029-12-31 16:00:00(比北京慢 8 小时)
2038-01-01 00:00:00
UTC 2037-12-31 16:00:00
2,145,888,000 2,145,888,000,000 2038 年元旦(北京 0 点)
UTC 读数是 2037-12-31 16:00:00(比北京慢 8 小时)

"各年元旦(北京 0 点)"那几行说明的是:同一个 1 月 1 日,按北京时间取 0 点与按 UTC 取 0 点,时间戳相差 28800 秒。今天是 2026年10月31日,0 点整(北京)的时间戳是 1,793,376,000。

位数与范围边界:10 位 / 13 位 / 16 位

三种单位写满之后指向的是同一个瞬间:10000000000 秒 = 2286-11-20 17:46:40 UTC(北京 2286-11-21 01:46:40)。也就是说,只要时间戳还在这天之前,位数就够用;越界之后必须升位或换单位。

位数单位可表示范围(正数,UTC 读数)典型场景溢出点
10 位 秒级 1970-01-01 00:00:00 — 2286-11-20 17:46:39
数值 9 999 999 999(UTC 读数)
Unix/Linux、PHP、Python、SQL 的 UNIX_TIMESTAMP(),当下几乎所有系统的默认输出 2286-11-20 17:46:40 UTC
北京 2286-11-21 01:46:40 · 再走一秒就变成 11 位,10 位放不下
13 位 毫秒级 1970-01-01 00:00:00.000 — 2286-11-20 17:46:39.999
数值 9 999 999 999 999(UTC 读数)
JavaScript Date.getTime()、Java System.currentTimeMillis()、MySQL 毫秒精度字段 2286-11-20 17:46:40 UTC
北京 2286-11-21 01:46:40 · 再走一毫秒就变成 14 位
16 位 微秒级 1970-01-01 00:00:00.000000 — 2286-11-20 17:46:39.999999
数值 9 999 999 999 999 999(UTC 读数)
Go time.Now().UnixMicro()、Python 微秒字段、部分数据库与日志的高精度时间列 2286-11-20 17:46:40 UTC
北京 2286-11-21 01:46:40 · 再走一微秒就变成 17 位;17 位以上也已超出 JS 精确整数范围

带负号可以表示 1970 年以前,位数表只约束正数写法:例如 −1 = 1969-12-31 23:59:59 UTC。微秒级 16 位数字已接近 JavaScript 能精确表示的整数上限(约 9.007×10¹⁵),超过 16 位请改用字符串或 BigInt 处理。

单位换算表:1 秒 / 分 / 时 / 天 / 周 / 年

秒级与毫秒级互转就是乘除 1000,与微秒级互转乘除 1000000。下表给的是"1 个时间单位等于多少毫秒、多少微秒"。

时间长度等于多少毫秒等于多少微秒说明
1 秒 1,000 毫秒 1,000,000 微秒 时间戳的最小常用单位:秒级时间戳每秒 +1
1 分钟 60,000 毫秒 60,000,000 微秒 60 秒
1 小时 3,600,000 毫秒 3,600,000,000 微秒 3600 秒
1 天 86,400,000 毫秒 86,400,000,000 微秒 86400 秒;时间戳每过一天正好加 86400
1 周 604,800,000 毫秒 604,800,000,000 微秒 7 天 = 604800 秒
1 个月(按 30 天) 2,592,000,000 毫秒 2,592,000,000,000 微秒 自然月 28—31 天,只能按 30 天折算
1 年(平年 365 天) 31,536,000,000 毫秒 31,536,000,000,000 微秒 365 × 86400 = 31,536,000 秒
1 年(闰年 366 天) 31,622,400,000 毫秒 31,622,400,000,000 微秒 366 × 86400 = 31,622,400 秒

反过来:1 毫秒 = 0.001 秒,1 微秒 = 0.000001 秒 = 0.001 毫秒。时间戳做减法得到的是秒差,除以 86400 就是天差。

同一时间戳在不同时区的读数(每日更新)

以当前时刻的时间戳 1,793,376,000 为例,同一瞬间在五个时区的读数如下。时间戳不变,变的只是钟面时间;纽约与伦敦的偏移会随夏令时切换,北京、东京、UTC 全年不变。

时区当地日期时间星期与 UTC 的偏移
UTC 协调世界时
UTC
2026-10-30 16:00:00 星期五 UTC+00:00
UTC+00:00 全年有效
北京 中国标准时间
CST
2026-10-31 00:00:00 星期六 UTC+08:00
UTC+08:00 全年有效
东京 日本标准时间
JST
2026-10-31 01:00:00 星期六 UTC+09:00
UTC+09:00 全年有效
纽约 美国东部时间
ET
2026-10-30 12:00:00 星期五 UTC-04:00 夏令时
夏令时 UTC-05:00 → UTC-04:00
伦敦 英国时间
UK
2026-10-30 16:00:00 星期五 UTC+00:00
UTC+00:00 全年有效

数据随 2026年10月31日 自动更新;刷新页面后由脚本按你设备的时钟实时重算。历史时区变更(1970 年前各地夏令时、时区调整)不在本页范围内。

口径说明

时间戳为什么没有时区

时间戳是"从 1970-01-01T00:00:00Z 起过了多少秒"的计数,它记录的是一个绝对瞬间的坐标,跟观察者在哪儿无关。UTC、北京、东京的读数只是同一个瞬间在不同钟面上的投影:北京 = UTC+8,所以 北京时间 = 时间戳读数 + 8 小时。所谓"把时间戳转成北京时间"并不是换算,而是"按 UTC+8 这个偏移量去读同一个瞬间"。这也是为什么本页在任何地方都同时给出 UTC 与北京两个读数——只给一个,就容易被误当成"两个不同的时间"。

10 位和 13 位怎么区分

按位数:10 位是秒级(现在约 1.7×10⁹)、13 位是毫秒级(约 1.7×10¹²)、16 位是微秒级(约 1.7×10¹⁵),纳秒级则是 19 位。三者是同一个瞬间换单位,相差正好 1000 倍。自动识别只认位数:整数部分 ≤ 11 位当秒、12—14 位当毫秒、≥ 15 位当微秒;想强制按某种单位读,在第一组面板的"单位"里手动选即可,识别依据会写在结果里。位数表也不是永远有效——到 2286-11-20 17:46:40 UTC 之后 10 位秒就写不下了。

2038 年问题是什么

32 位有符号整数最大 2147483647,对应 2038-01-19 03:14:07 UTC(北京当天 11:14:07)。再过去一秒就溢出回卷成 −2147483648 = 1901-12-13 20:45:52 UTC,老程序里的日期会突然倒退回 1901 年。64 位系统不受影响(可用到约 2920 亿年后),但嵌入式设备、以 INT 存时间戳的老数据库字段、老协议仍在用 32 位,所以本页把 2147483647 和溢出后的 2147483648 都列进了锚点表。今天(2026年10月31日)距离这个上限还有约 12 年。

本页不做什么

① 不做完整时区数据库:纽约、伦敦的夏令时按现行规则回推(美国 3 月第二个周日 — 11 月第一个周日,英国/欧盟 3 月最后一个周日 — 10 月最后一个周日),1970 年前的历史时区变更与各地历史上的夏令时没有纳入;② 不解析自然语言与日期字符串——输入框只接受数字,日期转时间戳请用第二组面板;③ 不做闰秒:Unix 时间戳按 86400 秒一天匀速计算,不含闰秒;④ 本页只做时间换算,不涉及任何吉凶、宜忌之类判断。时间戳是"从 1970-01-01T00:00:00Z 起经过的秒数",它记录的是一个绝对瞬间,本身不带时区;UTC、北京、东京的读数只是同一个瞬间在不同钟面上的投影。本页所有换算都按这个口径,秒级/毫秒/微秒互转只是乘除 1000,不做任何"本地时间"猜测。

常见问题

时间戳转换怎么算?公式是什么?

只有一条公式:时间戳 = 从 1970-01-01T00:00:00Z 到你那个瞬间经过的秒数;反过来,把这个秒数加回纪元,就是那个瞬间。以本页生成时刻为例:1,793,376,000 秒 = 北京 2026-10-31 00:00:00 = UTC 2026-10-30 16:00:00。手算过程是:1,793,376,000 ÷ 86400 = 20,756 天 …… 余 57,600 秒;从 1970-01-01 起数这么多天(闰年自动多一天)就落在 2026-10-30,余下的 57,600 秒就是 UTC 的 16:00:00。本页上方第一组面板就是这条公式的实现,输入任意时间戳立刻给出 UTC 与北京两个读数。

怎么区分秒级和毫秒级时间戳?

先数位数,再对年份:10 位 = 秒(当下 1,793,376,000 就是 10 位)、13 位 = 毫秒(1,793,376,000,000)、16 位 = 微秒(1,793,376,000,000,000)。同一个瞬间,毫秒级数字正好是秒级的 1000 倍、微秒级是 1000000 倍,所以把 13 位数字末尾去掉三位就回到秒。拿不准时用"年份校验":把候选数字按秒读,如果落在今天附近,它就是秒级;如果读出 1970 年附近或几万年以后,说明单位选错了——按毫秒读一次通常就对上了。本页第一组面板默认按位数自动识别,也可以在"单位"里手动指定秒 / 毫秒 / 微秒,识别理由会写在结果里。

为什么我算出来总是差 8 小时?

因为北京是 UTC+8,而时间戳本身没有时区。同一个时间戳 1,793,376,000,UTC 读数是 2026-10-30 16:00:00,北京读数是 2026-10-31 00:00:00,两者正好差 8 小时(28800 秒)。最常见的踩坑方式有两种:① 把"北京钟面时间"直接当成 UTC 去算时间戳,结果少了 28800 秒;② 把 10 位时间戳当毫秒读,结果整体缩到 1970 年。判断方法很简单:本页结果里 UTC 与北京永远同时给出,两列相差恰是 8 小时就是对的。看另一个例子:2000 年元旦按 UTC 算是 946684800,按北京时间 0 点算是 946656000,两个都是"2000 年元旦",差 28800 秒。

北京时间的时间戳怎么算?

先按 UTC 规则算出这个钟面时间的秒数,再减去 28800 秒(8 × 3600):北京钟面时间 = UTC 钟面时间 + 8 小时,所以同一个钟面数字,北京时间对应的时间戳更小。以"今天 00:00(北京)"为例:时间戳是 1,793,376,000,它的 UTC 读数是 2026-10-30 16:00:00(前一天的 16:00:00);反过来,今天 00:00 的 UTC 瞬间对应时间戳 1,793,404,800,比北京口径大 28800。本页第二组面板默认就按北京时间解释:选好年月日时分秒,直接给出秒级 / 毫秒级 / 微秒级时间戳与带 +08:00 的 ISO 8601 字符串。要按 UTC 解释,把结果减去 28800 即可。

2038 年问题是什么?离现在还有多久?

32 位有符号整数最大只能表示 2147483647,对应 2038-01-19 03:14:07 UTC(北京 2038-01-19 11:14:07)。再往后走一秒,这个计数器就会溢出并回卷成 −2147483648,也就是 1901-12-13 20:45:52 UTC,程序里的日期会突然"回到过去"。距今还有约 12 年(以 2026 年计)。现在主流服务器早已是 64 位、时间戳用 64 位整数,理论上可用到约 2920 亿年后;但嵌入式设备、老数据库字段(INT 存时间戳)、老协议与老文件格式仍可能是 32 位,所以这个问题没有完全消失。本页锚点表里把 2147483647 与溢出后的 2147483648 两行并排列出,方便对照。

时间戳会重复吗?同一秒里发生两件事怎么办?

在同一单位下不会重复:秒级时间戳每过一秒 +1,是个严格递增的整数,同一个数值只对应一个瞬间。想区分同一秒里的先后,就得换更细的单位——换成毫秒级(13 位)、微秒级(16 位)甚至纳秒级。真正容易让人误以为"重复"的有两种情况:① 单位混用,比如把毫秒级数字 1767196800000 当成秒读成了 1970 年,或反过来把秒级乘了两次 1000;② 夏令时回拨,纽约、伦敦在换季那天凌晨的钟面时间会出现两次(例如 01:30 走两遍),钟面时间重复,但时间戳仍然是两个不同的值。这也是本页在所有地方同时给出 UTC 读数的原因:只要看 UTC,就不会被当地钟面时间绕进去。

两个时间戳相差多少天怎么算?

三步:相减得秒差 → 除以 86400 得天数 → 看要不要算首日。秒差 = 大的 − 小的;天数想要精确小数就除以 86400,想要"整日差"就向下取整;如果要"含首日"口径(两端的那一天都算进去,民俗与天数统计常用),再 +1 天。举例:十亿秒 1000000000 与 32 位上限 2147483647 相差 1,147,483,647 秒 ≈ 13,281 天(精确值 13281.06 天),也就是 13,281 天 1 小时 27 分 27 秒(含首日口径是 13,282 天),约 36.4 年。本页第一组面板的结果卡里就有"与当前时刻相差"一栏,用的正是这套口径。

图解:时间戳、时区与位数

时间戳与 UTC、北京时间两个读数对照示意
同一个时间戳:UTC 读 00:00:00,北京就要读 08:00:00
10 位秒、13 位毫秒、16 位微秒三种写法的位数对比
秒 / 毫秒 / 微秒:位数不同,指的是同一个瞬间
2147483647 到 2038 年问题的时间轴示意
32 位有符号整数在 2038-01-19 03:14:07 UTC 走到上限
时间戳与日期时间双向换算流程示意
双向换算:按偏移量读出钟面时间,再按同一偏移量反推时间戳

继续查询