服务器之家

服务器之家 > 正文

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

时间:2019-10-26 15:38     来源/作者:缤纷落叶之忠

实例如下所示:

  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.  }  

以上这篇PHP 获取某年第几周的开始日期和结束日期的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部