PHP 中的日期比較
當兩個日期格式相同的時候,在 PHP 中比較日期非常簡單,但是當兩個日期格式不同的時候,PHP 無法進行分析。在本文中,我們將討論 PHP 中日期比較的不同情況。我們將瞭解如何使用 DateTime 類和 strtotime() 函式來比較日期。
情況 1
如果給定的日期格式相同,我們可以使用簡單的比較運算子來比較日期。
<?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
解釋
這裡我們聲明瞭兩個日期 $date1 和 $date2,它們的格式相同。因此,我們使用了比較運算子 (>) 來比較這些日期。
情況 2
如果給定的日期格式不同,我們可以使用 strtotime() 函式將給定的日期轉換為 UNIX 時間戳格式,然後比較這些數字時間戳以獲得預期結果。
示例
<?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
解釋
在這個例子中,我們有兩個日期,它們的格式不同。因此,我們使用了預定義函式 strtotime() 將它們轉換為數字 UNIX 時間戳,然後使用不同的比較運算子來比較這些時間戳,以獲得期望的結果。
情況 3
透過建立 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
解釋
在這個例子中,我們建立了兩個 DateTime 物件。為了比較這兩個日期,我們使用不同的比較運算子來獲得期望的結果。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP