Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

การเปรียบเทียบวันที่ (Date Comparison) ใน PHP


เปรียบเทียบวันที่ใน PHP ง่ายถ้ารูปแบบเดียวกัน แต่ล้มเหลวถ้ารูปแบบต่างกัน มีหลายวิธี:

กรณีที่ 1: รูปแบบเดียวกัน

ใช้ comparison operator ตรงๆ

<?php 
$date1 = "2018-11-24"; 
$date2 = "2019-03-26"; 
if ($date1 > $date2) echo "$date1 is latest than $date2"; 
else echo "$date1 is older than $date2"; 
?>

ผลลัพธ์

2019-03-26 is latest than 2018-11-24

กรณีที่ 2: รูปแบบต่างกัน ใช้ strtotime()

แปลงเป็น UNIX timestamp แล้วเปรียบเทียบตัวเลข

<?php 
$date1 = "18-03-22"; 
$date2 = "2017-08-24"; 
$curtimestamp1 = strtotime($date1); 
$curtimestamp2 = strtotime($date2); 
if ($curtimestamp1 > $curtimestamp2) echo "$date1 is latest than $date2"; 
else echo "$date1 is older than $date2"; 
?>

ผลลัพธ์

18-03-22 is latest than 2017-08-24

กรณีที่ 3: ใช้ DateTime Class

สร้าง object DateTime แล้วเปรียบเทียบตรงๆ

<?php 
$date1 = new DateTime("18-02-24"); 
$date2 = new DateTime("2019-03-24"); 
if ($date1 > $date2) echo 'datetime1 greater than datetime2'; 
if ($date1 < $date2) echo 'datetime1 lesser than datetime2'; 
if ($date1 == $date2) echo 'datetime2 is equal than datetime1'; 
?>

ผลลัพธ์

datetime1 lesser than datetime2