工具

免费在线 Unix 时间戳转换器

将Unix时间戳转换为可读日期,或将日期转换为Unix时间戳。自动识别秒/毫秒。支持8个时区、ISO 8601、相对时间。

LIVE 当前 Unix 时间戳

Unix 时间戳 → 可读日期

日期 → Unix 时间戳

所有转换均在您的浏览器本地完成。任何数据均不会发送到我们的服务器。

什么是 Unix 时间戳?

Unix 时间戳(也称为 epoch 时间或 POSIX 时间)是自 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元)以来经过的秒数。这个起始点由贝尔实验室的早期 Unix 开发者选定,因为它早于 Unix 的广泛普及。时间戳是与时区无关的整数,非常适合数据库、API、日志文件和 JWT 令牌等需要统一时间参考的场景。

Unix 时间戳:秒 vs 毫秒

最常见的困惑是时间戳以秒(10 位数)还是毫秒(13 位数)表示。规则:如果值超过 10¹²,几乎可以肯定是毫秒。

秒(10 位数) 10 digits

由 PHP time()、Python time.time()、Unix shell date +%s 和大多数 SQL 数据库使用。示例:1710508200

1710508200
毫秒(13 位数) 13 digits

由 JavaScript Date.now()、Java System.currentTimeMillis()、Node.js 和大多数浏览器 API 使用。示例:1710508200000

1710508200000

时间戳的常见使用场景

开发者为何偏好 Unix 时间戳而非可读日期字符串:

JWT iat 和 exp 声明

JSON Web Token 使用秒级 Unix 时间戳表示"签发时间"(iat)和"过期时间"(exp)声明,与时区无关且易于比较。

数据库按时间排序

整数时间戳列比日期时间字符串排序更快,且与时区无关,消除了来自多个地理位置的记录产生的歧义。

日志分析与事件关联

服务器日志、分布式追踪(OpenTelemetry)和分析管道使用毫秒时间戳在各服务之间以亚秒精度关联事件。

缓存过期与 TTL

缓存系统(Redis、Varnish、CDN)和 API 响应使用 Unix 时间戳表示 Cache-Control max-age、created_at 和 updated_at 字段。

常见问题

Unix 纪元是 1970 年 1 月 1 日 UTC 午夜。这个日期由贝尔实验室的早期 Unix 开发者选择,作为早于 Unix 广泛普及的实用起点,没有特殊数学意义。生成的整数计数器足够小,可以放入 32 位整数(尽管 2038 年问题源于有符号 32 位整数溢出)。

简单规则:如果值超过 11 位(大于约 10¹¹),几乎可以肯定是毫秒。当前的秒级 Unix 时间戳有 10 位(如 1710508200)。同一时刻的毫秒时间戳为 1710508200000(13 位)。本转换器在粘贴时间戳时会自动检测单位。

是的。Unix → 日期方向使用 Intl.DateTimeFormat API 在所选 IANA 时区中显示 UTC 时刻。日期 → Unix 方向则相反:将您的 datetime-local 输入解释为所选时区的本地时间,并计算相应的 UTC Unix 时间戳。无论选择哪个时区,ISO 8601 输出始终显示 UTC(Z 后缀)。

ISO 8601 是表示日期和时间的国际标准,如 2024-03-15T14:30:00.000Z。Z 后缀表示 UTC。在 REST API、JSON 载荷和 HTML datetime 属性中使用 ISO 8601——它在各地区设置之间无歧义,可直接被 JavaScript、Python 和大多数现代语言解析。