ISO 8601 时长转换器

读写 PT1H30M 这类 ISO 8601 时长,同时给出秒数与通俗说法。

ISO 8601 时长转换器完全在你的浏览器中运行:输入的时长在本机解析,不会上传。

打开时长转换器

关于 ISO 8601 时长转换器

ISO 8601 的时长出现在任何需要让一段时间安全穿过 JSON 的地方:schema.org 标记、Kubernetes 清单、XML Schema、OpenAPI 示例,以及 .NET 的 TimeSpan 往返格式。写法是 P[n]Y[n]M[n]DT[n]H[n]M[n]S,而所有人都会栽在 M 上:T 之前表示月,T 之后表示分钟,所以 P1M 与 PT1M 相差约 43,000 倍。这个转换器会拆解时长,也能从普通文字生成时长,并明确说出多数库都藏起来的事实:月和年并没有固定长度。

功能特性

如何使用 ISO 8601 时长转换器

  1. 粘贴一个 ISO 8601 时长,或切换到生成模式
  2. 生成模式下可输入秒数、时钟写法或 2d 4h 之类的写法
  3. 读取合计、各字段拆解与通俗说法
  4. 若含月或年,选择月长度所用的假设

示例

输入

P3Y6M4DT12H30M5S

输出

3 years, 6 months, 4 days, 12 hours, 30 minutes and 5 seconds
110,984,405 seconds (Gregorian average)

规范自带的示例,也提醒着两个 M 含义并不相同。

常见错误与故障排除

常见问题

PT1H30M 是什么意思?
一小时三十分钟。P 开启时长,T 分隔日期部分与时间部分,T 之后的 M 表示分钟。
P1M 与 PT1M 有什么区别?
P1M 是一个月,PT1M 是一分钟。区分它们的只有 T,所以 T 不能省略。
怎样把 ISO 8601 时长换算成秒?
周及以下是精确的;月和年不是,必须假定一个长度——可在格里高利平均值与 30 天之间选择。
ISO 8601 时长用在哪些地方?
schema.org 标记、Kubernetes 与 Prometheus 配置、XML Schema 类型、OpenAPI 示例,以及 .NET 的 TimeSpan。

相关工具

全部 ArrayKit 工具