首页 > 代码库 > PHP 周转换为日期(最后一天) date("o-W")转Y-m-d日期——贴上代码

PHP 周转换为日期(最后一天) date("o-W")转Y-m-d日期——贴上代码

//o-W week 转换为普通日期 周的最后一天    public function weekToDate($oW){        $oW = explode("-", $oW);    //拆分o-W周 为年和周数        $year = $oW[0]; //年        $week = $oW[1]; //周数        $weekYearBegin = date("w",strtotime($year."-01-01"));   //年初1月1是星期几,0-6,0是周日,1-6是周一到周六        $WYearBegin = date("W",strtotime($year."-01-01"));  //年初1月1是第几周,可能是该年第一周:01,也可能是上年最后一周:52        if($WYearBegin == "01"){    //该年的第一周            $days = (7-$weekYearBegin)%7 + (int)($week-$WYearBegin)*7;  //需要计算的周的最后一天(星期天),距离年初1月1有多少天        }else{  //上年的最后一周            $days = (7-$weekYearBegin)%7 + (int)($week)*7;  ////需要计算的周的最后一天(星期天),距离年初1月1有多少天        }        $lastDayOfW = date("Y-m-d",strtotime($year."-01-01 +".$days." days"));  //因为是求最后一天(星期天),所以一定落在该年($year),或者下一年,而不会落在上一年 用$year +n days        return $lastDayOfW;    }

以上为整个代码实现,返回为所求date("o-W")周的最后一天(周日)的日期 date("Y-m-d")

PHP 周转换为日期(最后一天) date("o-W")转Y-m-d日期——贴上代码