Какой формат времени это "P16DT1H58M47S"? - PullRequest
1 голос
/ 14 декабря 2011

Я анализирую некоторые данные на веб-сайте с использованием PHP, и это дает мне количество времени в этом формате:

P16DT1H58M47S

Но у них не всегда есть количество дней, например:

PT8H10M3S

А иногда нет часов:

PT33M57S

Мне нужно найти способ преобразовать это в общее количество секунд.Мне НЕ нужно помещать это в объект даты, но я хотел бы найти довольно быстрый способ сделать это, так как у меня есть много данных, через которые нужно пройти.

1 Ответ

5 голосов
/ 14 декабря 2011

http://www.php.net/manual/en/dateinterval.construct.php

Interval specification.

The format starts with the letter P, for "period."  
Each duration period is represented by an integer value  
followed by a period designator.  
If the duration contains time elements,  
that portion of the specification is preceded by the letter T.

--------------
Y   years
M   months
D   days
W   weeks. These get converted into days, so can not be combined with D.
H   hours
M   minutes
S   seconds

P16DT1H58M47S = 16 days, 1 hour, 58 minute and 47 seconds
...