时间:2021-11-27 16:38:50
$params['start_date'] = '2021-09-01';
$params['end_date'] = '2021-11-01';
$params['group_type'] = 1;// 分组类型(1按日、2按周、3按月)
// 分组类型(1按日、2按周、3按月)
if ($params['group_type'] == 1) {
$keys = array_map(function ($item) {
return date('Y-m-d', $item);
}, range(strtotime($params['start_date']), strtotime($params['end_date']), 86400));
$title = array_values($keys);
} elseif ($params['group_type'] == 2) {
$keys = [];
for ($i = strtotime($params['start_date']); $i <= strtotime($params['end_date']); $i += 86400) {
$w = date('W', $i);
if (!isset($keys[$w])) {
$keys[$w] = date('Y-m-d', $i);
isset($keys[$w - 1]) && $keys[$w - 1] .= ' ~ ' . date('Y-m-d', $i - 86400);
}
}
$keys[max(array_keys($keys))] .= ' ~ ' . $params['end_date'];// 最后一个特殊处理
$keys = array_flip($keys);
$title = array_keys($keys);
} else {
$keys = [];
$startTime = strtotime($params['start_date']);
$endTime = strtotime($params['end_date']);
// 默认将开始时间添加进去,有需要的情况下自己更改;
$keys[] = date('Y-m', $startTime);
while (($startTime = strtotime('+1 month', $startTime)) <= $endTime) {
$keys[] = date('Y-m', $startTime);
// 取得递增月;
}
$title = array_values($keys);
}
print_r($title);