教程
将 ISO 8601 转换为 Unix 时间戳
从 ISO 8601 得到 Unix 秒
只有包含 UTC 的 Z 或数值时区偏移的 ISO 8601 值,才有唯一的 Unix
时间戳。2024-01-01T00:00:00Z 对应的秒级时间戳是 1704067200。
可使用 ISO 8601 转换器 直接验证结果。
JavaScript 示例
Date#getTime() 返回毫秒;仅当接口需要秒时才除以 1000。
const date = new Date('2024-01-01T00:00:00Z');
if (Number.isNaN(date.getTime())) throw new Error('无效的 ISO 8601 时间');
const milliseconds = date.getTime();
const seconds = Math.floor(milliseconds / 1000);
2024-01-01T05:30:00+05:30 与上例代表同一时刻。更多往返转换请参阅
JavaScript 时间戳转换。
Python 示例
保留偏移并在需要标准格式时归一化为 UTC:
from datetime import datetime, timezone
instant = datetime.fromisoformat('2024-01-01T05:30:00+05:30').astimezone(timezone.utc)
assert int(instant.timestamp()) == 1_704_067_200
没有时区的 2024-01-01T00:00:00 并不代表唯一时刻。转换前先明确它是 UTC
还是本地时区;ISO 8601 格式指南 解释了这一区别。
动手试试
测试时间戳转换
需要更多选项? ISO 8601 转换器