跳到正文

Unix 时间戳转换

在浏览器中把以秒、毫秒、微秒或纳秒计的 Unix 时间戳转换为任意时区的可读日期,也可以反向转换,全程在本地运行。

当前 Unix 时间— 

时间戳转日期

秒、毫秒、µs 或 ns,单位根据数值大小自动识别

粘贴日志、数据库或 API 响应中的时间戳。

日期转时间戳

批量转换

在浏览器中运行 · 无需上传工作原理

Unix 时间戳转换 使用方法

  1. 1

    粘贴时间戳

    输入秒、毫秒、微秒或纳秒;单位会自动识别,也可以手动更改。

  2. 2

    选择时区

    结果默认按浏览器所在时区显示,也可以在列表中选择 UTC 或任意城市时区。

  3. 3

    把日期转回时间戳

    输入日期和时间,选择所属时区,然后复制 Unix 秒或毫秒。

  4. 4

    批量转换

    粘贴多个时间戳或日期,每行一个,然后复制表格或下载为 CSV。

限制与 Pro

免费使用,无需注册:可转换约公元前 270,000 年至公元 275,000 年之间的任意日期,支持 400 多个 IANA 时区,每批最多 10,000 行(显示前 1,000 行,导出全部)。

Pro 可去除广告;各套餐的转换功能完全相同。 了解 Pro

关于 Unix 时间戳转换

Unix 时间戳记录的是自 UTC 1970年1月1日 00:00:00 起经过的秒数(不计闰秒),大多数数据库、日志、API 和 JWT 都用它来保存某个时刻。麻烦在于各系统采用的单位并不一致:PostgreSQL 的 extract(epoch) 和多数 Unix 工具返回秒,JavaScript 的 Date.now() 和 Java 返回毫秒,Python 可能返回带小数的秒,而 Go、InfluxDB、OpenTelemetry 常用纳秒。粘贴一个数字,转换器会根据位数判断单位:最多 11 位按秒,12–14 位按毫秒,15–17 位按微秒,更长的按纳秒,判断不对时点一下就能改。

每个结果都会按浏览器所在时区、UTC 以及你选择的任意 IANA 时区(如 America/New_York、Asia/Kolkata)显示,包括易读的日期、带偏移量的 ISO 8601、邮件和 HTTP 头中使用的 RFC 2822,以及“3 天前”这样的相对时间。同一时刻会以四种单位列出,并用精确的整数运算计算,纳秒位不会被舍入丢失。结果还会给出一年中的第几天、ISO 周数,数值超过 32 位 time_t 的 2038 年上限时也会提示。

反过来,选择日期和时间,再选它所属的时区,即可得到秒和毫秒;夏令时造成的跳过或重复时间会被标出。也可以直接粘贴 ISO 8601 和 RFC 2822 字符串。批量输入框一次最多转换 10,000 行,并可导出 CSV。与几乎所有软件一样,这里不处理闰秒,也不支持外推格里历以外的历法。

隐私

所有转换都使用浏览器内置的 Intl 和 Date 函数(包括时区规则),日志或数据库中的时间戳不会被发送到任何地方。只有你选择的显示时区会保存在本地存储中。

功能

自动识别单位

根据数字位数识别秒、毫秒、微秒和纳秒,精确到纳秒。

任意 IANA 时区

支持本地时间、UTC 和浏览器已知的所有时区,并标出夏令时的跳过与重复。

批量转换

一次转换最多 10,000 行时间戳或日期,并可导出为 CSV。

Unix 时间戳转换:常见问题

我的时间戳是秒还是毫秒?
数一数位数。当前日期以秒计是 10 位(约 17 亿),毫秒是 13 位,微秒是 16 位,纳秒是 19 位。转换器会自动按此规则判断,并在输入框下方标明。如果结果落在 1970 年或几千年后,说明单位不对,请手动选择正确的单位。
Unix 时间戳与时区有关吗?
无关。时间戳是从 UTC 1970年1月1日零点开始计数的,所以在世界各地都相同。只有可读的日期形式会随时区变化:1767225600 在伦敦是 2026年1月1日零点,在纽约则是 2025年12月31日晚上 7 点。所以最好存储时间戳,仅在显示时转换,以免出现时区错误。
什么是 2038 年问题?
用有符号 32 位整数保存 Unix 时间的系统,最多只能计到 2,147,483,647 秒,也就是 UTC 2038年1月19日 03:14:07。再过一秒,数值会回绕成负数,被读成 1901 年。现代 64 位系统不受影响,数值超过 32 位上限时,转换器也会给出提示。
把日期转成时间戳时,夏令时变化如何处理?
时钟拨快时,被跳过的那一小时的本地时间并不存在,转换器会提示你,并采用跳变之后的时刻。时钟拨回时,某一小时会出现两次,转换器显示第一次出现的时间,并给出第二次对应的时间戳。这两条规则都来自浏览器内置的时区数据库。
可以转换负数时间戳或 1970 年之前的日期吗?
可以。负值表示从 1970 年向前倒数,例如 -86400 是 UTC 1969年12月31日 00:00。可处理的范围约为公元前 271,821 年到公元 275,760 年,即 JavaScript 的完整 Date 范围。标准时区出现之前的历史本地时间,采用时区数据库中记录的地方平均时。