<?php
/**
* 功能:取得給定日期所在週的開始日期和結束日期
* 參數:$getdate 日期,默認為當天,格式:YYYY-MM-DD
* $first_day 一周以星期一還是星期天開始,0為星期天,1為星期一
* 返回:array
*
*/
function thisweek($getdate = "", $first_day = 0){
if(!$getdate) $getdate = date("Y-m-d");
//取得一周的第幾天,星期天開始0-6
$weekday = date("w", strtotime($getdate));
//要減去的天數
$del_day = $weekday - $first_day;
//本週開始日期
$week_start_day = date("Y-m-d", strtotime("$getdate -".$del_day." days"));
//本週結束日期
$week_end_day = date("Y-m-d", strtotime("$week_start_day +6 days"));
//上週開始日期
$lastweek_start_day = date('Ym-d',strtotime("$week_start_day - 7 days"));
//上週結束日期
$lastweek_end_day = date('Ym-d',strtotime("$week_start_day - 1 days"));
//返回開始和結束日期
return array($week_start_day, $week_end_day,$lastweek_start_day,$lastweek_end_day);
}
print_r(thisweek()); //可觀看結果
/* 各別取出來使用的方式如下
$week_array = thisweek();
echo $week_array[0]; //本週開始日期
echo $week_array[1]; //本週結束日期
echo $week_array[2]; //上週開始日期
echo $week_array[3]; //上週結束日期
*/
?>
文章引用:http://rritw.com/a/bianchengyuyan/PHP/20120712/185041.html