2009-11-19 290 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的日期函数

相关问题