我正在尝试创建一个日历,使用户可以在六周的时间内预订某些时间。
在php中有没有一种简单的方法可以做到这一点 - 目前我正在使用以下几个循环:
$end_of_month=cal_days_in_month(CAL_GREGORIAN, $this_month, $this_year);
这看起来很笨拙,需要很多循环来确定月,年等的变化。
到目前为止,我对使用其他方法感到困惑,因为我确信有一种简单的方法可以做到这一点。
答案 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;
}
此示例将输出自初始日期起六周内的所有日期。但它非常灵活,可以做任何你想做的事。