$start_time = 1647100800;
$end_time = 1675353600;
$end_time = strtotime(date("Y-m-d 23:59:59",$end_time));
$array = $this->monthArray($start_time,$end_time);
/*
* 输入开始时间和结束时间
* 按照每个月份分割
*/
private function monthArray($start_time,$end_time){
//计算开始时间的当月最后一天
$next_month = strtotime("+1 month",$start_time);
$next_month = strtotime(date("Y-m-01 00:00:00",$next_month));
$last_day = $next_month-1;
if ($last_day >= $end_time){
return [
[
'start_time' => $start_time,
'end_time' => $end_time,
'month' => date("Ymd",$start_time)
]
];
}
$array1 = [
[
'start_time' => $start_time,
'end_time' => $last_day,
'month' => date("Ymd",$start_time)
]
];
$array2 = $this->monthArray($next_month,$end_time);
return array_merge($array1,$array2);
}