这种格式的日期:
$date1="2009-07-01";
$date2="2009-07-07";
如何比较$date1和$date2?

解决方案 »

  1.   

    换成时间戳之后比较时间戳大小,不过不知道strcmp可不可以呢kaka
      

  2.   

    $date1="2009-07-01"; 
    $date2="2009-07-07"; 
    if($date2>$date1){
    echo "aaaaa";
    }else{
    echo "bbbbbbb";
    }
      

  3.   

    先转化为时间戳,再比较大小
    $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了
      

  4.   

    正如楼上所说,直接用strtotime就可以比较了,如下
    $date1="2009-07-01"; 
    $date2="2009-07-07";
    if(strtotime($date1) > strtotime($date2)) {
        echo "date1 > date2";
    }else {
        echo "date1 < date2";
    }
      

  5.   

    已解决,谢谢楼上各位,贴自己的答案!
    $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 "大";}