4

配方的持续时间作为字符串存储在我的数据库中,如下所示:“01:50” 我正在尝试将其转换为 ISO 8601 持续时间标准,但没有成功。

这就是我用来调用该字段并解析它的页面:

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

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

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

4

1 回答 1

7

就像你已经在评论中写道:

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

或者您可以使用TIME_FORMAT函数在数据库中进行转换:

SELECT TIME_FORMAT('01:50', 'PT%kH%iM');
于 2013-09-29T19:30:17.520 回答