2010-02-10 37 views
0

我知道这已被问过几次,但我似乎无法找到正确的答案。我想计算两个unix时间戳之间的差异,并以天显示这种差异。我不关心这里的几分钟或几秒钟。如何获得计算两个unix时间戳的正确结果

$time = 172800 - time() + 1265010604; 
echo floor($time/86400); 

其中1265010604是今天的时间戳,172800是3天的补偿。由于

+1

将'86400'的魔法数字重写为'(24 * 60 * 60)'使它更清晰一点。 – 2010-02-10 17:36:27

回答

0
$now = time(); 
$then = time() - 172800; 
$difference = $now - $then; 
echo "It was ".floor($difference/86400)." days ago"; 
+0

我明白了,非常感谢Pekka。 – James 2010-02-10 17:19:29

0

我想计算的差异之间的两个UNIX时间戳 ,并显示在天

这句话抓住你的要求,并提出了一种简单的方法,这区别:

$difference = abs($t0 - $t1); 
$days = floor($difference/86400); 
+0

感谢您的回答Pilcrow。 – James 2010-02-10 17:27:12

0
/* First second of the day */ 
function dayStart ($date) { 
    return mktime(0, 0, 0, date('n', $date), date('j', $date), date('Y', $date)); 
} 

/* Get count of days between dates */ 
function daysBetween ($dateStart, $dateEnd) { 
    return round((dayStart($dateEnd) - dayStart($dateStart))/(24 * 60 * 60)); 
} 
+0

谢谢你的答案桑尼。酷功能! – James 2010-02-10 17:27:29

+0

我为自己做了一个具有静态函数的类,用于做这样的各种日期计算。 – Sonny 2010-02-10 18:34:48

相关问题