PHP:
เปรียบเทียบสองวันที่
วิธีการ:
วัตถุ DateTime
และตัวดำเนินการเปรียบเทียบของ PHP ทำให้มันง่าย นี่คือตัวอย่างที่ตรงไปตรงมา:
<?php
$date1 = new DateTime("2023-04-01");
$date2 = new DateTime("2023-04-15");
// ตรวจสอบว่าวันที่เหมือนกันหรือไม่
if ($date1 == $date2) {
echo "วันที่เหมือนกัน.\n";
} else {
echo "วันที่ต่างกัน.\n";
}
// ตรวจสอบว่าวันที่ใดเกิดก่อนหรือไม่
if ($date1 < $date2) {
echo "วันที่ 1 เกิดก่อนวันที่ 2.\n";
} else {
echo "วันที่ 1 เกิดหลังหรือเท่ากับวันที่ 2.\n";
}
?>
ผลลัพธ์ตัวอย่าง:
วันที่ต่างกัน.
วันที่ 1 เกิดก่อนวันที่ 2.
การศึกษาเจาะลึก:
การเปรียบเทียบวันที่เป็นเรื่องที่มีมานานเท่าที่การเขียนโปรแกรมมีอยู่ ในยุคเริ่มต้นของการคอมพิวเตอร์, วันที่มักถูกเปรียบเทียบโดยใช้สตริงหรือตราประทับเวลา PHP ได้พัฒนาไปให้มีวัตถุ DateTime
ซึ่งให้วิธีการที่ใช้งานง่ายกว่าในการจัดการกับวันที่และเวลา
มีวิธีอื่นๆ ในการเปรียบเทียบวันที่:
DateTime::diff()
เพื่อได้รับวัตถุDateInterval
ซึ่งแสดงถึงความแตกต่างระหว่างสองวันที่- แปลงวันที่เป็นตราประทับเวลาโดยใช้
strtotime()
และเปรียบเทียบในฐานะตัวเลข
มันสำคัญในการพิจารณาเขตเวลาเมื่อเปรียบเทียบวันที่ วัตถุ DateTime
สามารถ (และควรจะ) รวมข้อมูลเขตเวลาเพื่อให้มั่นใจถึงความถูกต้องในภูมิภาคต่างๆ
ดูเพิ่มเติม:
- PHP Manual on DateTime: https://www.php.net/manual/en/class.datetime.php
- ฟังก์ชัน PHP Date/Time: https://www.php.net/manual/en/book.datetime.php
- เขตเวลาใน PHP: https://www.php.net/manual/en/datetime.settimezone.php