不寻常的时间格式PHP(TZ,H,M,S)

use*_*716 2 php string datetime

我正在获得数据,其中时间(持续时间)字段以不寻常的格式给出.我认为也给出了时区,但我不确定为什么.一个例子是以下字符串:

PT3165H52M12S
Run Code Online (Sandbox Code Playgroud)

我如何在PHP中提取小时,分钟和秒作为整数?到目前为止,我已经尝试使用正则表达式,但我承认失败了.

是否有一个PHP函数可以帮助解决这个我不知道的问题?

非常感谢你提前!

u_m*_*der 8

这是一种DateInterval表示法.

DateInterval只需使用以下命令将其转换为对象:

$i = new DateInterval('PT3165H52M12S');
print_r($i);
Run Code Online (Sandbox Code Playgroud)

之后,你可以直接访问性质$i,因为他们是公众.

echo $i->h;  // shows you `3165` (hours)
echo $i->i;  // shows you `52` (mins)
Run Code Online (Sandbox Code Playgroud)