เปรียบเทียบสองวันที่

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 สามารถ (และควรจะ) รวมข้อมูลเขตเวลาเพื่อให้มั่นใจถึงความถูกต้องในภูมิภาคต่างๆ

ดูเพิ่มเติม: