0

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

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

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

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

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

4

1 回答 1

2

使用DateTimeobjects,将 theDateTime::add()DateIntervalobjects 结合使用:

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;
}

此示例将输出从初始日期开始的六周内的所有日期。但它非常灵活,可以为所欲为。

于 2012-11-03T13:31:19.343 回答