时间戳转换器 (Unix Timestamp Converter)

在线快速进行 10 位秒级、13 位毫秒级时间戳与北京时间 (UTC+8)、UTC、ISO 8601 日期时间双向高精度转换。纯本地执行,数据安全私密。

当前 Unix 时间戳 (秒)
1793566229
开发者特惠 阿里云官方合作专区

阿里云爆款云服务器 · 开发者上云特惠 99元/年起

2核2G/2核4G 高性能轻量服务器、OSS 对象存储与云数据库限时特价,专属通道直达优惠。

时间戳 → 北京时间 (Date)

北京时间 (UTC+8):-
标准 UTC 时间:-
ISO 8601:-

北京时间 (Date) → 时间戳

时间戳 (秒 / 10位):-
时间戳 (毫秒 / 13位):-

常见时间跨度换算对照表 (Time Span Reference)

后端开发、Redis 缓存过期时间设置与定时任务常用秒数对照表。

1 分钟 (Minute)
60 秒
60,000 ms
1 小时 (Hour)
3,600 秒
3.6×10⁶ ms
1 天 (Day)
86,400 秒
8.64×10⁷ ms
1 周 (Week)
604,800 秒
7 天
30 天 (Month)
2,592,000 秒
常用 Token 有效期
1 年 (平年)
31,536,000 秒
365 天

常见编程语言获取当前 Unix 时间戳代码速查 (Cheat Sheet)

汇总主流编程语言(JavaScript、Python、Go、Java、PHP、MySQL 等)获取秒级 (10位) 与毫秒级 (13位) 时间戳的标准函数与语法。

编程语言 / 平台获取秒级时间戳 (10 位)获取毫秒级时间戳 (13 位)
JavaScript / Node.jsMath.floor(Date.now() / 1000)Date.now()
Pythonimport time; int(time.time())int(time.time() * 1000)
Go (Golang)time.Now().Unix()time.Now().UnixMilli()
JavaSystem.currentTimeMillis() / 1000System.currentTimeMillis()
PHPtime()round(microtime(true) * 1000)
MySQL / MariaDBSELECT UNIX_TIMESTAMP();SELECT ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000);
C# (.NET)DateTimeOffset.UtcNow.ToUnixTimeSeconds()DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()
RustSystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs()SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis()
Linux Shell / Bashdate +%sdate +%s%3N

10 位与 13 位时间戳的区别与相互转换

• 10 位时间戳(秒级):长度为 10 个数字字符,精确到“秒”,如 1790105507。通常在 C、Go、PHP、Python 及 MySQL 等后端语言和数据库中作为默认存储标准。

• 13 位时间戳(毫秒级):长度为 13 个数字字符,精确到“毫秒”,如 1790105507555。在前端 JavaScript(如 Date.now())和 Java 标准库中广泛使用。

双向换算公式:
10位秒级转13位毫秒:秒级时间戳 × 1000
13位毫秒转10位秒级:Math.floor(毫秒时间戳 / 1000)

常见国际标准日期时间格式规范

中国标准时间 (CST / UTC+8):2026-09-23 15:30:00
ISO 8601 国际标准 (含时区偏移):2026-09-23T15:30:00+08:00
RFC 2822 (常用于 HTTP 请求头 / 邮件):Wed, 23 Sep 2026 07:30:00 GMT

Unix 时间戳常见问题解答 (FAQ)

帮助开发者理解时间戳原理、跨时区计算及 2038 年问题的技术科普。

Q1: 什么是 Unix 时间戳 (Unix Epoch)?

Unix 时间戳(也称 POSIX 时间)是指从协调世界时(UTC)1970 年 1 月 1 日 00:00:00 起至当前时刻所经过的总秒数(不计闰秒)。由于其格式统一为一串纯数字且与任何地理时区解耦,成为跨系统、跨数据库和微服务通信中最通用的时间表示格式。

Q2: 为什么 Unix 时间戳要以 1970 年 1 月 1 日为起点?

1970 年是 Unix 操作系统的诞生元年。贝尔实验室在设计 Unix 系统时,需要确定一个固定的时间基准点(Epoch)。为了兼顾当时计算机 32 位整型数的表示范围并避免浪费内存,工程师将 1970 年 1 月 1 日设定为时间纪元元年。

Q3: 什么是著名的“2038 年问题 (Year 2038 Problem)”?

在旧版 32 位操作系统中,时间戳通常采用有符号 32 位整数(signed 32-bit int)存储。其最大能表示的秒数为 2,147,483,647,对应的准确时间为 2038 年 1 月 19 日 03:14:07 UTC。届时 32 位整数将发生溢出变成负数,导致系统时间倒流回 1901 年。现代 64 位操作系统(如 Linux 64位系统)已普遍采用 64 位时间戳,理论上可以支持数百亿年而不会发生溢出。

Q4: 时间戳与夏令时、地理时区有关系吗?

没有关系。无论您身处中国北京(UTC+8)、美国纽约(UTC-5)还是英国伦敦(UTC+0),同一物理时刻在全世界各地的 Unix 时间戳数值是完全相同的。时区只在将时间戳渲染转换成当地具体公历日期字符串时才会发挥作用。