Phương thức diff của lớp DateTime
Phương thức diff của lớp DateTime nhận một đối tượng DateTime khác làm tham số và trả về một đối tượng DateInterval, chứa sự khác biệt giữa các ngày. Sự khác biệt có thể được lấy theo các đơn vị đo lường khác nhau (ngày, tháng, năm, v.v.).
Cú pháp
$interval = $datetime1->diff($datetime2);
Ví dụ
Tính sự khác biệt giữa hai ngày:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
Kết quả thực thi mã:
'+45 days'
Ví dụ
Lấy sự khác biệt theo tháng và ngày:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Kết quả thực thi mã:
'2 months 15 days'
Ví dụ
So sánh ngày có tính đến thời gian:
<?php
$date1 = new DateTime('2023-01-01 10:00:00');
$date2 = new DateTime('2023-01-01 14:30:00');
$interval = $date1->diff($date2);
echo $interval->format('%h hours %i minutes');
?>
Kết quả thực thi mã:
'4 hours 30 minutes'
Xem thêm
-
hàm
date,
định dạng ngày và giờ -
hàm
strtotime,
chuyển đổi chuỗi thành dấu thời gian -
lớp
DateInterval,
đại diện cho khoảng thời gian giữa các ngày