使用Go(例如PT90M)解析ISO 8601持续时间

时间:2020-11-03 21:28:11

标签: go duration iso8601

有没有简单的方法可以将ISO 8601字符串持续时间(P(n)Y(n)M(n)DT(n)H(n)M(n)S)转换为time.Duration

来自Wikipedia on ISO 8601 durations

例如,“ P3Y6M4DT12H30M5S”表示持续时间为“三年,六个月,四天,十二小时,三十分钟和五秒”。

1 个答案:

答案 0 :(得分:5)

为此,标准库中没有API,但是有一个第三方库可以将ISO 8601持续时间添加到output.write()https://godoc.org/github.com/senseyeio/duration#Duration.Shift中。

ISO 8601持续时间通常不能转换为time.Time,因为它取决于基础time.Duration

https://play.golang.org/p/guybDGoJVrT

time.Time