2013-04-22 1 views
0

Я получаю два интервала времени из базы данных, такие как:Как получить интервал времени от SQL времени формат даты в PHP

PickUpDateTime = "2013-4-20 12:00:00" и returndatetime ="2013-4-20 14:00:00".

Как найти временной интервал между этими двумя временами в PHP?

+0

Убедитесь, что вы знаете, что они представляют. Если они находятся в локальном часовом поясе, тогда может произойти отключение часа (положительное или отрицательное), когда изменяется переход на летнее время. В общем, вы должны только вычитать datetimes, чтобы получить продолжительность, если вы можете гарантировать, что они находятся в одном и том же смещении, или факторизуют смещение в ваше уравнение. Один простой способ сделать это - использовать время UTC. –

ответ

1

Преобразование в секунды и вычитание.

$date1 = strtotime($mysqldate1); 
$date2 = strtotime($mysqldate2); 
$diff_in_seconds = abs($date1 - $date2); 
+0

Большое спасибо! Это решило мою проблему. –

1

Я думаю, что вы можете использовать Mysql TIMESTAMPDIFF:

SELECT TIMESTAMPDIFF(SECOND, returndatetime, pickUpDateTime) as diffInSeconds FROM table 
1

Вы можете использовать StrToTime, чтобы преобразовать их в временные метки. Затем вычтите/разделите.

Смежные вопросы