PHP Суммирует часы, минуты, секунды

#php

#php

Вопрос:

Учитывая последовательность часов, минут и секунд (например: 01:30:00 или 00:30:00), я хотел бы сложить каждый из них и преобразовать сумму в секунды.

Например, если общее время равно 02:30:00, общее время должно быть в секундах.

Спасибо!

Ответ №1:

 $timestr = '00:30:00';

$parts = explode(':', $timestr);

$seconds = ($parts[0] * 60 * 60)   ($parts[1] * 60)   $parts[2];
  

Комментарии:

1. 1, микрооптимизация ($parts[0] * 3600) — умножение стоит дорого 🙂

Ответ №2:

ОК.

базовое умножение:

 <?php

    $time = "01:30:00";

    list ($hr, $min, $sec) = explode(':',$time);

    $time = 0;

    $time = (((int)$hr) * 60 * 60)   (((int)$min) * 60)   ((int)$sec);

    echo $time;

?>
  

Демо:http://codepad.org/PaXcgdNc

Ответ №3:

Попробуйте это:

 $string = "1:30:20";
$components = explode(":", $string);
$seconds = $components[0]*60*60   $components[1]*60   $components[2]
  

Ответ №4:

Попробуйте

 <?php 

$hour_one = "01:20:20";
$hour_two = "05:50:20";
$h =  strtotime($hour_one);
$h2 = strtotime($hour_two);

$minute = date("i", $h2);
$second = date("s", $h2);
$hour = date("H", $h2);

echo "<br>";

$convert = strtotime(" $minute minutes", $h);
$convert = strtotime(" $second seconds", $convert);
$convert = strtotime(" $hour hours", $convert);
$new_time = date('H:i:s', $convert);

echo $new_time;

?>