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


Мне нужно умножение времени в PHP

$maritime ='01:10:00';       

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

01:10:00*5 =  05:50:00
 2
Author: panther, 2015-05-31

2 answers

Вот что вам следует сделать

Шаг 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);
?>

Вот ссылка Для оценки

 8
Author: Sulthan Allaudeen, 2015-05-31 10:08:15

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

Вот краткий пример того, как это сделать, обратите внимание, что в 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";
}
 4
Author: hynner, 2015-05-31 09:21:07