php - 如何使用 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 是否有任何方法可以做到这一点
解决方案
将日期时间字符串转换为 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
推荐阅读
- c# - C#如何将一个数组一分为二
- amazon-web-services - 以编程方式从 AWS S3 到 RDS 无服务器 Aurora (PostgreSQL)
- node.js - 在 ubuntu 上安装时间包会返回 node-gyp 错误
- javascript - 图像在 vue 组件中有效,在另一个组件中无效
- modelica - 在 State-Space 模块 OpenModelica 中使用连续变量
- node.js - NodeJS - https - TypeError [ERR_INVALID_HTTP_TOKEN]:标头名称必须是有效的 HTTP 令牌 [“Accept”]
- magento - 在结帐时以编程方式选择地址 - Magento 2
- ubuntu - Ubuntu 上 Remmina 的错误消息在哪里
- python - 如何在 Python 中对马尔可夫链进行可视化动画处理?
- java - 在 Java 应用程序中使用 .sql 脚本创建 PostgreSQL 数据库