ISO 8601 Parser
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
ISO 8601 Format Reference
YYYY-MM-DD2024-06-15
YYYY-MM-DDThh:mm:ssZ2024-06-15T10:30:00Z
YYYY-MM-DDThh:mm:ss±hh:mm2024-06-15T10:30:00+05:30
PnYnMnDTnHnMnSP1Y2M3DT4H5M6S
start/end2024-01-01/2024-12-31
start/duration2024-01-01/P1Y
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand ISO 8601 Parser
解析 ISO 8601 的日期、日期时间、时长和时间区间,并报告星期几、周数、年内第几天、Unix 时间戳和相对时间。
How it works
ISO 8601 把各字段从大到小排列——2024-06-15T10:30:00Z——这就是 ISO 字符串作为纯文本也能正确排序的原因,这是其他常见格式都不具备的性质。字母 `T` 分隔日期与时间,它的作用比看上去更重要:`T` 之前的 `M` 表示月,`T` 之后的 `M` 表示分钟,因此 P1M 是一个月而 PT1M 是一分钟。这里报告的周数遵循 ISO 规则:一周归属于包含其星期四的那一年,正因如此,1 月 1 日完全可能落在上一年的第 52 周。
When to use it
- 排查一个解析不了的 API 时间戳,通常是因为缺少偏移,或者本该是 `T` 的位置写成了空格
- 从配置文件、视频清单或 Kubernetes 字段中读取 ISO 8601 时长,并把它变成具体的时间量
- 为按周分桶的报表算出 ISO 周数
- 确认带有 `+05:45` 这类不常见偏移的日期时间,换算到 UTC 是什么
Watch out for
- 缺少偏移时,含义会随写法而变。JavaScript 把只有日期的形式 `2024-06-15` 解析为 UTC 午夜,却把既无 `Z` 也无偏移的日期时间形式 `2024-06-15T10:30:00` 解析为本地时间——同一个「午夜」可能相差一天。
- 以年和月表示的时长没有固定长度,因此换算成秒都只是近似。这里显示的总量按一年 365 天、一个月 30 天计算;在二月里,P1M 并不是 30 天。
- 时长中的周标识符 `W`(P2W)虽属标准,却不能与其他分量组合使用,而本解析器读取的是 Y/M/D/H/M/S 形式。
- `Z` 和 `+00:00` 含义相同,但两者都不表示「无时区」。完全不带标识符的时间戳是本地时间,那是另一个值。
Frequently Asked Questions
ISO 8601 日期格式是什么?
ISO 8601 是表示日期和时间的国际标准。基本日期:2024-01-15。带时区的日期时间:2024-01-15T14:30:00Z(UTC)或 2024-01-15T14:30:00+05:30(IST)。时长:P1Y2M3D。它用于 JSON API、文件时间戳、数据库字段和 HTML 的 <time> 元素。
ISO 8601 中的 Z 和 +00:00 有什么区别?
两者都表示 UTC。"Z"(Zulu)是 +00:00 的简写。在所有符合规范的解析器中它们可以互换。"Z" 更紧凑,在 API 中更常见;"+00:00" 有时被用来让偏移显式可见。
如何用 ISO 8601 表示时长?
先写前缀 P,然后是年(Y)、月(M)、周(W)、日(D),接着写 T 表示时间部分,再写小时(H)、分钟(M)、秒(S)。例如:P1Y6M = 1 年 6 个月。PT30M = 30 分钟。P2DT3H = 2 天 3 小时。为零的单位可以省略。
How to Use ISO 8601 Parser
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.