首页 > 解决方案 > 如何使用 PHP 转换为 schema.org JSON-LD 持续时间

问题描述

schema.org JSON-LD 中的持续时间是这种格式 "duration": "PT4M5S" 它应该是 ISO-8601 但在 PHP 中 date('c') 应该返回一个像这样的字符串 2004-02-12T15:19:21 +00:00 格式不同

我有时间以这种格式“00:03:06”,我需要以 schema.org JSON-LD 格式获取它,不确定 PHP 是否有任何方法可以做到这一点

https://schema.org/duration

标签: phpschema.orgjson-ld

解决方案


将日期时间字符串转换为 ISO 8601 持续时间 (PnYnMnDTnHnMnS) https://en.wikipedia.org/wiki/ISO_8601#Durations

像这样的东西可以是一种方式。

$time = new DateTime('00:03:06');

echo sprintf('PT%dH%dM%dS', $dm->format('H'), (int)$dm->format('i'), (int)$dm->format('s'));

输出:PT0H3M6S


推荐阅读