Выяснить разницу в днях между событиями - PullRequest
0 голосов
/ 04 декабря 2011

У меня есть MySQL DB с StartDates в формате гггг-мм-дд и временем начала в формате ЧЧ: ММ с использованием 24-часовых часов.Какой самый простой способ сравнить разницу двух дней в PHP?Могу ли я использовать объект datetime, чтобы он соответствовал предоставленной информации и просто передавал его нулям в течение секунд?Мне нужно получить количество времени между обеими датами до минуты.Я помещал начальную дату (просто день, так как она всегда была в одном и том же месяце для моего заявления) и время вместе объединялось, а затем вытаскивал то, что мне нужно, как показано ниже, но я пока не смог разобраться.Спасибо за взгляд!

$tempvar1 = $times[$i][$j];
$tempvar2 = $times[$i][$j+1];
$day1 = $tempvar1[0].$tempvar1[1];
$day2 = $tempvar2[0].$tempvar2[1];
$hours1 = $tempvar1[2].$tempvar1[3];
$hours2 = $tempvar2[2].$tempvar2[3];
$minutes1 = $tempvar1[5].$tempvar1[6];
$minutes2 = $tempvar2[5].$tempvar2[6];
$numdays = ($day2-$day1) - 1;
$time1 = ($hours1*60)+$minutes1;
$time2 = ($hours2*60)+$minutes2;

1 Ответ

2 голосов
/ 04 декабря 2011

MySQL имеет множество функций даты / времени:

SELECT TIMEDIFF(endtime, starttime), DATEDIFF(endtime, starttime)
FROM ...

ссылки на документы для timediff и datediff

То есть вы получите строки в формате 'hh: mm: ss.ssss' для timediff и целочисленное значение, представляющее дни между двумя датами соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...