У меня возникла довольно странная проблема с использованием функции diff в PHP 5.3 для вычисления разницы в днях между двумя датами. Ниже мой код:
$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 года, когда между этими датами явно больше дней.
Я делаю что-то неправильно?