PHP 获取本月之前所有月份以及起止时间戳

代码截图如下:


微信截图_20200806150823.png

效果如下:


image.png

代码具体如下:

//获取当前月前所有月份的起止时间戳,包含本月
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;
}

你可能感兴趣的:(PHP 获取本月之前所有月份以及起止时间戳)