PHP根据当天的年月日获取当前周的周日的年月日

//获取年月日对应的最近的周天的截止日期 可能会  跨年  跨月 跨周
function GetClearWeek() {
    $year_month_day_over = array();
    $year = date('Y');  //四位 的年份
    $month = date('n'); //1 到 12
    $day_of_month = date('j');//1-31 月份中的第几天
    $day_of_week = date('N'); //1-7 周中的第几天
    $day_of_year = date('z')+1; // 1-366 年的第几天
    $days_of_month = date('t'); //当前月份 月份应有的天数
 
    $day_should_over = $day_of_month - $day_of_week + 7;
    if($day_should_over > $days_of_month) {
        $month_over = $month + 1;
        if($month_over > 12) {
            $year_month_day_over = array(
                'year_over' => $year + 1,'month_over' => 1,'day_over' => $day_should_over - $days_of_month,
            );
        } else {
            $year_month_day_over = array(
                'year_over' => $year ,'month_over' => $month + 1,'day_over' => $day_should_over - $days_of_month,
            );
        }
    } else {
        $year_month_day_over = array(
            'year_over' => $year ,'month_over' => $month,'day_over' => $day_should_over,
        );
    }
    return $year_month_day_over;
}

编程技巧