/**
* 獲取某年第幾周的開(kāi)始日期和結(jié)束日期
* @param int $year
* @param int $week 第幾周;
*/
public function weekday($year,$week=1){
$year_start = mktime(0,0,0,1,1,$year);
$year_end = mktime(0,0,0,12,31,$year);
// 判斷第一天是否為第一周的開(kāi)始
if (intval(date('W',$year_start))===1){
$start = $year_start;//把第一天做為第一周的開(kāi)始
}else{
$week++;
$start = strtotime('+1 monday',$year_start);//把第一個(gè)周一作為開(kāi)始
}
// 第幾周的開(kāi)始時(shí)間
if ($week===1){
$weekday['start'] = $start;
}else{
$weekday['start'] = strtotime('+'.($week-0).' monday',$start);
}
// 第幾周的結(jié)束時(shí)間
$weekday['end'] = strtotime('+1 sunday',$weekday['start']);
if (date('Y',$weekday['end'])!=$year){
$weekday['end'] = $year_end;
}
return $weekday;
}
/**
* 計(jì)算一年有多少周,每周從星期一開(kāi)始,
* 如果最后一天在周四后(包括周四)算完整的一周,否則不計(jì)入當(dāng)年的最后一周
* 如果第一天在周四前(包括周四)算完整的一周,否則不計(jì)入當(dāng)年的第一周
* @param int $year
* return int
*/
public function week($year){
$year_start = mktime(0,0,0,1,1,$year);
$year_end = mktime(0,0,0,12,31,$year);
if (intval(date('W',$year_end))===1){
return date('W',strtotime('last week',$year_end));
}else{
return date('W',$year_end);
}
}
以上這篇PHP 獲取某年第幾周的開(kāi)始日期和結(jié)束日期的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。