DateTime-> diff () вылетает - PullRequest
1 голос
/ 06 октября 2011

У меня есть несколько строк 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 ]

2 голосов
/ 06 октября 2011

DateTime:Diff() - это PHP> = 5.3.0 только.

Не уверен, почему ваш отладчик полностью выручает - он должен жаловаться на необъявленный метод.Может быть, вам нужно настроить параметры сообщений об ошибках?

0 голосов
/ 06 октября 2011

Мне кажется, это правильно. Не могли бы вы попробовать

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';
...