Pack Camo

Unix 时间戳转换工具

秒级、毫秒级时间戳与日期双向转换,支持所有时区。

所有处理都在本地完成,不会上传任何内容。

现在
秒—
毫秒—

已按秒读取。

将 epoch 时间转换为可读日期,反之亦然

这款 Unix 时间戳转换工具可将 epoch 数值转换为易读的日期——UTC、你所在的时区以及任意其他时区——也能把日期和时间转换回时间戳。它会自动识别秒、毫秒、微秒和纳秒,还能读取 ISO 8601 及其他日期字符串,并以 ISO 8601、RFC 2822、HTTP 日期和“3 天前”这样的相对时间显示结果。实时时钟显示当前 Unix 时间,批量模式可一次转换整个列表。一切都在你的浏览器中运行。

如何转换 Unix 时间戳

  1. 1将 1700000000 或 1700000000123 这样的时间戳粘贴到 时间戳 → 日期。单位根据位数自动识别;如果判断有误,请手动选择。
  2. 2查看 UTC、你的时区以及工具栏所选时区下的日期,并附有 ISO 8601、RFC 2822 和相对时间格式。点击任意一项旁边的复制图标即可复制。
  3. 3反向转换时,打开 日期 → 时间戳,选择日期、时间和时区,然后复制秒或毫秒。
  4. 4要转换大量数值,打开 批量,每行粘贴一个,然后复制结果或下载为 CSV。

什么是 Unix 时间戳?

Unix 时间计算的是自 Unix 纪元 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数。它是一个不含时区的单一数字,非常适合存储和比较时间点:1700000000 在世界任何地方都表示 2023 年 11 月 14 日 22:13:20 UTC,只有显示方式取决于你所在的位置。

1970 年之前的时间为负数——-86400 表示 1969 年 12 月 31 日——并且 Unix 时间忽略闰秒:每天恰好 86,400 秒,因此计数保持简单,闰秒由时钟吸收而不被计入。

秒、毫秒、微秒和纳秒

自动识别依据位数:最多 11 位为秒,12 到 14 位为毫秒,15 到 17 位为微秒,更多则为纳秒。这对 1973 年到 5138 年之间的任何日期都准确。对于非常接近 1970 年的日期,请手动选择单位。

秒(10 位)
经典的 Unix 时间,用于 Unix 工具、PHP 的 time()、Python 的 int(time.time())、JWT 的 exp 和 iat 声明以及大多数数据库。示例:1700000000。
毫秒(13 位)
用于 JavaScript 的 Date.now()、Java 的 System.currentTimeMillis() 以及许多 JSON API。示例:1700000000123。
微秒(16 位)
用于 PostgreSQL 内部存储、Python datetime 的精度以及部分日志系统。示例:1700000000123456。
纳秒(19 位)
用于 Go 的 time.UnixNano()、InfluxDB 和 Prometheus。示例:1700000000123456789——本工具使用任意精度运算,因此能精确保留。

日期格式说明

粘贴日期字符串时,其中包含的时区会被采用。带时间但没有时区的字符串(如 2024-03-10 08:30)按你的本地时间读取,而只有日期的字符串(如 2024-03-10)按 UTC 午夜读取——这是 JavaScript 遵循的规则——工具会告诉你采用了哪种方式。

ISO 8601 / RFC 3339
<code>2023-11-14T22:13:20.000Z</code>——JSON API 和数据库使用的格式。Z 表示 UTC;否则后面跟随偏移量,如 <code>+05:30</code>。按文本排序即可得到正确顺序。
RFC 2822
<code>Tue, 14 Nov 2023 22:13:20 +0000</code>——电子邮件 Date 头的格式,RSS 也使用它。
HTTP 日期
<code>Tue, 14 Nov 2023 22:13:20 GMT</code>——RFC 9110 的 IMF-fixdate 格式,始终使用 GMT,用于 Date、Expires、Last-Modified 头以及 Cookie。

时区与夏令时

时区列表包含浏览器已知的所有 IANA 时区,如 America/New_York、Europe/Berlin 或 Asia/Kolkata,以及完整的夏令时历史。将日期转换为时间戳有两种棘手情况:春季时钟拨快时,02:30 这样的本地时间会被跳过;秋季则有一个小时出现两次。本工具将被跳过的时间读作跳变之后的时刻,将重复的时间读作第一次出现,并在发生时提示你。

请以 UTC 存储和传输时间戳或 ISO 8601 字符串,仅在显示时转换为本地时区。对于按固定时刻重复的计划任务,请参阅 Cron 表达式生成器。

2038 年问题

以有符号 32 位整数存储 Unix 时间的系统最多只能计到 2,147,483,647,即 2038 年 1 月 19 日 03:14:07 UTC。一秒后数值溢出为负数,被读作 1901 年 12 月。现代 64 位系统可安全使用数十亿年;请检查嵌入式设备、旧文件格式以及声明为 32 位 INT 的数据库列。在上方粘贴 2147483647 即可查看这一时刻,或在 进制转换器 中查看位模式。

常见问题

如何将 Unix 时间戳转换为日期?
将其粘贴到“时间戳 → 日期”。工具会识别它是秒、毫秒、微秒还是纳秒,并显示 UTC、你的本地时间以及所选任意时区的日期。
如何获取当前 Unix 时间戳?
顶部的实时时钟会以秒和毫秒显示。在代码中:JavaScript 用 Math.floor(Date.now() / 1000),Python 用 int(time.time()),PHP 用 time(),Unix shell 用 date +%s。
如何判断时间戳是秒还是毫秒?
数一数位数。当前以秒计的时间戳为 10 位,以毫秒计为 13 位;微秒为 16 位,纳秒为 19 位。工具会自动判断并显示所用单位。
Unix 时间戳是 UTC 吗?
Unix 时间戳本身没有时区:它计算自 1970 年 1 月 1 日 UTC 午夜以来的秒数,因此在任何地方都指同一时刻。只有显示为日期时才涉及时区。
2038 年会发生什么?
2038 年 1 月 19 日 03:14:07 UTC,Unix 时间将超过 2,147,483,647,即有符号 32 位整数的最大值。仍以 32 位存储时间的软件会溢出;64 位时间不受影响。
可以转换 1970 年之前的日期吗?
可以。纪元之前的日期对应负数时间戳;-86400 表示 1969 年 12 月 31 日 00:00 UTC。工具接受负值,并对 1970 年之前的日期返回负值。
Unix 时间计算闰秒吗?
不计算。Unix 时间将每天视为恰好 86,400 秒,因此不计闰秒,任何日期的时间戳都可以通过简单算术求得。
会向服务器发送数据吗?
不会。所有转换(包括时区规则)都使用浏览器内置的 Intl 支持在你的浏览器中完成。