这玩意真他妈难写!对付一下吧
<?php
function getWeek($date){
$d=strtotime($date."-10");
$f=(date('j',$d)-date('N',$d)+1)%7;
$end=date('t',$d);
$arr=array();
for($i=$f;$i<=$end;$i+=7){
if($i+6<=$end){
$arr[]=array('s'=>$date."-".$i,'e'=>$date."-".($i+6) );
}else{
$arr[]=array('s'=>$date."-".$i,'e'=>date("Y-m",$d+2592000)."-".($i+6-$end));
}
}
return $arr;
}
print_r(getWeek('2008-03'));
?>
输出结果如下:
<?php
Array
(
[0] => Array
(
[s] => 2008-03-3
[e] => 2008-03-9
)
[1] => Array
(
[s] => 2008-03-10
[e] => 2008-03-16
)
[2] => Array
(
[s] => 2008-03-17
[e] => 2008-03-23
)
[3] => Array
(
[s] => 2008-03-24
[e] => 2008-03-30
)
[4] => Array
(
[s] => 2008-03-31
[e] => 2008-04-6
)
)
?>