# ISO 8601 时长解析与算术工作台

解析 ISO 8601 时长、校验 8601-2 扩展、执行日历真实算术、按锚点真实时长排序并计算时刻之差。

> 标准页面: https://elysiatools.com/zh/tools/iso-8601-duration-parser-arithmetic-workbench

- **分类:** Date & Time

- **关键词:** iso 8601, 时长, temporal.duration, 日历算术, kubernetes 时长, rrule, icalendar 时长, 时间间隔

## 概述

这是时长计算器而非格式转换器。四种模式：解析检视、算术表达式、按真实时长排序、两个时刻的日历差。

## 输入项

- **Modo** (select)
- **Duraciones / expresión** (textarea): P1Y2M3DT4H5M6S P3W PT36H -PT30M P0D (expression mode) P1Y2M + P11M - P90D
- **Fecha y hora de anclaje** (text): 2026-01-15T00:00:00Z (default)
- **Momento inicial** (text): 2026-01-01T00:00:00Z (diff mode)
- **Momento final** (text): 2026-02-15T12:30:00Z (diff mode)

## 适用场景

- 解析包含周、负数或扩展语法的复杂 ISO 8601 时长字符串并查看各分量与规范表达。
- 需要结合具体基准日期（锚点时间）对跨月、跨年的时长进行精确加减算术求值。
- 对比多个异构时长字符串的实际物理/日历耗时，或计算两个 ISO 日期时间戳之间的精准时长。

## 工作原理

- 选择工作模式：解析检视（parse）、算术表达式（expression）、按真实时长排序（sort）或时刻之差（diff）。
- 在文本区域输入一个或多个 ISO 8601 时长字符串、计算表达式，或者指定起始与结束时刻（datetimeA 与 datetimeB）。
- 配置可选的锚点时间（如 2026-01-15T00:00:00Z），用于处理受大小月、闰年影响的日历分量计算与真实时长换算。
- 运行分析获取结构化结果，包括各时间分量表、规范化时长、人类可读描述以及基于锚点的真实日历运算结果。

## 使用案例

- 开发与系统集成：校验 iCalendar、RRULE 或 Kubernetes 配置文件中定义的持续时间字符串是否合法与规范。
- 计费与订阅系统排期：结合用户订阅开始时间，计算多周期叠加、抵扣或跨月续费后的最终到期时长。
- 日程与数据流水线分析：按真实跨度对比不同任务的执行窗口，或提取批处理任务两个时间戳之间的标准间隔。

## 常见问题

### 为什么计算涉及月份（如 P1M）或年份（如 P1Y）的时长需要锚点时间？

月份和年份的实际天数因大小月和闰年而异，设定锚点时间才能确定其确切的物理秒数与日历跨度。

### 该工具支持负数时长或混合周数的 ISO 8601-2 扩展吗？

支持，工具支持解析负时长（如 -PT30M）以及周与日混合的时长（如 P2W3D），并在检视中标记扩展属性。

### 算术表达式模式支持哪些运算符？

支持在多个 ISO 时长之间使用加号（+）和减号（-）结合锚点时间进行逐步日历累加与减法运算。

### 排序模式是如何对不同格式的时长进行排序的？

工具将所有时长应用到指定的基准锚点时间上，计算出各时长的实际毫秒跨度后进行升序或降序对比。

### 时刻之差（diff）模式的输入要求是什么？

需在 Momento inicial 和 Momento final 中分别输入合法的 ISO 8601 日期时间字符串（如 2026-01-01T00:00:00Z）。

## 相关工具

- [日期范围验证器](https://elysiatools.com/zh/tools/date-range-validator): 验证日期是否在指定范围内
- [国际象棋 FEN / PGN 与 Elo 等级分辅导器](https://elysiatools.com/zh/tools/chess-fen-pgn-elo-rating-tutor): 解析并校验 FEN 棋盘快照、PGN/SAN 棋谱；按胜/和/负与对手 rating 用 Elo 公式投影新等级分；附 Lichess/Chess.com 段位说明
- [Cron 表达式可视化器](https://elysiatools.com/zh/tools/cron-expression-visualizer): 解析 cron 调度，校验标准 cron 或 Quartz 语法，并用时间轴和分组日历展示未来执行时间
- [CSV 畸形行外科医生](https://elysiatools.com/zh/tools/csv-malformed-row-surgeon): 逐行外科手术式修复畸形 CSV 行：未转义（游离）引号、混合分隔符（同一文件中制表符/分号/逗号混用）、带 BOM 的表头、CRLF/CR 换行符与多余空行。外科医生采用容错解析，以红绿逐行 diff 显示每一处改动（前 → 后，并标注修复原因），列出未改动的行，并输出清洗后的 CSV。可选 AI 修复会在确定性修复后复查可疑行。它补足 CSV 校验器（仅报告问题）——真正修复受损行。
- [安全响应头检查器](https://elysiatools.com/zh/tools/security-headers-checker): 审计 HTTP 响应头的安全合规性——解析你粘贴的原始头（无网络），按 OWASP 安全头集做值级检查：HSTS max-age、CSP unsafe-inline/eval、X-Content-Type-Options、Referrer-Policy、Permissions-Policy、COOP/COEP/CORP 等。输出字母评级（A+ 到 F）及逐项 Finding 与可复制的修复建议。
- [日期重叠检查器](https://elysiatools.com/zh/tools/date-overlap-checker): 检查日期范围是否相互重叠
- [环境变量解析器](https://elysiatools.com/zh/tools/env-parser): 提取和验证.env风格的KEY=VALUE配置，检测重复键和可疑的空格/引号
- [Hosts文件编辑器](https://elysiatools.com/zh/tools/hosts-file-editor): 解析、验证和格式化hosts文件条目

## 示例

- [Nginx 日志解析示例](https://elysiatools.com/zh/samples/nginx-log-samples): 用于测试 log-parser 工具的综合 Nginx 日志样本，包括访问日志和错误日志的各种格式和场景
- [ISO Viewer Samples](https://elysiatools.com/zh/samples/iso-viewer-samples): A ISO archive sample for in-browser preview
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
