手里有一个数字时间戳,想知道它代表哪一天,就用这个转换器。粘贴数值,选好要显示的时区,然后把 ISO UTC 的结果和当地钟面的结果对照着看。

先确认单位,再相信日期

常见的 Unix 秒值是 10 位,JavaScript 那种 epoch 毫秒通常是 13 位。转换器就拿这个差别作为普通数值的默认判断,但字段名或接口约定永远比位数更可靠。

const seconds = 1700000000;
const date = new Date(seconds * 1000);

console.log(date.toISOString());
// 2023-11-14T22:13:20.000Z

如果你把一个 10 位的值直接交给 JavaScript 的 Date,它会按毫秒解释,结果落到 1970 年 1 月。构造 Date 之前,先把秒乘以 1000。

Frequent questions:

Q: 怎么把 epoch 转成时间?
A: 把 epoch 值填进转换器,确认它是秒还是毫秒,再选一个时区。结果会以可读时间、日期、ISO 8601 和 UTC 字符串一并给出。
Q: 怎么把 Unix 时间戳转成时间?
A: Unix 时间戳就是 epoch 值。填入 10 位的秒值或 13 位的毫秒值,转换器会给出同一瞬间对应的日历日期和当地时间。
Q: 怎么从 Unix 时间戳得到日期?
A: 把时间戳粘进本页顶部的转换器,它会自动判断是秒还是毫秒,并给出 UTC、ISO 8601 以及你选定时区下的日期。写成代码就是一行:JavaScript 里 new Date(seconds * 1000),Python 里 datetime.fromtimestamp(seconds, tz=timezone.utc),PHP 里 gmdate('c', seconds)。
Q: JavaScript 里怎么把时间戳转成日期?
A: new Date(1700000000 * 1000) 会返回一个 Date 对象——记得先把秒乘以 1000,然后再调 .toISOString()、.toUTCString() 或 Intl.DateTimeFormat 来格式化。如果手上已经是毫秒,就不用乘了。
Q: Python 里怎么把时间戳转成日期?
A: 用 datetime.fromtimestamp(seconds, tz=timezone.utc) 可以得到一个带时区的 UTC datetime。想要本地时间就省掉 tz 参数;想要 ISO 输出就在后面加 .isoformat()。
Q: 为什么我的 Unix 时间戳变成了 1970 年?
A: 因为你把一个 10 位的秒级时间戳传给了一个按毫秒解释的函数——最常见的就是 JavaScript 的 new Date()。先把值乘以 1000。
Q: 日期会以什么格式输出?
A: 本页会输出 ISO 8601(标准的机器可读形式)、适合人看的本地显示、UTC 字符串、星期和相对时间。你的代码或流程需要哪种,就复制哪种。
Q: 毫秒怎么转成 Unix 时间戳?
A: 把毫秒除以 1000 并向下取整——JavaScript 里 Math.floor(ms / 1000),Python 里 ms // 1000,Java 里 ms / 1000L。反过来,秒乘 1000 得到毫秒。顶部的转换器 10 位和 13 位都能接受。
Q: currentTimeMillis 怎么转成日期?
A: System.currentTimeMillis() 返回的是 epoch 毫秒。直接粘进转换器即可,它会自动识别 13 位的单位。写成代码:Instant.ofEpochMilli(System.currentTimeMillis()).toString() 会返回一个 ISO 8601 字符串。