PHP:列出特定时期的未来日期

时间:2012-11-03 13:25:45

标签: php calendar

我正在尝试创建一个日历,使用户可以在六周的时间内预订某些时间。

在php中有没有一种简单的方法可以做到这一点 - 目前我正在使用以下几个循环:

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

这看起来很笨拙,需要很多循环来确定月,年等的变化。

到目前为止,我对使用其他方法感到困惑,因为我确信有一种简单的方法可以做到这一点。

1 个答案:

答案 0 :(得分: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;
}

此示例将输出自初始日期起六周内的所有日期。但它非常灵活,可以做任何你想做的事。