function diff($day1,$day2){
        $a=explode("-",$day1);
        $b=explode("-",$day2);
        if(checkdate($a[1],$a[2],$a[0])&&checkdate($b[1],$b[2],$b[0])){
            $c=mktime(0,0,0,$a[1],$a[2],$a[0]);
            $d=mktime(0,0,0,$b[1],$b[2],$b[0]);
            $f=($d-$c)/3600/24;            $len_str = strlen($f);//取$f的倍数            for($i=0;$i<$len_str;$i++){
                $numbers_exploded=substr($f,$i,1);
                $output_str=$output_str.$numbers_exploded;
            }
            if($output_str>0){
                echo "<font color=3d00ce>还有".$output_str."天<font>";
            }else{
                if($output_str==0){
                    echo "今天";
                }else{
                        echo "<font color=red>超过".abs($output_str)."天</font>";
                 }
             }
        }else{
            print"时间格式不对";
         }
  }
这是一个两个时间天数差的比较,如果要得到多少小时,多少秒,与此雷同

解决方案 »

  1.   

    用PHP太麻烦了,如果我再要比较小时、分钟和秒的话岂不是又多出一大堆的代码来?在MySQL中能不能实现啊?
      

  2.   

    我的意思是MySQL有没有对时间进行比较的函数
      

  3.   

    #两日期/时间之间相差的天数:  
    To_Days(end_time)-To_Days(start_time)  
     
    #两日期/时间之间相差的秒数:  
    SELECT  UNIX_TIMESTAMP(end_time)-  UNIX_TIMESTAMP(start_time);  
     
    #两日期/时间之间相差的时分数:  
     
    SELECT  SEC_TO_TIME(UNIX_TIMESTAMP(end_time)-  UNIX_TIMESTAMP(start_time));