Продолжительность между двумя раза в PHP MySQL

0

У меня есть 5 полей в одной из моих таблиц mysql. 3 из них - дата, время1 и время2. date - тип данных DATE, а time1 и time2 - тип данных TIME. Я хочу рассчитать интервал между time1 и time2 и отобразить в интернет-браузере. В PHP я проделал следующие шаги, но это не сработало.

$start_time = strtotime($row['time1']);
$end_time = strtotime($row['time2']);
$interval = $end_time - $start_time;

Нужно ли комбинировать дату и время в одном поле и хранить как временную метку?

Благодарю.

Теги:

3 ответа

0

$start_time = strtotime($row['time1']);
$end_time = strtotime($row['time2']);
$ts1 = strtotime(str_replace('/', '-', $start_time));
$ts2 = strtotime(str_replace('/', '-', $end_time));
$diff = abs($ts1 - $ts2) / 3600;
0

Вы также можете попробовать это, используя класс DateTime

$date_time1 = new DateTime('09:00:59');
$date_time2 = new DateTime('09:01:00');
$interval = $date_time1->diff($date_time2);
$interval->format('%s seconds(s)');
  • 0
    Суреш Камруши, Саурабх Бансал Это работает, спасибо.
0

вы можете попробовать что-то вроде этого:

   $datetime1 = date_create($date_1);
    $datetime2 = date_create($date_2);

    $interval = date_diff($datetime1, $datetime2);   
    $interval->format($differenceFormat);

reff: http://php.net/manual/en/function.date-diff.php

  • 0
    Спасибо за ответ. $ date_1 должен быть меткой времени? Это не может быть как "08:44:45" не так ли? поэтому я должен объединить дату и время.

Ещё вопросы

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