2011-12-12 53 views
0

我有以下问题 首先这里是我的代码:PHP DateDiff错误?

$day_difference = 1; 
while (strtotime('-' . $day_difference . ' day', time()) >= strtotime('2011-12-12 00:08:00')) { 
    #echo $day_difference; 
    $day_difference++; 
} 
$datediff = $day_difference; 

此代码应输出1每天不2天

有什么不对?

+1

它不? http://codepad.org/zTJEgspS –

+0

好吧,似乎是与时区有关? –

回答

2

如果您运行的是PHP 5.3,则应使用本机DateTime API。

<?php 
$date = new DateTime('2011...'); 
$interval = $date->diff(new DateTime); 
var_dump($interval); 
?> 
+1

+1 DateTime()在处理时间问题时克服了很多麻烦,包括时区(除其他外)。 – Herbert

+0

感谢它是最好的 –