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程序设计有所帮助 。 |