Unix 时间戳:秒、毫秒与时区
先确认接口的单位,再进行转换。当前时代常见 10 位秒、13 位毫秒只是经验,历史日期或远期日期应明确指定单位。
秒和毫秒如何换算
Unix 时间从 1970-01-01 00:00:00 UTC 起算。JavaScript Date 使用毫秒。
// 2024-01-01 00:00:00 UTC
const seconds = 1704067200;
const milliseconds = seconds * 1000;
new Date(milliseconds).toISOString();
// "2024-01-01T00:00:00.000Z"
Math.floor(Date.now() / 1000); // Unix seconds把秒直接传给 new Date(),往往会得到 1970 年附近的日期。本站示例按钮会填入真实输入;浅色「例如」文字是占位提示,需要先输入内容。
同一个时间戳,不同的显示时区
1704067200 秒在 UTC 是 2024-01-01 00:00:00,在 Asia/Shanghai 是 2024-01-01 08:00:00。切换显示时区不会改变时间戳。
没有偏移量的日期需要结合所选时区解释。输入 2024-01-01T00:00:00Z 则明确表示 UTC;带 +08:00 的输入明确表示该偏移量。遇到夏令时重复时刻,用偏移量消除歧义。