我有几行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版本之外还要尝试什么。但是,目前我不想更新所有客户......
每一点帮助......谢谢!
答案 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';