PHP实现获取某个月份周次信息的方法 |
|
本文标签:PHP,获取,月份,周次信息 本文实例讲述了PHP实现获取某个月份周次信息的方法 。分享给大家供大家参考 。具体如下:
<?php
function getMonthweeks($date){
$ret=array();
$stimestamp=strtotime($date);
$mdays=date(t,$stimestamp);
$msdate=date(Y-m-d,$stimestamp);
$medate=date(Y-m-.$mdays,$stimestamp);
$etimestamp = strtotime($medate);
//獲取第一周
$zcsy=6-date(w,$stimestamp);//第一周去掉第一天還有幾天
$zcs1=$msdate;
$zce1=date(Y-m-d,strtotime("+$zcsy day",$stimestamp));
$ret[1]="第1周".$zcs1.'.$zce1;
//獲取中間周次
$jzc=0;
//獲得當前月份是6周次還是5周次
$jzc0="";
$jzc6="";
for($i=$stimestamp; $i<=$etimestamp; $i+=86400){
if(date(w, $i) == 0){$jzc0++;}
if(date(w, $i) == 6){$jzc6++;}
}
if($jzc0==5 && $jzc6==5)
{
$jzc=5;
}else{
$jzc=4;
}
date_default_timezone_set(PRC);
$t = strtotime(+1 monday .$msdate);
$n = 1;
for($n=1; $n<$jzc; $n++) {
$b = strtotime("+$n week -1 week", $t);
$dsdate=date("Y-m-d", strtotime("-1 day", $b));
$dedate=date("Y-m-d", strtotime("5 day", $b));
$jzcz=$n+1;
$ret[$jzcz]="第".$jzcz."周".$dsdate.'.$dedate;
}
//獲取最後一周
$zcsy=date(w,$etimestamp);//最後一周是周幾日'六 0'6
$zcs1=date(Y-m-d,strtotime("-$zcsy day",$etimestamp));
$zce1=$medate;
$jzcz=$jzc+1;
$ret[$jzcz]="第".$jzcz."周".$zcs1.'.$zce1;
return $ret;
}
$ret=getMonthweeks(2012-12-01);
for($i=0; $i<=count($ret); $i++) {
echo @$ret[$i]."<br />";
}
?>
运行结果如下: 第1周2012-12-01'2012-12-01 希望本文所述对大家的php程序设计有所帮助 。 |