首页>文档>技术文档>PHP比较两个日期的方法

此组别内的文章

需要支持?

如果通过文档没办法解决您的问题,请提交工单获取我们的支持!

PHP比较两个日期的方法

PHP下怎么样比较两个日期?本文我们就来了解比较两个日期的方法,这里分为两种情况,一种是给定的日期格式相同和给定的日期格式不同,那么这两种情况要怎样比较两个日期呢?我们接下来往下看。

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;
 }
}

    关于PHP下怎么样比较两个日期的内容就介绍到这,上述实例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多php比较日期的方法,大家可以关注其它的相关文章。

搜索