无需上传、100% 本地处理、无需账户

ISO 8601 时长转换器

输入一个 ISO 8601 时长以拆解它并转换为秒数。

ISO 8601 时长转换器 的工作原理

ISO 8601 时间段转换器可解析和转换以 ISO 8601 格式书写的时间段(例如 P1Y2M10DT4H30M),将其分解为年、月、日、小时、分钟和秒的可读形式,并计算时间部分的总秒数。转换完全在浏览器内运行,你输入的内容不会传输到任何服务器,且页面加载后可离线使用。

ISO 8601 时间段字符串以 'P'(Period,时间段)开头,后跟日期部分(Y 表示年,M 表示月,W 表示周,D 表示天),以及可选的 'T' 分隔符后的时间部分(H 表示小时,M 表示分钟,S 表示秒)。周(W)是特殊情况:存在时,同一字符串中不得出现其他日期部分。总秒数仅涵盖可确定的时间部分(小时、分钟、秒),因为月和年的天数是可变的,在没有参考日期的情况下无法转换为秒数。

ISO 8601 时长转换器 的分步使用说明

  1. 在输入字段中输入或粘贴 ISO 8601 时间段字符串(例如 P3Y6M4DT12H30M5S)。
  2. 读取各组成部分的分解结果:年、月、周、日、小时、分钟、秒。
  3. 查看时间部分(仅 H/M/S 组件)的总秒数值。
  4. 也可以填写各个组件字段,工具将为你生成 ISO 字符串。

常见使用场景

  • 开发者在调试返回 ISO 8601 格式时间段的 API 响应,需要核实解析值。
  • 技术文档撰写者在记录一个接受 ISO 时间段字符串的系统,想展示每个组件的含义。
  • 数据分析师需要将数据库导出文件中的一组 ISO 时间段值转换为总秒数以进行统计分析。
  • 生成日历或调度数据的开发者需要从各个时间组件值构建有效的 ISO 8601 时间段字符串。

常见问题

ISO 8601 时间段字符串中每个字母代表什么?

P 标记时间段的开始。Y = 年,T 分隔符之前的 M = 月,W = 周,D = 日。T 分隔符之后:H = 小时,M = 分钟,S = 秒。字符串 P1Y2M10DT4H30M 表示 1 年 2 个月 10 天 4 小时 30 分钟。

为什么工具只能将小时、分钟和秒转换为总秒数,而不能转换月和年?

月份从 28 天到 31 天不等,年份在 365 天和 366 天之间变化。没有参考开始日期,「一个月」就没有唯一正确的秒数。小时、分钟和秒有固定长度,可以确定性地转换。若需要包含月或年的时间段的总秒数,请使用日期加减计算器指定开始日期,再计算天数差。

PT1H30M 与 P0Y0M0DT1H30M 有什么区别?

它们在语义上是相同的,都表示 1 小时 30 分钟的时间段。ISO 8601 允许省略零值组件,因此 PT1H30M 是紧凑形式,P0Y0M0DT1H30M 是明确形式,两者都是有效的。

时间段字符串中能同时包含周和天吗?

不能。在 ISO 8601 时间段中使用 W(周)指示符时,标准禁止在同一字符串中出现其他日期指示符(Y、M、D)。仅含周的时间段形如 P3W,表示恰好 3 周。

我输入的 ISO 时间段字符串会被存储或发送到任何地方吗?

不会。解析是纯本地字符串操作,没有任何外部依赖。你输入的时间段字符串保留在浏览器标签页内,不会被记录、传输或在会话之外缓存。

ISO 8601 中有效的负时间段吗?

ISO 8601 核心标准未定义负时间段。部分扩展实现允许前置负号(例如 -P1D 表示「负一天」)。本工具解析标准的非负时间段;若你的使用场景需要负时间段,请查阅你所使用的特定 API 或系统的文档以确认其约定。