У меня есть 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;
Нужно ли комбинировать дату и время в одном поле и хранить как временную метку?
Благодарю.
$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;
Вы также можете попробовать это, используя класс 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)');
вы можете попробовать что-то вроде этого:
$datetime1 = date_create($date_1);
$datetime2 = date_create($date_2);
$interval = date_diff($datetime1, $datetime2);
$interval->format($differenceFormat);