php对比两个指定的日期

PHP 作者:hello程序员 2022-04-30 03:06:28

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

<?php

//声明两个日期、初始化

$date1 = "2021-11-24";

$date2 = "2001-03-26";

// 使用比较运算符比较日期

if ($date1 > $date2)

   echo "$date1 比 $date2 晚";

else

   echo "$date1 比 $date2 早";

2、给定的日期格式不同,则使用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 早";

3、使用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")." 早 ";

封装

function dateBCurrent($date){

   //日期是否大于当前日期

    $currentDate=date("Y-m-d");

    //获取当前日期

    $cYear=date("Y",strtotime($currentDate));

    $cMonth=date("m",strtotime($currentDate));

    $cDay=date("d",strtotime($currentDate));

    $year=date("Y",strtotime($date));

    $month=date("m",strtotime($date));

    $day=date("d",strtotime($date));

    $currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);

    //当前日期的 Unix 时间戳

    $dateUnix=mktime(0,0,0,$month,$day,$year);

    //待比较日期的 Unix 时间戳

    if($dateUnix<=$currentUnix){

    return true;

    }else{

    return false;

    }

}



关注公众号:拾黑(shiheibook)了解更多

友情链接:

下软件就上简单下载站:https://www.jdsec.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接