private function GetTheMonth($a)
    {   //获取指定日期所在月的第一天和最后一天
        $date = date('Y-m-d', strtotime('-' . $a . 'month'));
        $firstday = date("Ym01", strtotime($date));
        $lastday = date("Ymd", strtotime("$firstday +1 month -1 day"));
        return array($firstday, $lastday);
    }
这个方法有bug啊     31号 就jj

解决方案 »

  1.   

    function GetTheMonth($a)
    {
        $nowMonth=date("Y",time()).'-'.$a;
        $firstday = date("Ym01", strtotime($nowMonth));
        $lastday = date("Ymd", strtotime("$firstday +1 month -1 day"));
        return array($firstday, $lastday);
    }
    print_r(GetTheMonth(1));die;当前年份下某一月的,如果自定义年份的话更简单了~
      

  2.   


    $time = '2016-10-31';
    print_r(GetTheMonth($time));
    function GetTheMonth($a)
    {   //获取指定日期所在月的第一天和最后一天
    $firstday = date('Y-m-01', strtotime($a));
    $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));
    return array($firstday, $lastday);
    }
      

  3.   


     //php获取今日开始时间戳和结束时间戳
    $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
    $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;//php获取昨日起始时间戳和结束时间戳
    $beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));
    $endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;//php获取上周起始时间戳和结束时间戳
    $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));
    $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));//php获取本月起始时间戳和结束时间戳
    $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
    $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y')); 
      

  4.   

    function GetTheMonth($a) {
       //获取指定日期所在月的第一天和最后一天
       $date = strtotime("-$a month". date('Y-m-1'));
       $firstday = date("Ym01", $date);
       $lastday = date("Ymt", $date);
       return array($firstday, $lastday);
    }print_r(GetTheMonth(1));Array
    (
        [0] => 20160901
        [1] => 20160930
    )
      

  5.   

    改这样function GetTheMonth($date)
        {   //获取指定日期所在月的第一天和最后一天
            $firstday = date("Ym01", strtotime($date));
            $lastday = date("Ymd", strtotime("$firstday +1 month -1 day"));
            return array($firstday, $lastday);
        }$date = '2016-10-31';
    print_r(GetTheMonth($date));
      

  6.   


    $day ="2016-10-21";
    $firstDay = date('Y-m-01', strtotime($day));
    $lastDay  = date('Y-m-d', strtotime("+1month -1day", strtotime($firstDay)));
    echo $firstDay, " , " ,$lastDay;
    计算出第一天。第一天再加上一个月往后一天就是上个月的最后一天。