2009-11-19 322 views
0

我有一個DATETIME用於即將到來的數據庫中的條目。我想知道DATETIME和當前日期/時間在天,小時,分鐘和秒之間的時間差異。我想我可以使用日期函數來做到這一點,但也許我錯了。如何在php中查找日期時間類型和當前日期/時間之間的差異?

這是我的方法:

$now = mktime(0, 0, 0, date("m"), date("d"), date("y")); 
$entry_datetime = strtotime($row['end_auction']); 

$difference = date("G, i, s",($entry_datetime - $now)); 
echo $difference; 

我收到的結果是

13,20,00

但是這並沒有任何意義,因爲在DATETIME $ row ['end_auction']是11月28日,而今天是11月19日,因此遠遠超過13小時。

如何找到這兩個值之間的差異,如何格式化它顯示爲:

9天,10小時,32分鐘,20 秒

謝謝你提前!

+2

見http://stackoverflow.com/questions/676824/how-to-calculate-the-date操作它們-difference-between-dates-using-php – 2009-11-19 12:27:09

回答

3
function datediff($date1, $date2) 
{ 
    $diff = abs(strtotime($date1) - strtotime($date2)); 

    return sprintf 
    (
     "%d Days, %d Hours, %d Mins, %d Seconds", 
     intval($diff/86400), 
     intval(($diff % 86400)/3600), 
     intval(($diff/60) % 60), 
     intval($diff % 60) 
    ); 
} 

print datediff("24th November 2009", "now") . "\n"; 
+0

工程就像一個魅力!非常感謝您爲我寫這篇文章! – zeckdude 2009-11-19 23:01:52

0

你可以使用UNIX_TIMESTAMP()在MySQL中獲取時間戳,然後用PHP的日期函數

相關問題