2012-11-03 68 views
0

我試圖創建一個日曆,使用戶能夠在六週的時間內預訂特定時間。PHP:列出特定時期的未來日期

是否有PHP一個簡單的方法來做到這一點 - 目前我使用了一些循環的下列要求:

$end_of_month=cal_days_in_month(CAL_GREGORIAN, $this_month, $this_year); 

這似乎笨拙,並且需要大量的循環,以確定每月的變化,一年等

到目前爲止,我很難理解使用其他方法的原因,因爲我確信有一個簡單的方法可以做到這一點。

回答

2

使用DateTime objects,結合使用的DateTime::add()DateInterval對象:

header("Content-type: text/plain"); 

$date = new DateTime("2012-01-01"); 
$one_day = new DateInterval("P1D"); 
echo $date->format("Y-m-d") . PHP_EOL; 
for ($i = 0; $i < 42; $i++) { 
    $date->add($one_day); 
    echo $date->format("Y-m-d") . PHP_EOL; 
} 

這個例子將輸出所有從最初的日期六個星期內的日期。但它非常靈活,可以做任何你想做的事情。

+0

好 - 我會給它一個:) – Sideshow

+0

這工作正常在我的測試服務器上,但似乎失敗了我的其他服務器 - 是否有任何理由爲什麼發生這種情況?我對這個特定項目的大部分代碼都是程序性的... – Sideshow