下面的代码是你所需要的:  
<? 
Function DateDiff ($interval, $date1,$date2) { 
// 得到两日期之间间隔的秒数 
$timedifference = $date2 - $date1; 
switch ($interval) { 
case "w": $retval = bcdiv($timedifference ,604800); break; 
case "d": $retval = bcdiv( $timedifference,86400); break; 
case "h": $retval = bcdiv ($timedifference,3600); break; 
case "n": $retval = bcdiv( $timedifference,60); break; 
case "s": $retval = $timedifference; break; 

return $retval;} 
?>  
将上面的代码存为datediff.inc文件,然后运行下面的代码:  
<? 
include('datediff.inc'); 
include('dateadd.inc'); 
$currenttime = time(); 
echo "Current time: ". strftime("%Hh%M %A %d %b" ,$currenttime)."<br>";  
$newtime = DateAdd ("n",50 ,$currenttime);  
echo "Time plus 50 minutes: ". strftime("%Hh%M %A %d %b" ,$newtime)."<br>";  
$temptime = DateDiff ("n",$currenttime ,$newtime);  
echo "Interval between two times: ".$temptime;  
?>  
如果一切顺利,你可以看到以下结果:  
Current time: 16h23 Saturday 03 Jun  
Time plus 50 minutes: 17h13 Saturday 03 Jun  
Interval between two times: 50  
如果你在Unix机器上运行PHP,你必须编译PHP支持BC高精度函数。

解决方案 »

  1.   

    下面的代码是dateadd.inc
    <? 
    function DateAdd ($interval, $number, $date) { 
    $date_time_array = getdate($date); 
    $hours = $date_time_array["hours"]; 
    $minutes = $date_time_array["minutes"]; 
    $seconds = $date_time_array["seconds"]; 
    $month = $date_time_array["mon"]; 
    $day = $date_time_array["mday"]; 
    $year = $date_time_array["year"]; 
    switch ($interval) { 
    case "yyyy": $year +=$number; break; 
    case "q": $month +=($number*3); break; 
    case "m": $month +=$number; break; 
    case "y": 
    case "d": 
    case "w": $day+=$number; break; 
    case "ww": $day+=($number*7); break; 
    case "h": $hours+=$number; break; 
    case "n": $minutes+=$number; break; 
    case "s": $seconds+=$number; break; 

    $timestamp = mktime($hours ,$minutes, $seconds,$month ,$day, $year); 
    return $timestamp;} 
    ?>
      

  2.   

    $time()是今天的时间戳
    24*60*60*1 就是一天的时间戳
    那么明天的unixtime就是$tom=$time()+24*60*60*1
    把时间戳格式显示函数就是date();
    例如显示明天日期,格式 xxxx-xx-xx
    echo date("Y-m-d",$tom)
    就可以了
      

  3.   

    我认为简单的实现方法就是在程序中需要保存时间的地方只使用time()的值,需要用到具体日期的时候变换一下显示即可。这样在需要实现时间加减的时候只是两个time()值的加减,问题就好解决了,不用设计那么老长的一段代码来拖运行时间。