Умножение времени в PHP

Мне нужно умножить время в PHP

$maritime ='01:10:00'; 

Мне нужно увеличить этот $maritime до 5
Я хочу получить такой ответ

 01:10:00*5 = 05:50:00 

Вот что вы должны сделать

Шаг 1: Преобразование часов в секунды

 $seconds = strtotime("1970-01-01 $maritime UTC"); 

Шаг 2: Умножьте его прямо

 $multiply = $seconds * 5; 

Шаг 3: Преобразуйте секунды в часы, и все готово!

 echo gmdate("d H:i:s",$multiply); 

Итак, ваш окончательный код должен быть

 <?php $maritime ='01:10:00'; $seconds = strtotime("1970-01-01 $maritime UTC"); $multiply = $seconds * 5; #Here you can multiply with your dynamic value echo gmdate("d H:i:s",$multiply); 

Вот ссылка Eval, которая показывает результат

Обновить :

Если вы работаете более одного дня

т.е. время * 25 раз, то у него будет более одного дня

Тогда мой выход будет 02 05:10:00

Но если вы хотите, чтобы это в часы строго, вы должны использовать DateTime

 <?php $maritime ='01:10:00'; $seconds = strtotime("1970-01-01 $maritime UTC"); $multiply = $seconds * 25; #Here you can multiply with your dynamic value $seconds = $multiply; $zero = new DateTime("@0"); $offset = new DateTime("@$seconds"); $diff = $zero->diff($offset); echo sprintf("%02d:%02d:%02d", $diff->days * 24 + $diff->h, $diff->i, $diff->s); ?> 

Вот ссылка Eval

Просто преобразуйте время в базовый блок (в этом случае секунды), затем умножьте его и преобразуйте обратно.

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

 function toSeconds($time){ $arr = explode(":", $time); return $arr[0]*3600 + $arr[1]*60 + $arr[2]; } function fromSeconds($seconds){ $hours = floor($seconds/3600); $seconds -= $hours*3600; $minutes = floor($seconds/60); $seconds -= $minutes*60; return "$hours:$minutes:$seconds"; }