php实现比较两个字符串日期大小的方法

如题所述

第1个回答  2019-05-19
本文实例讲述了php实现比较两个字符串日期大小的方法。分享给大家供大家参考。具体如下:
<?php
function
dateBDate($date1,
$date2)
{
//
日期1是否大于日期2
$month1
=
date("m",
strtotime($date1));
$month2
=
date("m",
strtotime($date2));
$day1
=
date("d",
strtotime($date1));
$day2
=
date("d",
strtotime($date2));
$year1
=
date("Y",
strtotime($date1));
$year2
=
date("Y",
strtotime($date2));
$from
=
mktime(0,
0,
0,
$month1,
$day1,
$year1);
$to
=
mktime(0,
0,
0,
$month2,
$day2,
$year2);
if
($from
>
$to)
{
return
true;
}
else
{
return
false;
}
}
?>
$date1
=
"2009-10-13";
$date=
mktime(0,
0,
0,
date("m",
strtotime($date1)),
date("d",
strtotime($date1)),
date("Y",
strtotime($date1)));
最终取得一个日期的
Unix
时间戳$date=1255392000。
很多时候做搜索的时候,搜索的时间不能大于当前日期,比较函数的写法大致和上面一个函数相同,具体如下:
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程序设计有所帮助。
相似回答