当前位置:首页 > PHP教程 > php日期 > 列表

PHP 获取某年第几周的开始日期和结束日期的实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-27 11:15:44 浏览: 评论:0 

下面小编就为大家分享一篇PHP 获取某年第几周的开始日期和结束日期的实例,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

实例如下所示:

  1. /**  
  2.  * 获取某年第几周的开始日期和结束日期  
  3.  * @param int $year  
  4.  * @param int $week 第几周;  
  5.  */  
  6.  public function weekday($year,$week=1){  
  7.   $year_start = mktime(0,0,0,1,1,$year);  
  8.   $year_end = mktime(0,0,0,12,31,$year);  
  9.   // 判断第一天是否为第一周的开始  
  10.   if (intval(date('W',$year_start))===1){  
  11.    $start = $year_start;//把第一天做为第一周的开始  
  12.   }else{  
  13.    $week++;  
  14.    $start = strtotime('+1 monday',$year_start);//把第一个周一作为开始  
  15.   }  
  16.   // 第几周的开始时间  
  17.   if ($week===1){  
  18.    $weekday['start'] = $start;  
  19.   }else{  
  20.    $weekday['start'] = strtotime('+'.($week-0).' monday',$start);  
  21.   }  
  22.   // 第几周的结束时间  
  23.   $weekday['end'] = strtotime('+1 sunday',$weekday['start']);  
  24.   if (date('Y',$weekday['end'])!=$year){  
  25.    $weekday['end'] = $year_end;  
  26.   }  
  27.   return $weekday;  
  28.  }  
  29.  /**  
  30.  * 计算一年有多少周,每周从星期一开始,  
  31.  * 如果最后一天在周四后(包括周四)算完整的一周,否则不计入当年的最后一周  
  32.  * 如果第一天在周四前(包括周四)算完整的一周,否则不计入当年的第一周  
  33.  * @param int $year  
  34.  * return int  
  35.  */  
  36.  public function week($year){  
  37.   $year_start = mktime(0,0,0,1,1,$year);  
  38.   $year_end = mktime(0,0,0,12,31,$year);  
  39.   if (intval(date('W',$year_end))===1){  
  40.    return date('W',strtotime('last week',$year_end));  
  41.   }else{  
  42.    return date('W',$year_end);  
  43.   }  
  44.  }

Tags: PHP获取第几周

分享到: