php计算给定日期所在周的开始日期和结束日期示例

  1. <?php
  2. /**
  3. * 取得给定日期所在周的开始日期和结束日期
  4. * @param string $gdate 日期,默认为当天,格式:YYYY-MM-DD
  5. * @param int $weekStart 一周以星期一还是星期天开始,0为星期天,1为星期一
  6. * @return array 数组array( "开始日期 ", "结束日期");
  7. */
  8. functiongetAWeekTimeSlot($gdate='',$weekStart= 0) {
  9. if(!$gdate){
  10. $gdate=date("Y-m-d");
  11. }
  12. $w=date("w",strtotime($gdate) );//取得一周的第几天,星期天开始0-6
  13. $dn=$w?$w-$weekStart: 6;//要减去的天数
  14. $st=date("Y-m-d",strtotime("$gdate - ".$dn." days ") );
  15. $en=date("Y-m-d",strtotime("$st +6 days ") );
  16. returnarray($st,$en);//返回开始和结束日期
  17. }
  18. $timeSlot=getAWeekTimeSlot('2017-01-24',1);
  19. echo"Week Start:{$timeSlot[0]}--->Week End: {$timeSlot[1]} ";
  20. ?>

运行结果如下:

Week Start:2017-01-23--->Week End: 2017-01-29