regex 时间格式PT00H00M00S的名称是什么?哪些语言使用它?

9jyewag0  于 2022-12-14  发布在  其他
关注(0)|答案(3)|浏览(222)

我正在使用PHP脚本处理Excel文档,无法确定PT 00 H 00 M00 S是什么数据类型/格式,因此我无法找到不使用regex的方法来处理它。我想将其转换为更标准的时间格式(00:00:00),但我无法在谷歌上搜索,因为我不知道“PT... S”实际上被称为什么日期类型/格式。
请帮帮我

aor9mmx1

aor9mmx11#

这是一个ISO 8601持续时间
请参阅以下简要概述:http://en.wikipedia.org/wiki/ISO_8601#Durations
许多语言都有可用于处理它们的工具,包括DateInterval形式的PHP。

o2g1uqev

o2g1uqev2#

这是一个时间间隔,其中P表示周期,可以使用PHP的DateInterval()来解析字符串。
例如(取自PHP文档的示例):

$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d days');
798qvoo8

798qvoo83#

这是一个ISO 8601格式,以给予持续时间。

P代表周期,T代表包含时间部分(即小时、分钟和秒)的间隔。

"5 hours 30 minutes" --> PT5H30M
"7 minutes" --> PT7M
"2 hours" --> PT2H

这种格式很简单,但在其上执行任何操作都很困难。
在PHP中,我们有一个内置函数将其转换为秒。

(new DateTime('@0'))->add(new DateInterval('P2DT4H30M'))->getTimestamp()

相关问题