DateTime-> diff()崩溃

时间:2011-10-06 07:14:01

标签: php datetime datediff

我有几行PHP应该可以工作,但不要:

$date1=new DateTime();
$date2=new DateTime();

$interval=date_diff($date1,$date2);

$interval=$date1->diff($date2);

我甚至复制了DateTime文档中的示例:

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');

输出为空白,当我调试时,调试器在diff行断开连接而没有任何错误消息。 PHP版本5.2.9中是否存在任何已知错误或是否有其他人看到此行为?

我目前不知道除了更新PHP版本之外还要尝试什么。但是,目前我不想更新所有客户......

每一点帮助......谢谢!

2 个答案:

答案 0 :(得分:2)

DateTime:Diff()仅限PHP> = 5.3.0。

不确定为什么你的调试器完全失败 - 它应该抱怨未申报的方法。也许您需要调整错误报告设置?

答案 1 :(得分:0)

对我来说似乎很合适。 你能试试吗

date_default_timezone_set('Europe/London');
$date1 = new DateTime('2009-10-11');
$date2 = new DateTime('2009-10-13');

$time1 = $date1->format('Y-m-d');
$time2 = $date2->format('Y-m-d');

$difference = abs(strtotime($time1)-strtotime($time2));

$difference/= 3600*24;

print $difference.' days';