Unix 时间戳转换器

立即将纪元时间转换为可读日期或查找任何日期和时间的 Unix 时间戳。对于开发人员来说必不可少。

即时结果 在浏览器中运行
当前 Unix 时间戳(秒)

什么是 Unix 纪元?

Epoch: 1970-01-01 00:00:00 UTC
1 gün = 86 400 s
1 hafta = 604 800 s
max int32 = 2 147 483 647
≈ 2038-01-19 03:14:07

2038 年问题:32 位有符号整数在 2,147,483,647 处溢出 - 2038 年 1 月 19 日。

如何使用?

  1. 1
    输入时间戳输入 Unix 时间戳或单击“立即使用”以加载当前纪元时间。
  2. 2
    选择单位选择秒或毫秒。 JavaScript 的 Date.now() 返回毫秒;大多数 API 都使用秒。
  3. 3
    读取结果查看 UTC、当地时间和相对偏移量。一键复制或共享输出。

常见问题

什么是 Unix 时间戳?
Unix 时间戳(纪元时间)是自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的秒数(或毫秒)。它是全球服务器、数据库和 API 中使用的通用时间参考。
秒还是毫秒——我怎么知道?
10 位数字几乎肯定是秒; 13 位数字是毫秒。大多数 Unix/Linux 工具都使用秒; JavaScript 使用毫秒。
2038年的问题是什么?
在 32 位系统上,有符号整数上限为 2,147,483,647 — 对应于 2038 年 1 月 19 日 03:14:07 UTC。超出这一点,溢出可能会损坏时间戳。 64 位系统不受影响,并且可以处理数十亿年后的日期。

Unix 时间戳转换器

Unix 时间戳转换器用于在时间戳和可读日期之间互转。页面顶部显示当前实时秒级时间戳,并每秒更新一次。第一个标签页可以把秒或毫秒时间戳转换为 UTC 时间、本地时间和相对当前时间;第二个标签页可以把浏览器中的 datetime-local 输入转换为秒级和毫秒级时间戳。复制当前时间戳按钮适合调试 API、日志、数据库记录或缓存过期时间。

秒和毫秒的区别

很多后端接口使用秒级 Unix timestamp,例如 1700000000;JavaScript 的 Date.getTime() 使用毫秒,例如 1700000000000。页面通过单选按钮区分 seconds 和 milliseconds:选择秒时会乘以 1000 再创建 Date,选择毫秒时直接使用输入值。日期转时间戳时,工具同时显示 Math.floor(ms / 1000) 的秒值和原始毫秒值,避免把 10 位和 13 位时间戳混用。

UTC、本地时间和相对时间

时间戳本身不包含时区,它表示从 1970-01-01 00:00:00 UTC 起经过的秒或毫秒。页面会同时显示 UTC 字符串和浏览器本地时区格式,帮助你检查服务端日志与本地界面是否对齐。相对时间只是用目标时间减去 Date.now() 后粗略显示 +s、+m、+h、+d 或 +y,适合快速判断时间在过去还是未来。

常见注意点

2038 问题主要影响仍使用 32 位有符号整数保存秒级时间戳的系统;现代 JavaScript Date 可以处理更广范围,但外部数据库和老系统可能仍有限制。处理跨时区排期、审计日志和过期时间时,建议保存 UTC 时间戳,并在展示层转换为用户时区。这个页面不处理闰秒,也不替代业务系统的时区规则校验。

调试建议

排查接口时间问题时,先确认字段使用秒还是毫秒,再确认前端展示时区。若日志中同一事件相差 8 小时,通常是 UTC 与本地时区展示差异,而不是时间戳本身错误。复制实时秒值可快速生成测试请求。

评论