วิธีการ diff ของคลาส DateTime
วิธีการ diff ของคลาส DateTime รับอ็อบเจกต์ DateTime อีกอันเป็นพารามิเตอร์และส่งกลับอ็อบเจกต์ DateInterval ซึ่งมีข้อมูลความแตกต่างระหว่างวันที่ ความแตกต่างสามารถนำมาได้ในหน่วยวัดต่างๆ (วัน, เดือน, ปี เป็นต้น)
ไวยากรณ์
$interval = $datetime1->diff($datetime2);
ตัวอย่าง
มาคำนวณความแตกต่างระหว่างสองวันที่:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
ผลลัพธ์จากการทำงานของโค้ด:
'+45 days'
ตัวอย่าง
ขอความแตกต่างในหน่วยเดือนและวัน:
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
ผลลัพธ์จากการทำงานของโค้ด:
'2 months 15 days'
ตัวอย่าง
การเปรียบเทียบวันที่โดยคำนึงถึงเวลา:
<?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');
?>
ผลลัพธ์จากการทำงานของโค้ด:
'4 hours 30 minutes'
ดูเพิ่มเติม
-
ฟังก์ชัน
date,
ซึ่งจัดรูปแบบวันที่และเวลา -
ฟังก์ชัน
strtotime,
ซึ่งแปลงสตริงเป็นค่า timestamp -
คลาส
DateInterval,
ซึ่งแทนช่วงเวลา