我正在使用PHP脚本处理Excel文档,但无法确定PT00H00M00S是什么数据类型/格式,因此我无法在不使用正则表达式的情况下处理它。我想将其转换为更标准的时间格式(00:00:00),但由于不知道“PT...S”实际上被称为何种日期类型/格式,因此无法在Google上进行研究。
请帮助我。
请帮助我。
这是一个ISO 8601持续时间。
可以参考这个简要概述:http://zh.wikipedia.org/wiki/ISO_8601#Durations
许多语言都有相关的工具,包括PHP中的DateInterval
。
这是一个时间间隔,其中P
表示周期。您可以使用PHP的{{link1:DateInterval()
}}来解析字符串。
例如(示例取自PHP文档):
$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');
这是一个ISO 8601格式,用于表示持续时间。
P代表周期,T代表包含时间组件的间隔,即小时、分钟和秒。
"5 hours 30 minutes" --> PT5H30M
"7 minutes" --> PT7M
"2 hours" --> PT2H
这种格式很直观,但对其执行任何操作都很困难。
在PHP中,我们有一个内置函数将其转换为秒。
(new DateTime('@0'))->add(new DateInterval('P2DT4H30M'))->getTimestamp()