Возврат всех дат между несколькими датами в одном массиве
$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, &end) с полями из БД, чтобы создать несколько пар и получить промежуточные даты этих пар в массив.
Является ли это возможным?
Спасибо!
1 ответ
Просто напишите код в функции как
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 извлекаются из вашей БД