php比较两个指定的日期的实例讲解

在本篇文章里小编给大家整理了一篇关于php如何比较两个指定的日期的相关知识点内容,有需要的朋友们可以参考下。

1、给定的日期格式相同,则使用简单的比较运算符来比较日期。

  1. <?php
  2. //声明两个日期、初始化
  3. $date1 = "2021-11-24";
  4. $date2 = "2001-03-26";
  5. // 使用比较运算符比较日期
  6. if ($date1 > $date2)
  7. echo "$date1 比 $date2 晚";
  8. else
  9. echo "$date1 比 $date2 早";

2、给定的日期格式不同,则使用strtotime() 函数将给定的日期转换成相应的时间戳格式。

最后比较这些数字时间戳以获得所需的结果。

  1. <?php
  2. // 声明两个不同的日期格式
  3. $date1 = "12-03-26";
  4. $date2 = "2011-10-24";
  5. // 使用strtotime()函数进行转换
  6. $dateTimestamp1 = strtotime($date1);
  7. $dateTimestamp2 = strtotime($date2);
  8. // 比较时间戳日期
  9. if ($dateTimestamp1 > $dateTimestamp2)
  10. echo "$date1 比 $date2 晚";
  11. else
  12. echo "$date1 比 $date2 早";

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

  1. <?php
  2. //声明两个不同的日期
  3. //格式化并使用DateTime()函数
  4. //将日期转换为DateTime
  5. $date1 = new DateTime("20-11-24");
  6. $date2 = new DateTime("2021-03-26");
  7. // 比较的日期
  8. if ($date1 > $date2)
  9. echo $date1->format("Y-m-d") . " 比 "
  10. . $date2->format("Y-m-d")." 晚 ";
  11. else
  12. echo $date1->format("Y-m-d") . " 比 "
  13. . $date2->format("Y-m-d")." 早 ";

知识点扩充:

  1. function dateBCurrent($date){
  2. //日期是否大于当前日期
  3. $currentDate=date("Y-m-d");
  4. //获取当前日期
  5. $cYear=date("Y",strtotime($currentDate));
  6. $cMonth=date("m",strtotime($currentDate));
  7. $cDay=date("d",strtotime($currentDate));
  8. $year=date("Y",strtotime($date));
  9. $month=date("m",strtotime($date));
  10. $day=date("d",strtotime($date));
  11. $currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);
  12. //当前日期的 Unix 时间戳
  13. $dateUnix=mktime(0,0,0,$month,$day,$year);
  14. //待比较日期的 Unix 时间戳
  15. if($dateUnix<=$currentUnix){
  16. return true;
  17. }else{
  18. return false;
  19. }
  20. }