如何将字符串持续时间转换为ISO 8601持续时间格式?(例如“30 分钟”到“PT30M”)
2022-08-30 21:01:22
有很多问题询问如何以另一种方式执行此操作(从这种格式转换),但我找不到有关如何在PHP中以ISO 8601持续时间格式输出的任何内容。
因此,我有一堆人类可读格式的持续时间字符串 - 我想将它们动态转换为ISO 8601格式,以打印HTML5微数据的持续时间。以下是一些字符串的示例,以及它们应如何格式化
"1 hour 30 minutes" --> PT1H30M
"5 minutes" --> PT5M
"2 hours" --> PT2H
我可以在PHP中将字符串推入间隔对象:
date_interval_create_from_date_string("1 hour 30 minutes");
但似乎没有ISO 8601输出选项
我应该如何解决这个问题?