通过MCP连接 →

输入计算

保留默认值可转换某个特定时刻,或直接输入当前时间的毫秒数。

数学公式

广告

结果

Unix 时间戳(Epoch)
1,700,000,000
自 1970 年 1 月 1 日 UTC 起的秒数
毫秒 1,700,000,000,000
自纪元起点的分钟数 28,333,333
自纪元起点的小时数 472,222
自纪元起点的天数 19,675

什么是 Unix 时间戳?

Unix 时间戳(也叫 Epoch 时间或 POSIX 时间)指的是自协调世界时(UTC)1970 年 1 月 1 日 00:00:00(即"Unix 纪元"起点)以来所经过的总秒数,且不计入闰秒。它是计算机用一个数字来记录某个时间点的通用方式,与时区无关。本计算器可将以毫秒为单位的数值转换为标准的 Unix 时间戳(秒),同时还会显示从纪元起点算起对应的分钟数、小时数和天数。

从 1970 年 1 月 1 日的零点开始、计数器不断增加至当前时刻的时间轴
Unix 时间戳记录从纪元(1970 年 1 月 1 日 UTC)起经过的秒数。

使用方法

输入一个以毫秒为单位的时间值。如果想获取当前的 Unix 时间戳(即"此刻的 Epoch"),只需填入当前时间的毫秒数即可;页面默认填好了一个示例值供参考。计算器会将毫秒数除以 1000 并向下取整,得到整数秒——这正是几乎所有 API、数据库和编程语言都默认使用的格式。

计算公式详解

核心转换公式为 \( \text{epoch} = \lfloor \text{currentMillis} / 1000 \rfloor \)。 $$\text{Epoch} = \left\lfloor \dfrac{\text{Time (ms)}}{1000} \right\rfloor$$ 毫秒可以精确到千分之一秒,但经典的 Unix 时间戳以整数秒计量,因此需要向下取整(舍去小数部分)。在此基础上,将 Epoch 秒数分别除以 60、3600 和 86400,即可得到对应的分钟数、小时数和天数。 $$\left\{ \begin{aligned} \text{Minutes} &= \left\lfloor \tfrac{\text{Epoch}}{60} \right\rfloor \\ \text{Hours} &= \left\lfloor \tfrac{\text{Epoch}}{3600} \right\rfloor \\ \text{Days} &= \left\lfloor \tfrac{\text{Epoch}}{86400} \right\rfloor \end{aligned} \right.$$

毫秒值除以 1000 并向下取整以得出纪元秒
将毫秒除以 1000 并向下取整可得到整数的纪元秒。

实例演算

假设当前时间为 1,700,000,000,000 毫秒。除以 1000 得到 1,700,000,000 秒——这便是对应的 Unix 时间戳。 $$\left\lfloor \frac{1{,}700{,}000{,}000{,}000}{1000} \right\rfloor = 1{,}700{,}000{,}000$$ 再将 1,700,000,000 除以 86400 并向下取整,得到自 1970 年 1 月 1 日起的 19,675 天,对应的正是 2023 年 11 月中旬。 $$\left\lfloor \frac{1{,}700{,}000{,}000}{86400} \right\rfloor = 19{,}675 \text{ 天}$$

常见问题

为什么用秒而不是毫秒?最初的 Unix 标准就以秒为单位。而 JavaScript 中的 Date.now() 返回的是毫秒,所以你常常需要除以 1000 来换算。

它会处理时区吗?不会——Unix 时间始终以 UTC 为基准。同一个时刻在地球上任何地方对应的时间戳都完全相同。

什么是"2038 年问题"?如果系统用带符号的 32 位整数来存储时间戳,那么到 2038 年 1 月 19 日数值就会溢出。现代的 64 位系统已经避免了这一问题。

最后更新: