tôi đã cố gắng để so sánh sự khác biệt giữa 2 ngày, nhưng có vẻ như kết quả là khá sai lầm, ví dụ mã này:PHP: Datetime :: Diff kết quả so sánh
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days')."<br />";
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-15');
$interval2 = $datetime1->diff($datetime2);
echo $interval2->format('%R%a days')."<br />";
if($interval == $interval2){ echo "true"; }else{echo "false"; }
Returns đúng, nhưng ở trên, bạn có thể thấy sự khác biệt ngày không giống nhau, trên thực tế, các bản in echo +2 và +4. Bất kỳ ý tưởng nào về cách so sánh 2 khác biệt về ngày?
EDIT: datetime :: diff trả về một đối tượng dateinterval, trên thực tế nó không thực hiện toán tử so sánh, https://bugs.php.net/bug.php?id=49914 tôi sẽ sử dụng dateinterval vars để kiểm tra sự khác biệt, cảm ơn cho câu trả lời
so sánh đối tượng =/= so sánh giá trị. – hakre