Skip to content

duration

格式化秒数或 ISO 8601 时长。

语法

knap
{{ value | duration }}
{{ value | duration:"H:mm:ss" }}

用法

  • 可选的格式支持用于小时的 HHH、用于分钟的 mmm,以及用于秒的 sss
  • 不指定格式时,至少一小时的时长使用 HH:mm:ss;更短的时长使用 mm:ss
  • 数据可以是 ISO 8601 时长,也可以是秒数。

示例

ISO 8601 时长

Data
json
{
  "duration": "PT1H30M"
}
Template
knap
{{ duration | duration:"HH:mm:ss" }}
Output
md
01:30:00

秒数

Data
json
{
  "seconds": 3665
}
Template
knap
{{ seconds | duration:"H:mm:ss" }}
Output
md
1:01:05

默认格式

Data
json
{
  "duration": "PT5M30S"
}
Template
knap
{{ duration | duration }}
Output
md
05:30

超过 24 小时

Data
json
{
  "duration": "P1DT2H"
}
Template
knap
{{ duration | duration:"HH:mm:ss" }}
Output
md
26:00:00

时长格式

Knap 支持下面六个格式符。小时表示总时长,可以超过 23;分钟和秒是剩余的分量。不支持其他 Day.js 时长格式符以及方括号转义。参见 Day.js 时长格式

格式符含义3665 秒的输出
H总小时数1
HH总小时数,至少两位01
m剩余分钟(0–59)1
mm剩余分钟,补零(00–59)01
s剩余秒数(0–59)5
ss剩余秒数,补零(00–59)05