先把时间转变为年、月、日,然后如下:
$from=mktime(0,0,0,$month1,$day1,$year1);
$to=mktime(0,0,0,$month2,$day2,$year2);
$day_diff=($to-$from)/86400;
即得到相差多少天。

解决方案 »

  1.   

    TO anziqi(美洲狮) :to_days()是mysql里的语句吧。php没有这个函数。TO binscut(迷雾) :你的方法是一种解决办法。还有什么更好的吗?比如data -1就是昨天之类的。
      

  2.   

    date("Y-m-d",mktime(0,0,0,$month,$day-$n,$year));
    得到距今天$n天前的日期
    你说的直接减是不行的,一般要用mktime()转换。
      

  3.   

    date("Y-m-d",mktime(0,0,0,$month,$day-$n,$year));
    得到距今天$n天前的日期
    你说的直接减是不行的,一般要用mktime()转换。
      

  4.   

    function DateDiff($d1,$d2=""){
      if(is_string($d1))$d1=strtotime($d1);
      if(is_string($d2))$d2=strtotime($d2);
      return ($d2-$d1)/86400;
     }
     echo DateDiff("2002-03-27","2001-09-27")."<br>";
     echo DateDiff("2002-03-27")."<br>";
     
     function DateAdd($n,$d=""){
      if(is_string($d))$d=strtotime($d);
      return Date("Y-m-d",$d+$n*86400);
     }
     echo DateAdd(10,"2001-09-27")."<br>";
     echo DateAdd(-10)."<br>";
      

  5.   

    qiushuiwuhen(秋水无恨) 简直不是人!!是神!!哈哈。
    Javascript,php,asp,sql,样样出神入化!!!。佩服中。。
      

  6.   

    echo "2002-03-27和2001-09-27相差".((strtotime("2002-03-27")-strtotime("2001-09-27"))/86400)."天";echo "<BR>2002-03-27这个日期181天以前的日期是".date("Y-m-d",strtotime("2002-03-27")-181*86400);