将H:i转换为ISO 8601持续时间标准

时间:2013-09-29 18:25:16

标签: php datetime

食谱的持续时间作为字符串存储在我的数据库中:“01:50” 我试图将其转换为ISO 8601持续时间标准,但没有成功。

这是我用来调用字段并将其解析为页面的内容:

$totalTime = ($extraField->value);
$itempr = "itemprop=\"totalTime\" content=\"$totalTime\"";

像这样,它在谷歌结构化数据测试工具中显示为“00:50”,谷歌不接受。根据我的理解,它应该是这样的:PT1H50M

有没有人对如何将其转换为ISO 8601格式有任何想法?请记住,我并不热衷于使用PHP进行开发,因此请尽可能解释。谢谢!

1 个答案:

答案 0 :(得分:7)

就像你在评论中写的那样:

echo (new DateTime('01:50'))->format('\P\TG\Hi\M');

或者您可以使用TIME_FORMAT函数将其转换为数据库:

SELECT TIME_FORMAT('01:50', 'PT%kH%iM');