哪位高人给个函数来..我摸索了好一会了...
$Endtime='2011-08-13 21:30:00';
$Nowtime=strtotime('now');
$IntervalTimeMs=$Endtime-$Nowtime;
$Hour = (int)($IntervalTimeMs/(60*60));
$Min = (int)($IntervalTimeMs%(60*60)/60);echo $Hour;//-364760居然是 -364760 ...

解决方案 »

  1.   

    刚发现 $Endtime 没有 strtotime ....真被催
      

  2.   

    $Endtime=strtotime('2011-08-13 21:30:00');
    $Nowtime=strtotime('now');
    function timediff($begin_time,$end_time){
    if($begin_time<$end_time){
    $starttime=$begin_time;
    $endtime=$end_time;
    } else{
    $starttime=$end_time; $endtime=$begin_time;
    } $timediff=$endtime-$starttime;
    $days=intval($timediff/86400);
    $remain=$timediff%86400;
    $hours=intval($remain/3600);
    $remain=$remain%3600;
    $mins=intval($remain/60);
    $secs=$remain%60;
    $res=array("day"=>$days,"hour"=>$hours,"min"=>$mins,"sec"=>$secs);
    return$res;}
    print_r(timediff($Nowtime,$Endtime));
      

  3.   

    当前时间戳直接就time()了啊。$IntervalTimeMs=strtotime($Endtime)-time();
      

  4.   

    $Endtime 时间不是 2011-08-13 21:30:00 这个是随便输入的.咔咔
      

  5.   

    楼主又来送温暖了啊,热烈欢迎~
    $Endtime = strtotime('2011-08-13 21:30:00');function timeDiff($startTime, $endTime) {
       $s = $endTime - $startTime;
       $hour = floor($s / 3600);
       $min = floor(($s - $hour * 3600) / 60);
       $sec = floor($s - $hour * 3600 - $min * 60);
       
       return array($hour, $min, $sec);
    }$timeDiff = timeDiff(time(), $Endtime);echo $timeDiff[0].'小时'.$timeDiff[1].'分钟'.$timeDiff[2].'秒';
      

  6.   

    $sec = $s - $hour * 3600 - $min * 60;  //计算剩余秒数时,floor()是多余的。