通过MCP连接 →

输入计算

数学公式

广告

结果

UTC Date & Time (ISO 8601)
2023-11-14T22:13:20Z
协调世界时(UTC)
日期(UTC) 2023-11-14
时间(UTC) 22:13:20
纪元秒数 1,700,000,000
2023
11
14
22
13
20

什么是毫秒级 Unix 时间戳?

Unix 时间戳记录的是自 1970-01-01 00:00:00 UTC(即所谓的"纪元/Epoch")以来经过的时间。许多编程语言和接口(例如 JavaScript 的 Date.now()、Java 的 System.currentTimeMillis(),以及大量 JSON 数据)都以毫秒而非秒来表示这个数值。本工具能把这串原始数字转换成清晰、易读的 UTC 日期和时间。

展示从 1970 年开始的 Unix 纪元以及毫秒不断递增的时间轴
纪元毫秒数表示自 Unix 纪元(1970-01-01T00:00:00Z)以来经过的时间。

如何使用本工具

把你的毫秒时间戳粘贴或输入到输入框中并提交即可。工具会先将数值除以 1000 得到整数秒,再从纪元起点出发,把这些秒映射到日历上。你会得到完整的 ISO 8601 字符串(例如 2023-11-14T22:13:20Z),以及拆解后的年、月、日、时、分、秒——全部以 UTC 计算,因此结果不受你本地时区的影响。

换算公式解析

整个换算只有两步。第一步,秒数 = floor(毫秒 / 1000),舍去不足一秒的余数。第二步,日期 = 纪元 + 秒数,把这些秒加到 1970 年 1 月 1 日的零点上。闰年、各月天数不同等日历规则都会自动处理。

$$\text{Date}_{\text{UTC}} = \text{Epoch}_{1970}\;+\;\frac{\text{Epoch Time (ms)}}{1000}\ \text{seconds}$$

$$\begin{gathered} \text{Date}_{\text{UTC}} = \text{Epoch}_{1970} + t_{s}\ \text{seconds} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} t_{s} &= \left\lfloor \dfrac{\text{Epoch Time (ms)}}{1000} \right\rfloor \\ \text{Epoch}_{1970} &= \text{1970-01-01T00:00:00Z} \end{aligned} \right. \end{gathered}$$

将毫秒值除以 1000 转换为日期和时间的示意图
将毫秒数除以 1000 得到秒数,对应一个 UTC 日期和时间。

实例演示

1,700,000,000,000 毫秒为例。除以 1000 得到 1,700,000,000 秒。把它加到纪元起点上,对应的就是 2023-11-14T22:13:20Z——也就是 2023 年 11 月 14 日 22:13:20(UTC)。

$$\frac{1{,}700{,}000{,}000{,}000}{1000} = 1{,}700{,}000{,}000\ \text{seconds}$$

$$\text{Date}_{\text{UTC}} = \text{Epoch}_{1970} + 1{,}700{,}000{,}000\ \text{seconds} = \text{2023-11-14T22:13:20Z}$$

常见问题

结果是我所在地区的本地时间吗? 不是。为避免歧义,输出始终采用 UTC(协调世界时)。如需本地时间,请自行加上你所在时区的偏移量(中国大陆为 UTC+8)。

如果我手上的是秒、而不是毫秒怎么办? 先把以秒为单位的时间戳乘以 1000 再输入,或者直接在末尾补上三个零即可。

为什么有时换算出的日期会落在遥远的未来或 1970 年? 把秒当成毫秒输入,结果会接近 1970 年;而把本来就是毫秒的数值又多补了零,结果就会跑到很久以后。请务必确认你的单位确实是毫秒。

最后更新: