У меня есть два раза. Я хочу получить разницу во времени между секундами, предположим, что есть два момента времени1 = 4:20 и time2 = 20: 10 теперь я хочу получить разницу между секундами между ними.
У меня нет параметров даты здесь, пожалуйста, не отмечайте пост как дубликат: получение разницы во времени между двумя раз в PHP
там есть день, так что мой случай отличается
$time1 = strtotime('01:30:00');
$time2 = strtotime('02:20:00');
$time_def = ($time2-$time1)/60;
echo 'Minutes:'.$time_def;
Эта функция будет работать для MM:SS
и HH:MM:SS
формат:
function TimeToSec($time) {
$sec = 0;
foreach (array_reverse(explode(':', $time)) as $k => $v) $sec += pow(60, $k) * $v;
return $sec;
}
Чтобы рассчитать разницу, используйте:
echo TimeToSec('20:10') - TimeToSec('4:20');
Если 4 в 4:20 - минуты и 20 секунд:
function minutesAndSecondsToSeconds($minutesAndSeconds) {
list($minutes, $seconds) = explode(':', $minutesAndSeconds);
return $minutes * 60 + $seconds;
}
echo minutesAndSecondsToSeconds('20:10') - minutesAndSecondsToSeconds('4:20');
С часами:
function timeToSeconds($time) {
list($hours, $minutes, $seconds) = explode(':', $time);
return $hours * 3600 + $minutes * 60 + $seconds;
}
echo timeToSeconds('3:20:10') - timeToSeconds('1:20:00');
Или просто используйте strtotime, который должен работать, как описано здесь: Получение разницы во времени между двумя раз в PHP