У меня есть 5 полей в одной из моих таблиц mysql. 3 из них — дата, время1 и время2. date — это тип данных DATE, а time1 и time2 — тип данных TIME. Я хочу рассчитать интервал между временем1 и временем2 и отобразить в интернет-браузере. Я попробовал следующее в PHP, но это не сработало.
$start_time = strtotime($row['time1']);
$end_time = strtotime($row['time2']);
$interval = $end_time - $start_time;
Нужно ли объединять дату и время в одном поле и сохранять как метку времени?
Благодарю.
Вы можете попробовать что-то вроде этого:
$datetime1 = date_create($date_1);
$datetime2 = date_create($date_2);
$interval = date_diff($datetime1, $datetime2);
$interval->format($differenceFormat);
Вы также можете попробовать это с помощью класса 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)');
$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;