function date_period_get_range_day(string $start, $end, string $sort = 'asc', int $interval = 1): array
{
//$end 为日期string 则列出start、end之间的间隔
//$end 为int,则往后数多少次,列出间隔
$range = [];
$period = new DatePeriod(new DateTime($start), new DateInterval("P{$interval}D"), is_string($end) ? new DateTime($end) : $end);
if ($period) {
foreach ($period as $date) {
if ($sort == 'desc') {
array_unshift($range, $date->format("Y-m-d"));
} else {
array_push($range, $date->format("Y-m-d"));
}
}
}
if (is_string($end)) {
if ($sort == 'desc') {
array_unshift($range, date('Y-m-d', strtotime($end)));
} else {
array_push($range, date('Y-m-d', strtotime($end)));
}
}
return array_unique($range);
}
01-12
451
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-21
2555
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)