实现给定日期的若干天以后的日期
今天在奥索上看到这篇文章

《 如何实现给定日期的若干天以后的日期(有点类似VB中的DateAdd)  》
http://www.oso.com.cn/read_article.php?article_id=3955


也想把自己写的给大家看看,请笑纳。

<?

//求第二天的函数
//$theday0  例如:"2001-1-12"

function add1($theday0){
    
$theday1=explode("-",$theday0);
    
    
$nian0=$theday1[0];
    
$yue0=$theday1[1];
    
$ri0=$theday1[2];
    
    
$ri1=1+$ri0;           //日数加一
    
                    
    
    
if (checkdate($yue0,$ri1,$nian0)){
        
$add1=$nian0."-".$yue0."-".$ri1;
    
    }else{            
//不是合法的日期
        
        
$yue1=1+$yue0;          //月份加一
        
$ri1=1;                 //日数为一
        
        
if($yue1>12){              
            
$yue1="1";
            
$nian0=1+$nian0;    
        }        
        
        
$add1=$nian0."-".$yue1."-".$ri1;
    }        

    return 
$add1;

}


//求第几天的函数
function addn($theday,$n){        
    
    
$day1=$theday;    
    
    for(
$i=1;$i<=$n;$i++){
        
$day1=add1($day1);                    
    }
    return 
$day1;    
}

//例:求2001-1-1,第3天,30天,365天的日期
echo addn("2001-1-1",3)."<P>";
echo 
addn("2001-1-1",30)."<P>";
echo 
addn("2001-1-1",365)."<P>";


//应用 求第二天的函数的一个例子:2001-1-1日 后30天的日期

$ddd[0]=date("2001-1-1");
for(
$i=1;$i<=30;$i++){
    
$ddd[$i]=add1($ddd[$i-1]);
    
$theday=$ddd[$i];   
    echo 
$theday."<P>";
}


?>