Строка 'PT1H8M21S'
Это не дата, а время. Это интервал (в частности, это строковое представление DateInterval).
Для добавления этого интервала необходима базовая дата DateTime.
Попробуйте что-то вдоль этих линий
$interval = $dv = new DateInterval('PT1H8M21S'); //the value you get from the url
$time = new DateTime('2000-01-01'); //any date works fine here.
// Note: Hours, mins and seconds == 0
$time->add($interval);
echo $time->format('H:i:s');
первых, создать соответствующую DateInterval объект из строки, которую вы получили.
Затем создайте базовый объект DateTime. Любая дата в порядке, вам просто нужно убедиться, что у вас есть часы, минуты и секунды (я предполагаю, что интервал будет всегда меньше одного полного дня.)
Добавить интервал к базовой дате и эхо часы, минуты и секунды, как вы пожелаете.
что вы пытаетесь сделать? я не понимаю вопрос – Dwza
Я пытаюсь преобразовать «PT1H8M21S» в формат даты в формате php «hh: mm: ss» – lalith458
а что заставляет вас думать, что это формат времени? – Dwza