Unix 时间戳在线转换工具

免费的 Unix 时间戳在线转换工具,支持秒级(10 位)与毫秒级(13 位)双向转换,覆盖 UTC、北京、东京、纽约、伦敦等常用时区,输出 ISO 8601 标准格式与相对时间描述。完全浏览器本地计算。

最后更新:

当前时间

Unix 时间戳(秒)

Unix 时间戳(毫秒)

Asia/Shanghai

2026-06-29 15:01:54

时间戳 → 日期

日期 → 时间戳

输入时间按浏览器本地时区解释

各语言获取当前时间戳

语言 / 环境秒级毫秒级
JavaScriptMath.floor(Date.now()/1000)Date.now()
Pythonint(time.time())int(time.time() * 1000)
JavaSystem.currentTimeMillis() / 1000System.currentTimeMillis()
Gotime.Now().Unix()time.Now().UnixMilli()
PHPtime()(int)(microtime(true) * 1000)
RustSystemTime::now().duration_since(UNIX_EPOCH)?.as_secs().as_millis()
Shell / Linuxdate +%sdate +%s%3N
MySQLUNIX_TIMESTAMP()UNIX_TIMESTAMP(NOW(3)) * 1000

时间处理易错点

  • 时区混乱:服务端、数据库、应用、客户端时区不一致是 90% 时间 bug 的根源。 推荐:存储用 UTC(或带 +08:00 的 ISO 8601),展示时再按用户时区转换。
  • 2038 年问题:32 位 signed int 在 2038-01-19 后溢出。 现代语言/数据库(MySQL 8 的 TIMESTAMP 仍是 32 位)注意检查。
  • 毫秒/秒混用:常见 bug:把毫秒戳当秒戳传给 PHP date(), 得到 5 万年后的日期。一律按位数判断或文档明确。
  • 夏令时:跨 DST 的定时任务可能跳过或重复执行某小时, Kubernetes CronJob、cron 都受影响。
  • 闰秒:Unix 时间戳忽略闰秒,所以日历秒和原子秒会逐渐失同步, 常规业务无影响,金融/科学场景需 TAI 时间。
  • JavaScript Date 月份从 0 开始new Date(2024, 0, 1) 才是 1 月,new Date(2024, 12, 1) 是次年 1 月。

常见问题

Unix 时间戳是什么?为什么从 1970-01-01 算起?

Unix 时间戳是从 UTC 时间 1970-01-01 00:00:00(Unix Epoch)至今所经过的秒数(不计闰秒)。这个起点是 Unix 系统设计时定下的「零点」。32 位整数能存的最大值是 2147483647,对应 2038-01-19 03:14:07 UTC——即著名的「2038 年问题」,现代系统已普遍改用 64 位整数避免溢出。

怎么区分秒级(10 位)和毫秒级(13 位)时间戳?

看长度即可:10 位是秒(如 1700000000 = 2023-11-14),13 位是毫秒(如 1700000000000)。本工具会自动判断长度选择对应单位。注意 JavaScript 的 Date.now() 和 Java System.currentTimeMillis() 都返回毫秒;而 PHP time()、Python time.time() 默认返回秒。

为什么我转换出来的时间和数据库里的差 8 小时?

几乎都是时区问题。时间戳本身是绝对的(基于 UTC),但显示时按哪个时区格式化就显示哪个时区的时间。北京时间是 UTC+8。常见坑:1) MySQL 的 DATETIME 不带时区信息,存入时按服务器时区解释;2) 应用层、数据库层、操作系统时区不一致;3) 程序员用 new Date(string) 解析不带 Z 的时间字符串。统一用 UTC 存储 + 展示层转换是最佳实践。

JS 里 new Date('2024-01-01') 和 new Date('2024-01-01T00:00:00') 不一样?

对,这是 ECMAScript 规范的坑:纯日期格式(YYYY-MM-DD)按 UTC 解析,带时间的格式按本地时区解析。所以 new Date('2024-01-01') 在北京显示为 2024-01-01 08:00:00,new Date('2024-01-01T00:00:00') 显示 2024-01-01 00:00:00。建议总是带时区后缀,如 2024-01-01T00:00:00+08:00。

ISO 8601 是什么格式?为什么要用它?

ISO 8601 是国际标准的日期时间格式:YYYY-MM-DDTHH:mm:ss.sssZ,其中 T 分隔日期和时间,Z 表示 UTC(或用 +08:00 表示时区偏移)。优点:1) 跨语言、跨数据库无歧义;2) 字符串排序等同于时间排序;3) JSON、XML、HTTP 都推荐用它。本工具的「ISO 8601」输出可直接复制到 API 请求或数据库。

夏令时(DST)会影响时间戳吗?

时间戳本身不受夏令时影响——它永远是 UTC 秒数。但「按某地时区显示」会受影响:比如 America/New_York 在 3 月某天凌晨 2 点会直接跳到 3 点(该小时不存在),秋季会重复 1-2 点这一小时。本工具用浏览器 Intl API 处理时区,已自动考虑 DST 规则。