Unix Timestamp Converter

Unix 时间戳转换器

把任意 Unix 时间戳(秒或毫秒)即时转成可读日期,或反向把日期转回 epoch。一页同时呈现 ISO 8601、RFC 2822、UTC、本地时间,以及 10 多个时区。

Unix 时间戳(也叫 Unix 时间或 epoch 时间)是从 1970 年 1 月 1 日 00:00:00 UTC 起经过的秒数,不计闰秒。它是数据库、日志文件、API 与 cookie 通用的时间格式。10 位数整数是秒(到 2286 年才会进入 11 位),13 位数则是毫秒。

大多数 Unix 工具(curl、date、syslog、JWT 的 exp/iat)使用秒;JavaScript 的 Date.now 返回毫秒;Java、Kotlin 与许多 Web API 也使用毫秒。如果你的数字现在大约是 10 位,那就是秒;13 位则是毫秒。iKit 会按位数自动识别,你也可以用单选按钮强制指定单位。

当前 Unix 时间(实时)
毫秒
单位

ISO 8601(UTC)

UTC 时钟

本地时间

本地 年-月-日 时:分:秒

RFC 2822 / HTTP

与当前时间的相对值

星期几

同一时刻在主要时区的时间

为什么选择 iKit Unix 时间戳转换器

为调试日志、API 与数据库时间戳而设计 — 无需注册、无需上传,你的数据不会经过任何第三方。

实时显示当前 epoch

页面顶部的当前 Unix 时间每秒更新一次,同时提供秒和毫秒两种格式,一键复制。

自动判断秒或毫秒

粘贴任意整数 — 10 位数视为秒,13 位数视为毫秒,16 位数视为微秒。也可以通过单位切换手动指定。

覆盖所有常见输出格式

ISO 8601、RFC 2822、UTC 时钟、你的本地时间,以及"年-月-日 时:分:秒"一次呈现。同时显示星期几和"2 小时前"这类相对时间。

10 多个时区一目了然

同一时刻同时呈现 UTC、纽约、洛杉矶、伦敦、巴黎、东京、上海、台北、加尔各答和悉尼 — 跨团队故障排查与全球 API 必备。

双向转换

切换到"日期 → 时间戳"模式,输入"2024-01-15 10:30 UTC"或从日期选择器选取一个时间,立刻得到秒和毫秒两种 Unix 时间戳。

隐私优先的设计

所有运算都在已加载到浏览器标签页的 JavaScript 中完成。可在 DevTools → Network 中验证:转换时零网络请求,任何时间戳都不会离开你的设备。

Unix 时间戳转换的工作原理

Unix 时间戳只是一个整数,但要把它转成正确的日期,涉及的细节比想象中多。

  1. 1

    判断单位

    Unix 时间戳根据来源不同,可能是秒、毫秒、微秒或纳秒,首先要确定你拿到的是哪一种。iKit 通过位数判断:约 10 位 = 秒,13 位 = 毫秒,16 位 = 微秒。也可以用单位单选按钮手动覆盖自动检测。

  2. 2

    统一换算到毫秒

    JavaScript 的 Date 构造函数接受毫秒,所以我们把秒乘以 1000、把微秒除以 1000,统一换算成毫秒。Date 内部以 64 位浮点数存储自 epoch 起的毫秒数,对任何实际可能的时间戳来说范围都绰绰有余。

  3. 3

    按需要格式化输出

    拿到 Date 对象后,我们用多种方式让它格式化:toISOString 输出 ISO 8601 / UTC,toUTCString 输出 RFC 2822,toString 输出用户本地时区,Intl.DateTimeFormat 输出任意指定的其他时区。

  4. 4

    反向转换

    反过来转换时,浏览器的 Date.parse 支持 ISO 8601 与多种自然格式;datetime-local 输入框以用户本地时区解析;getTime 返回自 epoch 起的毫秒数,除以 1000 即得到秒。

Unix 时间戳的常见用途

你会在哪些真实场景下用到 epoch 转换器。

读取 JWT 的 exp / iat 字段

JSON Web Token 的 iat(签发时间)与 exp(过期时间)以 Unix 秒编码。直接粘贴数字,马上就能看到 token 是否仍然有效、何时签发、距离过期还有多久。

调试数据库时间戳列

Postgres 的 extract(epoch from now)、MySQL 的 UNIX_TIMESTAMP、MongoDB 的 $toDate 都返回 Unix epoch。把某行的时间戳值粘贴进来,就能看到对应的实际墙上时间以及在各时区的显示。

对齐来自不同系统的日志

应用日志走 UTC、syslog 是本地时区、上游服务商的日志走 PST。在这里把每个时间戳转成 ISO 8601,排查事故时就能逐秒对齐。

生成缓存 TTL 或 cookie 过期时间

在选择器里挑一个未来日期,复制出来的 Unix 时间戳可以直接粘贴到 Set-Cookie 头、HTTP Expires 字段或缓存 TTL 配置中。无需心算,也不会出现差一时区的错误。

为什么本地转换很重要

来自生产日志、客服工单、审计轨迹或测试数据中的时间戳看起来无害,实际却往往关联着用户操作和基础设施事件。把它们粘贴到别人的服务器上,就留下了你无法控制的记录。iKit 的转换器就是已加载到浏览器标签页中的 JavaScript。

  • 转换期间零网络请求 — 可在 DevTools → Network 中验证。
  • 所有运算都是纯 JavaScript 的 Date 计算,我们不会对时间戳本身做任何分析。
  • 可放心用于生产数据库时间戳、日志行偏移与审计轨迹条目。

相关教程

来自 iKit 博客的深度教程与工具对比。

常见问题

什么是 Unix 时间戳?

Unix 时间戳(也叫 Unix 时间或 epoch 时间)是从 1970 年 1 月 1 日 00:00:00 UTC 起经过的秒数,不计闰秒。它是数据库、日志文件、API 与 cookie 通用的时间格式。10 位数整数是秒(到 2286 年才会进入 11 位),13 位数则是毫秒。

秒和毫秒有什么区别?

大多数 Unix 工具(curl、date、syslog、JWT 的 exp/iat)使用秒;JavaScript 的 Date.now 返回毫秒;Java、Kotlin 与许多 Web API 也使用毫秒。如果你的数字现在大约是 10 位,那就是秒;13 位则是毫秒。iKit 会按位数自动识别,你也可以用单选按钮强制指定单位。

我的时间戳会被上传到哪里吗?

不会。整个工具就是运行在浏览器标签页里的 JavaScript,转换是纯粹的 Date 运算 — 没有 fetch、没有 XHR、也没有 beacon。打开 DevTools → Network 即可验证:输入时不会发出任何请求。可以放心粘贴生产日志、预发数据库或客服工单中的时间戳。

如何把其他时区的日期转换成时间戳?

Unix 时间戳本身没有时区概念 — 它就是从 epoch UTC 起的秒数,差异只在显示时。"日期 → 时间戳"一侧的选择器使用浏览器的本地时区。要输入其他时区的日期,请在自由输入框中带上明确的偏移量,例如 "2024-01-15 10:30:00 +09:00" 或 "2024-01-15 10:30 UTC"。

2038 年问题会影响这个工具吗?

不会。32 位有符号 Unix 时间戳会在 2038 年 1 月 19 日溢出。iKit 使用 JavaScript 的 Number 类型(53 位安全整数范围),可以处理远超公元 27 万年以后的日期。Y2038 问题主要影响仍在运行 32 位 time_t 的系统 — 大多数现代操作系统内核、数据库和编程语言早已切换到 64 位时间,但遗留的嵌入式固件仍可能受影响。