本文分享在 PHP 中比较两个日期时间大小的三种方法。

一、如果两个日期格式相同,可直接使用比较运算符来比较日期。

<?php
//两个日期(时间)格式相同
$date1 = "2022-11-24";
$date2 = "2002-03-26";

// 使用比较运算符比较日期
if ($date1 > $date2)
    echo "$date1 比 $date2 晚";
else
    echo "$date1 比 $date2 早";

二、如果两个日期格式不同,应使用strtotime() 函数将给定的日期转换成相应的时间戳格式,最后比较这些数字时间戳以获得所需的结果。

<?php
// 两个不同格式的日期(时间)
$date1 = "22-03-26 15:38:26";
$date2 = "2021-10-24";

// 使用strtotime()函数进行转换
$timestamp1 = strtotime($date1);
$timestamp2 = strtotime($date2);
// 比较时间戳日期

if ($timestamp1 > $timestamp2)
    echo "$date1 比 $date2 晚";
else
    echo "$date1 比 $date2 早";

、使用 DateTime 类比较两个日期。

<?php
//声明两个不同的日期
//格式化并使用DateTime()函数
//将日期转换为DateTime
$date1 = new DateTime("20-11-24 16:46:30");
$date2 = new DateTime("2021-03-26");
// 比较的日期
if ($date1 > $date2)
    echo $date1->format("Y-m-d") . " 比 "
        . $date2->format("Y-m-d")." 晚 ";
else
    echo $date1->format("Y-m-d") . " 比 "
        . $date2->format("Y-m-d")." 早 ";

综上所述、如果要比较的两个日期(时间)格式完全相同,可以直接使用比较运算符比较。否则请使用strtotime()函数或者DateTime类比较。