读取 JWT 的 exp / iat 字段
JSON Web Token 的 iat(签发时间)与 exp(过期时间)以 Unix 秒编码。直接粘贴数字,马上就能看到 token 是否仍然有效、何时签发、距离过期还有多久。
把任意 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 会按位数自动识别,你也可以用单选按钮强制指定单位。
—
秒
—
毫秒
浏览器以你的本地时区解析此输入框 — 如需从其他时区转换,请修改操作系统时区或使用下方的自由输入框。
支持所有 Date.parse 可解析的格式:"2024-01-15 10:30 UTC"、"Jan 15, 2024"、"2024-01-15T10:30:00+09:00"。
为调试日志、API 与数据库时间戳而设计 — 无需注册、无需上传,你的数据不会经过任何第三方。
页面顶部的当前 Unix 时间每秒更新一次,同时提供秒和毫秒两种格式,一键复制。
粘贴任意整数 — 10 位数视为秒,13 位数视为毫秒,16 位数视为微秒。也可以通过单位切换手动指定。
ISO 8601、RFC 2822、UTC 时钟、你的本地时间,以及"年-月-日 时:分:秒"一次呈现。同时显示星期几和"2 小时前"这类相对时间。
同一时刻同时呈现 UTC、纽约、洛杉矶、伦敦、巴黎、东京、上海、台北、加尔各答和悉尼 — 跨团队故障排查与全球 API 必备。
切换到"日期 → 时间戳"模式,输入"2024-01-15 10:30 UTC"或从日期选择器选取一个时间,立刻得到秒和毫秒两种 Unix 时间戳。
所有运算都在已加载到浏览器标签页的 JavaScript 中完成。可在 DevTools → Network 中验证:转换时零网络请求,任何时间戳都不会离开你的设备。
Unix 时间戳只是一个整数,但要把它转成正确的日期,涉及的细节比想象中多。
Unix 时间戳根据来源不同,可能是秒、毫秒、微秒或纳秒,首先要确定你拿到的是哪一种。iKit 通过位数判断:约 10 位 = 秒,13 位 = 毫秒,16 位 = 微秒。也可以用单位单选按钮手动覆盖自动检测。
JavaScript 的 Date 构造函数接受毫秒,所以我们把秒乘以 1000、把微秒除以 1000,统一换算成毫秒。Date 内部以 64 位浮点数存储自 epoch 起的毫秒数,对任何实际可能的时间戳来说范围都绰绰有余。
拿到 Date 对象后,我们用多种方式让它格式化:toISOString 输出 ISO 8601 / UTC,toUTCString 输出 RFC 2822,toString 输出用户本地时区,Intl.DateTimeFormat 输出任意指定的其他时区。
反过来转换时,浏览器的 Date.parse 支持 ISO 8601 与多种自然格式;datetime-local 输入框以用户本地时区解析;getTime 返回自 epoch 起的毫秒数,除以 1000 即得到秒。
你会在哪些真实场景下用到 epoch 转换器。
JSON Web Token 的 iat(签发时间)与 exp(过期时间)以 Unix 秒编码。直接粘贴数字,马上就能看到 token 是否仍然有效、何时签发、距离过期还有多久。
Postgres 的 extract(epoch from now)、MySQL 的 UNIX_TIMESTAMP、MongoDB 的 $toDate 都返回 Unix epoch。把某行的时间戳值粘贴进来,就能看到对应的实际墙上时间以及在各时区的显示。
应用日志走 UTC、syslog 是本地时区、上游服务商的日志走 PST。在这里把每个时间戳转成 ISO 8601,排查事故时就能逐秒对齐。
在选择器里挑一个未来日期,复制出来的 Unix 时间戳可以直接粘贴到 Set-Cookie 头、HTTP Expires 字段或缓存 TTL 配置中。无需心算,也不会出现差一时区的错误。
来自生产日志、客服工单、审计轨迹或测试数据中的时间戳看起来无害,实际却往往关联着用户操作和基础设施事件。把它们粘贴到别人的服务器上,就留下了你无法控制的记录。iKit 的转换器就是已加载到浏览器标签页中的 JavaScript。
来自 iKit 博客的深度教程与工具对比。
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"。
不会。32 位有符号 Unix 时间戳会在 2038 年 1 月 19 日溢出。iKit 使用 JavaScript 的 Number 类型(53 位安全整数范围),可以处理远超公元 27 万年以后的日期。Y2038 问题主要影响仍在运行 32 位 time_t 的系统 — 大多数现代操作系统内核、数据库和编程语言早已切换到 64 位时间,但遗留的嵌入式固件仍可能受影响。