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