两个日期比较

flyingstar2008 2009-07-07 04:44:57
这种格式的日期:
$date1="2009-07-01";
$date2="2009-07-07";
如何比较$date1和$date2?
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingstar2008 2009-07-07
  • 打赏
  • 举报
回复
已解决,谢谢楼上各位,贴自己的答案!
$date1="2009-07-01";
$date2="2009-07-07";
$Date_explode_1=explode("-",$date1);
$Date_explode_2=explode("-",$date2);
/*
拆分后的字符串,我们通过使用mktime函数来计算时间,
必须说明一下的是mktime计算出来的时间是用秒来算的,
后面就简单啦,具体可以看手册,里面详细得很
*/
$Day_1=mktime(0,0,0,$Date_explode_1[1],$Date_explode_1[2],$Date_explode_1[0]);
$Day_2=mktime(0,0,0,$Date_explode_2[1],$Date_explode_2[2],$Date_explode_2[0]);
$Days=round(($Day_1-$Day_2)/3600/24);
if($Days>0)
{echo $date1 "大";}
else
{echo $date2 "大";}
zf213 2009-07-07
  • 打赏
  • 举报
回复
正如楼上所说,直接用strtotime就可以比较了,如下
$date1="2009-07-01";
$date2="2009-07-07";
if(strtotime($date1) > strtotime($date2)) {
echo "date1 > date2";
}else {
echo "date1 < date2";
}
makui 2009-07-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 changwei0112 的回复:]
先转化为时间戳,再比较大小
$temp = explode('-',$date1);
$time1=mktime(0,0,0,$temp[1],$temp[2],$temp[0]);

$temp2 = explode('-',$date2);
$time2=mktime(0,0,0,$temp2[1],$temp2[2],$temp2[0]);

再比较$time1和$time2就OK了
[/Quote]

strtotime
清风闲客 2009-07-07
  • 打赏
  • 举报
回复
先转化为时间戳,再比较大小
$temp = explode('-',$date1);
$time1=mktime(0,0,0,$temp[1],$temp[2],$temp[0]);

$temp2 = explode('-',$date2);
$time2=mktime(0,0,0,$temp2[1],$temp2[2],$temp2[0]);

再比较$time1和$time2就OK了
dzxccsu 2009-07-07
  • 打赏
  • 举报
回复
直接比就好了,
lj14992560 2009-07-07
  • 打赏
  • 举报
回复
$date1="2009-07-01";
$date2="2009-07-07";
if($date2>$date1){
echo "aaaaa";
}else{
echo "bbbbbbb";
}
TOTO42 2009-07-07
  • 打赏
  • 举报
回复
换成时间戳之后比较时间戳大小,不过不知道strcmp可不可以呢kaka

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧