在线时间戳转换工具

Unix Timestamp ↔ 日期时间互转 · 批量转换 · 多时区

当前 Unix 时间戳

0

时间戳 → 日期时间

日期时间 → 时间戳

批量时间戳转换

每行输入一个时间戳(支持秒或毫秒级)

转换工具

教学与参考

什么是 Unix 时间戳?

Unix 时间戳(Unix Timestamp)是从 1970 年 1 月 1 日 00:00:00 UTC(称为 Unix 纪元,Unix Epoch)到某一时刻之间所经过的秒数。它是计算机系统中最常用的时间表示方式之一。

时间戳的特点

  • 与时区无关:Unix 时间戳是一个绝对值,不受时区影响,方便跨时区通信。
  • 整数表示:便于存储和比较,在数据库中广泛使用。
  • 秒级与毫秒级:标准 Unix 时间戳为秒级(10 位数),JavaScript 等语言常使用毫秒级(13 位数)。

常见编程语言获取时间戳

  • JavaScriptMath.floor(Date.now() / 1000)
  • Pythonimport time; int(time.time())
  • JavaSystem.currentTimeMillis() / 1000
  • PHPtime()
  • Gotime.Now().Unix()
  • MySQLSELECT UNIX_TIMESTAMP()

2038 年问题

由于许多系统使用 32 位整数存储 Unix 时间戳,最大值为 2,147,483,647,对应 2038 年 1 月 19 日 03:14:07 UTC。超过此时间后将发生整数溢出。现代系统已逐步迁移至 64 位时间戳以解决此问题。

常见问题

为什么转换结果差了 8 小时?

Unix 时间戳本身以 UTC 为基准。如果你在 UTC+8 时区(如北京、台北),将时间戳转换为本地时间时需要加 8 小时。本工具默认使用你的浏览器时区,也可手动切换。

10 位和 13 位时间戳有什么区别?

10 位数是秒级时间戳(如 1700000000),13 位数是毫秒级时间戳(如 1700000000000)。JavaScript 的 Date.now() 返回毫秒,而 Unix 系统的 time() 返回秒。了解更多 →

时间戳可以是负数吗?

可以。负数时间戳表示 1970 年 1 月 1 日之前的时间。例如 -86400 代表 1969 年 12 月 31 日 00:00:00 UTC。

什么是 2038 年问题?

32 位系统的 Unix 时间戳最大值为 2,147,483,647,对应 2038 年 1 月 19 日。超过后将溢出。现代 64 位系统已解决此问题。阅读完整指南 →