代码截图如下:
效果如下:
代码具体如下:
//获取当前月前所有月份的起止时间戳,包含本月
public static function getMonthIntervalByYear($time = '')
{
$year = $time != '' ? $time : date('Y', time());
$month = $time != '' ? $time : date('m', time());
//定义一个月间隔数组
$monthInterval = [];
//当前年 包含本月之前的所有月
for ($i = 1; $i <= $month; $i++) {
$monthInterval[] = $year . '-' . $i;
}
//获取本月之前的所有月,包含本月起止日期以及起止时间戳
foreach ($monthInterval as $key => &$val) {
//php获取当前月份的所有天数
$total_day = date('d', strtotime("{$val} + 1 month -1 day"));
$start_date = $val . '-' . '01'; //月初
$end_date = $val . '-' . $total_day; //月末
$val = [
'start_date' => $start_date,
'end_date' => $end_date,
'start' => strtotime($start_date),//本月起始时间戳
'end' => strtotime($end_date) + 86399,//本月结束时间戳
];
}
return $monthInterval;
}