两个方法,一个是包含首尾,一个不包含
/**
* Notes: 两个指定日期之间的所有日期(不带开始时间,结束时间)
* param $start 开始时间
* param $end 结束时间
* return array
*/
function Dates($start, $end)
{
$response = [];
$dt_start = strtotime($start);
$dt_end = strtotime($end);
while ($dt_start < $dt_end) {
$dt_start = strtotime('+1 day', $dt_start);
if ($dt_start != $dt_end) {
array_push($response, date('Y-m-d', $dt_start));
}
}
return $response;
}
/**
* Notes: 两个指定日期之间的所有日期(带开始时间,结束时间)
* param $start 开始时间
* param $end 结束时间
* return array
*/
function Dates1($start, $end)
{
$response = [];
$dt_start = strtotime($start);
$dt_end = strtotime($end);
while ($dt_start <= $dt_end) {
array_push($response, date('Y-m-d', $dt_start));
$dt_start = strtotime('+1 day', $dt_start);
}
return $response;
}
## 调用
//当前时间距离指定时间还差多少天,时,分,秒
$Dates = $this->Dates('2021-11-25', '2021-11-29');