Отличие DateTime от двух таблиц - PullRequest
0 голосов
/ 09 ноября 2009

У меня есть 2 таблицы с именем mt_upload и down_time, а полем являются DownTime и DownTime1 ... Мне нужно рассчитать разницу во времени между 2 полями из таблицы 2 разностей. Кто-нибудь может мне помочь

Ответы [ 3 ]

2 голосов
/ 09 ноября 2009

При использовании PHP 5.3:

Чтобы получить разницу в пригодной для использования форме, чтобы ее можно было показать пользователю, заполните данные в объекты DateTime, как в $date1 = new DateTime('2009-11-09 12:13:14');, а затем используйте Datetime :: diff () , чтобы получить объект DateInterval .

Делать это лучше, чем вычислять разницу вручную, так как ручная работа с переключателями летнего времени, високосными секундами и подобными датами может быть очень сложной.

1 голос
/ 09 ноября 2009
$date1 = '...'; // fetch this from your first table
$date2 = '...'; // fetch this from your second table
// if the dates are NOT unix timestamps use PHP's strtotime() or MySQL's UNIX_TIMESTAMP() to convert them

$difference = abs($date1 - $date2); // difference in second
// divide by 60 for minutes, 3600 for hours, etc etc
0 голосов
/ 09 ноября 2009

В MySql:

select timediff(t2.DownTime,t1.DownTime1) 
from mt_upload t1, down_time t2 
where t1.id=<some_id> and t2.id=<some_id>;

(конечно, вам нужны идентификаторы для выбора нужных записей)

Возвращает строку в форме ЧАСЫ: МИНУТЫ: СЕКУНДЫ

Если вы хотите количество секунд, вы можете сделать это:

select hour(timediff(t2.DownTime,t1.DownTime1))*3600
+minute(timediff(t2.DownTime,t1.DownTime1))*60
+second(timediff(t2.DownTime,t1.DownTime1))
from mt_upload t1, down_time t2 
where t1.id=<some_id> and t2.id=<some_id>;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...