PHP日期时间运用十一:三种方法比较两个指定的日期

在之前的文章《PHP日期时间运用十:将秒数转成格式为“天时分秒”》中给大家介绍了怎么将秒数转成格式为“天时分秒”,那么本文继续开始PHP日期时间系列的文章~

正如标题所述,本文主要内容是给大家介绍比较两个指定日期的三种方法!

假设我们给定两个日期(date1 和 date2),当两个日期的格式相同时,在 PHP 中比较这两个日期是很简单的,但是当两个日期的格式不同时就会出现一些问题。

→相关推荐:《PHP日期时间运用大汇总(持续更新~)》

所以今天这三种比较日期的方法,大家可以好好掌握一下:

第一种方法:如果给定的日期格式相同,则使用简单的比较运算符来比较日期。

代码如下:

<?php


//声明两个日期、初始化
$date1 = "2021-11-24";
$date2 = "2001-03-26";

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

输出结果:

2021-11-24 比 2001-03-26 晚

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

代码如下:

<?php


// 声明两个不同的日期格式
$date1 = "12-03-26";
$date2 = "2011-10-24";

// 使用strtotime()函数进行转换
$dateTimestamp1 = strtotime($date1);
$dateTimestamp2 = strtotime($date2);

// 比较时间戳日期
if ($dateTimestamp1 > $dateTimestamp2)
    echo "$date1 比 $date2 晚";
else
    echo "$date1 比 $date2 早";

输出结果:

12-03-26 比 2011-10-24 晚

第三种方法:使用 DateTime 类比较两个日期。

代码如下:

<?php

//声明两个不同的日期

//格式化并使用DateTime()函数

//将日期转换为DateTime
$date1 = new DateTime("20-11-24");
$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")." 早 ";

输出结果是:

2020-11-24 比 2021-03-26 早

最后给大家推荐最新最全面的《PHP视频教程》~快来学习吧!

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » PHP日期时间运用十一:三种方法比较两个指定的日期