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视频教程》~快来学习吧!