/*** 获取周的日期范围* @param string $week* @param string $year* @return array*/
public static function getWeekDate($week = '',$year = '') {/*** 2007年 第一周 是 01-01 到 01 - 07 因为第一天就是星期一 6* 2008年 第一周 是 01-01 到 01 - 06 因为第一天就是星期二 5 (闰年多一天)* 2009年 第一周 是 01-01 到 01 - 04 因为第一天就是星期四 3* 2010年 第一周 是 01-01 到 01 - 03 因为第一天就是星期五 2* 2011年 第一周 是 01-01 到 01 - 02 因为第一天就是星期六 1* 2012年 第一周 是 01-01 到 01 - 01 因为第一天就是星期天 0** 2019年 第一周 是 01-01 到 01 - 06 因为第一天就是星期二 5*/$year = $year ? : date('Y');// 获取第一天$first_date = $year.'-01-01';// 获取第一天是周几$week_num = array(7, 1, 2, 3, 4, 5, 6);$first_date_week = $week_num[date('w',strtotime($first_date))];$first_week_end_day =1 + (7 - $first_date_week);$out_data = [];if ($week === 1) {$out_data['first_date'] = $first_date;$out_data['end_date'] = date('Y-m-d',strtotime('+'.($first_week_end_day - 1).' day',strtotime($first_date)));} else {$week_begin_day = $first_week_end_day + ($week - 2) * 7 + 1;$week_end_day = $week_begin_day + 6;$out_data['first_date'] = date('Y-m-d',strtotime('+'.($week_begin_day - 1).' day',strtotime($first_date)));$out_data['end_date'] = date('Y-m-d',strtotime('+'.($week_end_day - 1).' day',strtotime($first_date)));}return $out_data;
}
转载于:https://www.cnblogs.com/jiqing9006/p/11281804.html