如何在php中查找日期时间类型和当前日期/时间之间的差异?
问题描述:
我有一个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 秒
谢谢你提前!
答
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
答
你可以使用UNIX_TIMESTAMP()
在MySQL中获取时间戳,然后用PHP的日期函数
见http://stackoverflow.com/questions/676824/how-to-calculate-the-date操作它们-difference-between-dates-using-php – 2009-11-19 12:27:09