Tôi đang gặp phải một vấn đề khá lạ khi sử dụng hàm diff date của PHP 5.3 để tính toán sự khác biệt trong ngày giữa hai ngày. Dưới đây là mã của tôi:Vấn đề PHP 5.3 lạ với sự khác biệt tính toán chênh lệch ngày trong ngày
$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;
Mã trên hiển thị 4 là giá trị của biến $ daysTrước.
Tại sao PHP hiển thị chênh lệch 4 ngày trong khoảng thời gian từ ngày 27 tháng 1 năm 2012 đến ngày 1 tháng 4 năm 2012, khi rõ ràng có nhiều ngày nữa giữa những ngày này.
Tôi có làm gì sai không?