Продолжительность времени для рецепта хранится в моей базе данных в виде строки вроде этого: «01:50» Я пытаюсь преобразовать ее в стандарт продолжительности ISO 8601 без успеха.
Это то, что я использую, чтобы вызвать поле и проанализировать его на странице:
$totalTime = ($extraField->value); $itempr = "itemprop=\"totalTime\" content=\"$totalTime\"";
Таким образом, он появляется в инструменте Google для структурированных данных, как «00:50», который Google не принимает. Насколько я понимаю, это должно выглядеть так: PT1H50M
Кто-нибудь получил какие-либо идеи о том, как преобразовать его в формат ISO 8601? Пожалуйста, имейте в виду, что я не увлекаюсь разработкой с помощью PHP, поэтому будьте как можно более объяснительными. Благодаря!
Как вы уже писали в комментариях:
echo (new DateTime('01:50'))->format('\P\TG\Hi\M');
или вы можете преобразовать его уже в базу данных с помощью функции TIME_FORMAT :
SELECT TIME_FORMAT('01:50', 'PT%kH%iM');