什么是 ISO 8601?

ISO 8601 是一种用于以清晰、无歧义格式表示日期和时间的国际标准,使用 YYYY-MM-DDTHH:MM:SS 模式,可选附带时区信息。

快速了解

全称ISO 8601 日期和时间格式
创建时间1988 年(首版),2019 年(当前版本)
规范文档官方规范

工作原理

ISO 8601 是全球公认的日期和时间表示标准,旨在消除不同地区日期格式带来的歧义。该格式将最大时间单位(年)放在首位,依次是月、日、时、分、秒。'T' 字符用于分隔日期和时间。时区信息可以附加为 Z(UTC/祖鲁时间)或偏移量如 +05:30 或 -08:00。例如,'2024-03-15T14:30:00Z' 表示 2024 年 3 月 15 日下午 2:30 UTC。该格式支持多种精度——从仅包含年份(2024)到纳秒级别。ISO 8601 对于需要在不同系统和地区之间进行一致解析的数据交换、API、数据库和日志文件至关重要。大多数编程语言都内置支持解析和格式化 ISO 8601 日期。

主要特点

  • 无歧义格式:YYYY-MM-DDTHH:MM:SS
  • 从大到小排列单位(年 → 秒)
  • 使用 T 分隔日期和时间
  • Z 后缀表示 UTC,或 ±HH:MM 表示时区偏移
  • 支持可变精度(年到纳秒)
  • 作为字符串可按字典序排序

常见用途

  1. API 请求和响应时间戳
  2. 数据库日期时间存储
  3. 日志文件和审计记录
  4. 日历和调度应用
  5. 不同系统之间的数据交换

示例

loading...
Loading code...

常见问题

ISO 8601 日期格式中的 T 是什么意思?

「T」是分隔符,用于在 ISO 8601 日期时间字符串中分隔日期和时间部分。例如,在「2024-03-15T14:30:00」中,T 清楚地表明日期(2024-03-15)结束和时间(14:30:00)开始的位置。

ISO 8601 时间戳末尾的 Z 是什么意思?

「Z」后缀代表「Zulu 时间」,表示时间戳为 UTC(协调世界时)。例如,「2024-03-15T14:30:00Z」表示 2024 年 3 月 15 日 UTC 时区下午 2:30。如果不使用 Z,可以指定时区偏移量,如 +08:00 或 -05:00。

为什么 API 和数据交换首选 ISO 8601?

ISO 8601 消除了不同地区之间存在的日期格式歧义(如 MM/DD/YYYY vs DD/MM/YYYY)。它易于人类阅读、机器解析,作为字符串可按字典序排序,并包含时区信息。大多数编程语言都内置支持解析和生成 ISO 8601 日期。

如何在 JavaScript 中将 ISO 8601 转换为 Date 对象?

JavaScript 的 Date 构造函数原生支持解析 ISO 8601 字符串。只需使用:new Date('2024-03-15T14:30:00Z')。要将 Date 转换回 ISO 8601 格式,使用 toISOString() 方法:new Date().toISOString() 返回类似「2024-03-15T14:30:00.000Z」的字符串。

ISO 8601 支持仅时间或仅日期的格式吗?

是的,ISO 8601 支持多种精度级别。你可以使用仅日期格式,如「2024-03-15」或「2024-03」甚至只是「2024」。仅时间格式也是有效的,如「14:30:00」或「14:30」。该标准灵活适应各种使用场景。

相关工具

相关术语

相关文章