как получить разницу во времени между двумя в php

0

У меня есть два раза. Я хочу получить разницу во времени между секундами, предположим, что есть два момента времени1 = 4:20 и time2 = 20: 10 теперь я хочу получить разницу между секундами между ними.

У меня нет параметров даты здесь, пожалуйста, не отмечайте пост как дубликат: получение разницы во времени между двумя раз в PHP

там есть день, так что мой случай отличается

Теги:
time

3 ответа

1
$time1 = strtotime('01:30:00');
$time2 = strtotime('02:20:00');

$time_def = ($time2-$time1)/60;

echo 'Minutes:'.$time_def;
0

Эта функция будет работать для 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');

demo

0

Если 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

  • 0
    что если включить часы
  • 0
    Если включить часы, то ваша проблема такая же, как stackoverflow.com/questions/13928021/…, чтобы вы могли использовать strtotime или ту же логику, что и в моем ответе, просто добавьте $ hours в список и $ hours * 3600 в результате. это очень простой алгоритм, который вы можете легко адаптировать, если попытаетесь понять эту функцию.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню