Unix 时间戳转换器
粘贴一个时间戳,立刻看到 UTC 和任意时区的日期;也可以选日期和时间,得到对应的时间戳。它会猜单位、解释夏令时带来的怪现象,还能逐行批量转换。不会上传任何内容,全部在浏览器里完成。
当前时间
秒
…
毫秒
…
时间戳转日期
粘贴像 1700000000 这样的数字即可,支持小数、负号和千位逗号。
按秒解读,这是根据数字大小猜的。
- 秒
- 1700000000
- 毫秒
- 1700000000000
- ISO 8601(UTC)
- 2023-11-14T22:13:20Z
- UTC 的时间
- 2023-11-14T22:13:20+00:00
- 与 UTC 的时差
- UTC+00:00
- RFC 2822 格式
- Tue, 14 Nov 2023 22:13:20 +0000
- 星期
- 星期二
- 当年第几天
- 318
- ISO 周数
- 2023-W46
相对时间是四舍五入的,月和年按平均长度计算,只是估算。
猜测规则:小于 1000 亿按秒,小于 100 万亿按毫秒,小于 100 千万亿按微秒,更大的按纳秒。对于接近 1970 年的毫秒时间戳可能猜错,日期看着不对时请自己选单位。
日期转时间戳
这个本地时间在 UTC 恰好出现一次。
- 秒
- 1700000000
- 毫秒
- 1700000000000
- ISO 8601(UTC)
- 2023-11-14T22:13:20Z
- 与 UTC 的时差
- UTC+00:00
批量转换
使用上面选定的单位和时区,每一行单独解读。
| 输入 | 单位 | UTC | 所选时区 |
|---|---|---|---|
| 1700000000 | 秒 | 2023-11-14T22:13:20Z | 2023-11-14T22:13:20+00:00 |
| 1700000000123 | 毫秒 | 2023-11-14T22:13:20.123Z | 2023-11-14T22:13:20.123+00:00 |
| -86400 | 秒 | 1969-12-31T00:00:00Z | 1969-12-31T00:00:00+00:00 |
2038 年问题
32 位有符号整数能表示的最大值是 2147483647,对应 2038-01-19T03:14:07Z。再过一秒,用 32 位有符号整数存秒数的程序会回绕成 -2147483648,也就是 1901-12-13T20:45:52Z。现在很多系统已经用 64 位,不受影响;具体取决于每个程序怎么存时间。
支持的范围是公历 0001 年到 9999 年。时区规则来自你的浏览器,它记录了各个时区的历史(包括很早以前的地方平均时)。所有计算都在本页完成,不会上传任何内容。
它是怎么算的
- •Unix 时间戳是从 1970 年 1 月 1 日 00:00(UTC)起经过的时间。这个数字本身不含时区,只有转成可读日期时才需要时区。
- •单位是按数字大小猜的:小于 1000 亿按秒,往上依次是毫秒、微秒、纳秒。猜得不对时可以手动指定,接近 1970 年的毫秒值尤其需要。
- •时区的时差来自浏览器内置的时区数据,因此遵循每个时区的真实规则,包括半小时时区和很早以前的地方平均时。没有用任何日期库。
- •本地时间可能被跳过(时钟向前拨)或出现两次(时钟回拨)。转换器会告诉你属于哪种情况、用了哪个时差,并给出另一种读法供你选择。
常见问题
- 怎么判断时间戳是秒还是毫秒?
- 数位数。近年的日期用秒是 10 位左右,用毫秒是 13 位。工具会自动按这个规则判断并告诉你选了哪个单位,结果不对时可以自己指定单位。
- 夏令时导致不存在的时间会怎样处理?
- 时钟向前拨时,有些本地时间根本不会出现。工具会提示这一点,按你选的时差(调整前或调整后)计算,并给出另一个可能的时间戳。时钟回拨时同一个时间会出现两次,同样的选项决定取较早还是较晚的一次。
- 2038 年问题是什么?
- 32 位有符号整数最多能存到 2147483647 秒,也就是 2038 年 1 月 19 日 03:14:07(UTC)。用这种方式存时间的软件在此之后会溢出。使用 64 位的系统不受影响。
- 会把数据发到服务器吗?
- 不会。转换用的是浏览器自带的日期和时区功能,你输入的数字只留在本页。支持的范围是公元 0001 年到 9999 年。