PHP实现获取某个月份周次信息的方法
本文实例讲述了PHP实现获取某个月份周次信息的方法。分享给大家供大家参考。具体如下:
<?php functiongetMonthweeks($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("+$zcsyday",$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('+1monday'.$msdate); $n=1; for($n=1;$n<$jzc;$n++){ $b=strtotime("+$nweek-1week",$t); $dsdate=date("Y-m-d",strtotime("-1day",$b)); $dedate=date("Y-m-d",strtotime("5day",$b)); $jzcz=$n+1; $ret[$jzcz]="第".$jzcz."周".$dsdate.'~'.$dedate; } //獲取最後一周 $zcsy=date('w',$etimestamp);//最後一周是周幾日~六0~6 $zcs1=date('Y-m-d',strtotime("-$zcsyday",$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
第2周2012-12-02~2012-12-08
第3周2012-12-09~2012-12-15
第4周2012-12-16~2012-12-22
第5周2012-12-23~2012-12-29
第6周2012-12-30~2012-12-31
希望本文所述对大家的php程序设计有所帮助。