首页/开发/正则与编码速查/ISO 8601 时间格式书写规范

ISO 8601 时间格式书写规范

ISO 8601 用固定宽度、从大到小的顺序书写日期时间,日期与时间用 T 分隔,末尾以 Z 或正负偏移表示时区;固定宽度使同时区的字符串可直接排序。工程上要明确采用扩展格式还是基本格式、是否强制偏移,并在比较前统一换算到 UTC。

正则与编码速查开发更新于 2026-10-17
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌​​‌‌‌​‌‌​​‌​‌​‌‌‌‌​​​​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​‌‌‌‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​​​‌‌​​​‌​​‌​‌‌​‌​‌‌​​‌‌​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​‌​​‌‌‌​‌​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

固定宽度的可排序写法

ISO 8601 用固定顺序、固定宽度的字段书写日期时间:年-月-日,T 分隔,时:分:秒,末尾接时区。因为各字段宽度固定且从大到小排列,同一时区下的字符串按字典序排序就等于按时间排序,这也是它在配置、日志与接口中被广泛采用的原因。它的完整定义很宽,实际工程里通常只用其中一个子集。

基本信息

日期YYYY-MM-DD,基本格式可省略连字符写成 YYYYMMDD
时间hh:mm:ss,可带小数秒,也可只写到小时或分钟
分隔符日期与时间之间用字母 T,允许省略到只写其一
时区Z 表示 UTC,或写作正负偏移如 +08:00、-05:00
扩展形式周年日期 YYYY-Www-D、序数日期 YYYY-DDD、周期与区间写法

典型使用场景

  • 接口时间字段:固定宽度便于排序与比较
  • 日志时间戳:带偏移量可避免跨时区误读
  • 配置与文件名:连字符与冒号在不同系统上有兼容差异,需按用途取舍
  • 数据交换:解析前先确认对方是 ISO 8601 还是邮件类格式
  • 审计记录:带偏移的唯一时刻表示便于事后对齐

常见合法写法

常见合法写法
2026-10-17T09:30:00+08:00     # 带偏移的完整时刻
2026-10-17T01:30:00Z           # 等价的 UTC 写法
2026-10-17T01:30:00.123Z       # 小数秒
2026-10-17                     # 仅日期
2026-10                     # 仅到月份
2026-W42-5                     # 周年日期:第 42 周第 5 天
2026-290                       # 序数日期:第 290 天
P1DT2H30M                      # 时长:1 天 2 小时 30 分
2026-10-17T00:00Z/2026-10-18T00:00Z  # 时间区间

变体与注意事项

写法含义注意
T 与空格部分规范允许用空格替代 T需双方约定,解析库默认不一定接受
小数秒分隔点号或逗号不同规范偏好不同,跨系统建议用点号
缺省偏移不写偏移表示本地时间含义不唯一,接口中应禁止
周年与序数按周或按年内天序号表示与自然年份不一一对应,统计时慎用
闰秒写作 23:59:60多数系统无法表示,需专门处理
ISO 8601 是通用标准,RFC 3339 是面向互联网的严格子集:后者要求带偏移量、用点号表示小数秒,并且只允许有限的几种写法。做接口设计时,先明确采用哪个,再约定字段长度与是否允许省略。
带偏移的字符串不能直接比较大小:2026-10-17T09:30:00+08:00 与 2026-10-17T02:30:00Z 是同一时刻,但字符串并不相等。做排序、去重或区间判断前,统一换算成 UTC 再比较。

易错点

  • 省略偏移量当作 UTC 使用,解析方只能按本地时区猜,跨时区对账时整体差几小时
  • 混用日期格式:同一字段里既有带连字符的扩展格式又有基本格式,字符串排序与解析都会出错
  • 把只到月份或只到年份的写法当完整日期解析,补全规则各家不同,容易得到当月第一天或抛错
  • 用周年日期做年度统计,周跨年时归属年份与自然年份不一致,统计口径对不上
  • 在文件名里直接用带冒号的时间,在部分文件系统上非法或需要转义,落盘前先替换分隔符

数据来源与参考

  • ISO 8601:日期与时间表示法
  • RFC 3339:互联网上的日期与时间格式
  • W3C 日期时间格式说明:与 ISO 8601 的取舍

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/regex/iso8601-format-rules.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌​​‌‌‌​‌‌​​‌​‌​‌‌‌‌​​​​​‌​‌‌‌‌​‌‌​‌​​‌​‌‌‌​​‌‌​‌‌​‌‌‌‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​​​‌‌​​​‌​​‌​‌‌​‌​‌‌​​‌‌​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​​‌​‌‌​‌​‌‌‌​​‌​​‌‌‌​‌​‌​‌‌​‌‌​​​‌‌​​‌​‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​