<?php
$testCases = [
['2017-06-30 15:00:00', '2017-06-30 15:01:00'],
['2017-06-30 15:00:00', '2017-06-30 15:15:00'],
['2017-06-30 15:00:00', '2017-06-30 15:16:34'],
['2017-06-30 15:00:00', '2017-07-01 12:48:34'],
['2017-06-30 16:18:45', '2017-07-01 11:54:34'],
];
foreach ($testCases as $test) {
list($inicio, $encerramento) = $test;
$inicio = DateTime::createFromFormat('Y-m-d H:i:s', $inicio);
$encerramento = DateTime::createFromFormat('Y-m-d H:i:s', $encerramento);
$duracao = $inicio->diff($encerramento, true);
var_dump($duracao);
var_dump(join(':', [
str_pad($duracao->days*24 + $duracao->h, 2, STR_PAD_RIGHT, '0'),
str_pad($duracao->i, 2, STR_PAD_RIGHT, '0'),
str_pad($duracao->s, 2, STR_PAD_RIGHT, '0'),
]));
}
preferences:
52.98 ms | 402 KiB | 5 Q