返回单个数组中多个日期之间的所有日期

时间:2013-12-30 13:14:06

标签: php datetime date-range

$start = new DateTime('2013-08-16');
$interval = new DateInterval('P1D');
$end = new DateTime('2013-08-20');
$end->add(new DateInterval('P1D'));
$period = new DatePeriod($start, $interval, $end);

foreach ($period as $date) {
echo $date->format('Y-m-d') . "<br />";
}

我找到了上面的代码来获取两个静态日期之间的所有日期。

我想要的是获取多个$ start $ end对之间的日期。方案是将变量($ start,&amp; end)与db中的字段相关联,以便生成多个对,并将这些对之间的日期转换为数组。

有可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

只需在类似函数中编写代码

function find_dates_between( $start_date, $end_date) {
$start = new DateTime($start_date);
$interval = new DateInterval('P1D');
$end = new DateTime($end_date);
$end->add(new DateInterval('P1D'));
$period = new DatePeriod($start, $interval, $end);

foreach ($period as $date) {
echo $date->format('Y-m-d') . "<br />";
}
}

之后只需调用函数

find_dates_between( $start_date, $end_date);

从您的数据库中提取$ start_date和$ end_date