Странная проблема PHP 5.3 с функцией date diff для вычисления разницы в днях

У меня возникла довольно странная проблема с использованием функции PHP 5.3 date diff для вычисления разницы в днях между двумя датами. Ниже приведен мой код:

$currentDate = new DateTime(); // (today's date is 2012-1-27)
$startDate = new DateTime('2012-04-01');

$diff = $startDate->diff($currentDate);

$daysBefore = $diff->d;

echo $daysBefore; 

Приведенный выше код отображает 4 в качестве значения переменной $daysBefore.

Почему PHP отображает разницу в 4 дня между датами 27 января 2012 и 1 апреля 2012, когда очевидно, что между этими датами гораздо больше дней.

Я что-то делаю не так?

7
задан Bug Magnet 27 January 2012 в 14:23
поделиться