Unix 时间戳转换

将 Unix 时间戳(秒或毫秒)转换为你所在时区和 UTC 的可读日期,也可以把日期转换回时间戳,并能自动识别时间戳的单位。

当前 Unix 时间 0

时间戳 → 日期

日期 → 时间戳

如何转换 Unix 时间戳

  • 时间戳 → 日期:粘贴一个时间戳。工具会根据位数自动识别秒、毫秒、微秒和纳秒,并以你所在的时区、UTC 和 ISO 8601 格式显示日期。
  • 日期 → 时间戳:选择日期和时间,选择它是本地时间还是 UTC,然后复制以秒或毫秒为单位的时间戳。

什么是 Unix 时间?

Unix 时间(也称为纪元时间或 POSIX 时间)计算的是自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数,不计闰秒。它是一个在地球上任何地方都相同的数字,因此数据库、服务器、编程语言和 API 都用它来存储时间点,避免时区带来的混乱。

在代码中获取当前时间戳

  • JavaScript:Math.floor(Date.now() / 1000)
  • Python:int(time.time())
  • PHP:time()
  • Java:Instant.now().getEpochSecond()
  • Linux / macOS 命令行:date +%s
  • SQL(PostgreSQL):EXTRACT(EPOCH FROM now())

常见问题

什么是 2038 年问题?

用有符号 32 位整数存储 Unix 时间的系统,最多只能计到 2,147,483,647,也就是 UTC 时间 2038 年 1 月 19 日 03:14:07。此后这个数字就会溢出。现代系统使用 64 位时间戳,足以使用数十亿年。

为什么我的时间戳有 13 位?

因为它以毫秒为单位,JavaScript 和 Java 默认使用毫秒。除以 1000 即可得到秒。