1. 程式人生 > >【PHP】獲取一個月的天數

【PHP】獲取一個月的天數

author:咔咔

wechat:fangkangfk

 

實現方案:

最後 返回的當月的總天數

 /**
     * author:咔咔
     *
     * 獲取一個月的天數
     * @param $date
     * @return array
     */
    public function getDayNum(){
        // 獲取年份
        $years_time =date("Y",time());
        // 獲取月份
        $month = date("m",time());
        // 獲取當前年份跟月份
        $oldtime = $years_time."-".$month;
        // 獲取到當月的第一天時間戳
        $firstday = date("Y-m-01",strtotime($oldtime));
        // 最後一天的時間戳
        $lastday = date("Y-m-d",strtotime("$firstday +1 month"));
        // 將第一天轉為時間戳
        $firstday = strtotime($firstday);
        // 最後一天轉為時間戳
        $lastday = strtotime($lastday);
        // 獲取當月天數
        $day_sum = (($lastday - $firstday)/86400);

        return array($day_sum);
    }

最後將月份跟天陣列裝一下,返回給前端 

/**
     * author:咔咔
     *
     * 組裝每月的天數
     * @param $dayNum
     * @return array
     */
    public function getDay($dayNum)
    {
        $month = date("m",time());
        for($i = 1; $i <= $dayNum; $i++){
            $day[] = $month .'-'.$i;
        }
        return $day;
    }

 

這裡只有一個注意點,就是返回給前端的話,需要將資料轉一下json,前端接收變數是不允許陣列的形式的

public function index()
    {
        // 總天數
        $dayCount = $this->getDayNum();
        // 月份加天數的組裝資料
        $day = json_encode($this->getDay($dayCount[0]));
        $this->assign('day',$day);
        return $this->fetch();
    }