php 根据当前日期,获取当月第一天,最后一天,通过循环获取每个月的第一天,最后一天

php 根据当前日期,获取当月第一天,最后一天,通过循环获取每个月的第一天,最后一天

注:项目需要通过日期,一个月一个月的去调用别的接口拉取数据,终于查找到一个合适的方法

$start_date = '2018-08-08';
$BeginDate=date('Y-m-01', strtotime($start_date));//当月第一天
$end_date = date('Y-m-d',strtotime("$BeginDate +1 month -1 day"));//当月最后一天

$i = false;
do{
            if($i) { //从下个月开始调用方法获取开始结束日期
                $date = $this->getNextMonthDays($start_date);
                $start_date = $date[0];
                $end_date = $date[1];
            }

            //按月查询数据并入库
            $res = $syncModel->getDeptsAndUsers($start_date, $end_date);
            
            $i = true;
}while(strtotime($end_date) < strtotime(date('Y-m-d')));
        
public function getNextMonthDays($date){
        $timestamp=strtotime($date);
        $arr=getdate($timestamp);
        if($arr['mon'] == 12){
            $year=$arr['year'] +1;
            $month=$arr['mon'] -11;
            $firstday=$year.'-0'.$month.'-01';
            $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
        }else{
            $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));
            $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
        }
        return array($firstday,$lastday);
}
相关推荐
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页