Unix 时间戳转换
Unix 时间戳与日期时间互转工具,支持秒/毫秒自动识别、北京时间与 UTC 双显示、当前时间戳实时刷新,浏览器本地计算。
当前时间戳
—
—
时间戳 → 日期时间
日期时间 → 时间戳
Unix 时间戳是什么
时间戳(Unix timestamp / Epoch time)指从 1970-01-01 00:00:00 UTC 起经过的秒数,不考虑闰秒。它是跨时区、跨系统表示同一时刻最省事的方式,所以接口、数据库、日志里到处都是它。全球任何一台机器拿到同一个时间戳,指向的都是同一个绝对时刻。
10 位还是 13 位
- 10 位:秒级,Unix 时间戳的标准形式。例:
1757833800 - 13 位:毫秒级,Java、JavaScript 的
Date.now()、MySQL 的部分字段都是这个精度。例:1757833800000
本工具按数值大小自动识别(≥ 1011 视为毫秒),也可以在下拉框里手动指定,避免边界情况猜错。
时区提醒
时间戳本身永远是 UTC,不含时区信息。北京时间 = UTC + 8 小时。当同事说「时间差了 8 小时」时,几乎总是某一端把 UTC 当成了本地时间。本工具同时给出 UTC 与北京时间两行,对照一下就能确认是哪一端错了。
常用换算
- 1 分钟 = 60 1 小时 = 3600 1 天 = 86400(秒)
- 1 天后的时间戳 = 当前时间戳 + 86400
- 命令行取当前秒级时间戳:
date +%s(Linux/macOS);毫秒级:date +%s%3N - JavaScript 取毫秒级:
Date.now()
常见问题
10 位和 13 位时间戳有什么区别?
10 位是秒级时间戳(Unix 时间戳的标准形式),13 位是毫秒级时间戳。本工具会自动识别,也可以手动指定。
为什么转换结果和我的系统时间差 8 小时?
这是时区问题。时间戳本身永远是 UTC,北京时间等于 UTC 加 8 小时。本工具同时显示 UTC 和北京时间,对照一下就能确认。
2038 年会出问题吗?
32 位有符号整数存秒级时间戳会在 2038-01-19 03:14:07 UTC 溢出。现代系统的 64 位时间戳和毫秒时间戳不受影响,本工具用的是 64 位运算。