2012-02-27 5 views
-1

Можно создать дубликат:
Determining elapsed timeРасчет истекшее время

Я хочу знать, как я могу вычислить истекшее время beween 2 датами у меня есть в БД.

Они сохраняются как «EntryDate» и «ExitDate» в дату/время, как DD-MM-YYYY 00:00:00 и я хочу, чтобы вычислить время между двумя, например:

01.01.2012 12.00 .00 и 01.01.2012 13.30.00, которые будут 1 час 30 минут.

Спасибо. Сэм.

+0

Вы хотите выбрать запрос, который дает вам разницу во времени? – Poonam

ответ

0

Для реализации в PHP вам необходимо использовать функцию date_diff.

$d_start = new DateTime($EntryDate); 
$d_end  = new DateTime($ExitDate); 
$diff = $d_start->diff($d_end); 

// return all data 
$this->year = $diff->format('%y'); 
$this->month = $diff->format('%m'); 
$this->day  = $diff->format('%d'); 
$this->hour  = $diff->format('%h'); 
$this->min  = $diff->format('%i'); 
$this->sec  = $diff->format('%s'); 
0

Поскольку даты отформатированы следующим образом, вы можете использовать strtotime для получения временных меток для каждой даты. Затем вы просто вычитаете выход из записи. Это оставляет вам разницу в секундах. Теперь вы можете поиграть с этим.

2

Возможно, вы захотите использовать timediff при работе внутри mysql.

mysql> SELECT TIMEDIFF('2000:01:01 00:00:00', 
->     '2000:01:01 00:00:00.000001'); 
-> '-00:00:00.000001' 
0

вы можете использовать

eg: 
select TIMEDIFF ('2006-10-31 11:50:31' , '2006-10-31 11:50:01') 
0
SELECT TIMESTAMPDIFF(MINUTE,'2012-01-01 12:00:00','2012-01-01 13:30:00') 

Это возвращает разницу в минутах. Вы можете заменить Minute на любое время (например, «HOUR», «SECOND» и т. Д.)

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