2012-02-27 111 views
-1

可能重複:
Determining elapsed time計算經過時間

我想知道我怎麼能計算出經過時間beween 2日我有一個DB。

它們被保存在日期「EntryDate」和「ExitDate」 /時間DD-MM-YYYY 00:00:00,我想這兩者之間來計算時間,例如:

01.01.2012 12.00 .00和01.01.2012 13.30.00這將是1小時30分鐘。

謝謝。山姆。

+0

你想選擇查詢哪個給你時差? – Poonam 2012-02-27 13:36:10

回答

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

在mysql內部工作時,您可能想使用timediff

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') 

這將返回以分鐘爲單位的差異。你可以用任何時間單位替換分鐘(如'HOUR','SECOND'等)