<?php
/**
* 取得給定日期所在周的開始日期和結束日期
* @param string $gdate 日期,默認為當天,格式:YYYY-MM-DD
* @param int $weekStart 一周以星期一還是星期天開始,0為星期天,1為星期一
* @return array 數組array( "開始日期 ", "結束日期");
*/
functiongetAWeekTimeSlot($gdate='',$weekStart= 0) {
if(!$gdate){
$gdate=date("Y-m-d");
}
$w=date("w",strtotime($gdate) );//取得一周的第幾天,星期天開始0-6
$dn=$w?$w-$weekStart: 6;//要減去的天數
$st=date("Y-m-d",strtotime("$gdate - ".$dn." days ") );
$en=date("Y-m-d",strtotime("$st +6 days ") );
returnarray($st,$en);//返回開始和結束日期
}
$timeSlot=getAWeekTimeSlot('2017-01-24',1);
echo"Week Start:{$timeSlot[0]}--->Week End: {$timeSlot[1]} ";
?>
運行結果如下:
Week Start:2017-01-23--->Week End: 2017-01-29