当前位置:首页 > PHP教程 > php日期 > 列表

PHP实现获取某个月份周次信息的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-16 10:56:06 浏览: 评论:0 

这篇文章主要介绍了PHP实现获取某个月份周次信息的方法,涉及php针对日期与时间的相关计算技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

本文实例讲述了PHP实现获取某个月份周次信息的方法,分享给大家供大家参考,具体如下:

  1. <?php 
  2.  function getMonthweeks($date){ 
  3.  $ret=array(); 
  4.   $stimestamp=strtotime($date); 
  5.   $mdays=date('t',$stimestamp); 
  6.   $msdate=date('Y-m-d',$stimestamp); 
  7.   $medate=date('Y-m-'.$mdays,$stimestamp); 
  8.  $etimestamp = strtotime($medate); 
  9.  //獲取第一周 
  10.  $zcsy=6-date('w',$stimestamp);//第一周去掉第一天還有幾天 
  11.  $zcs1=$msdate
  12.  $zce1=date('Y-m-d',strtotime("+$zcsy day",$stimestamp)); 
  13.  $ret[1]="第1周".$zcs1.'~'.$zce1
  14.  //獲取中間周次 
  15.  $jzc=0; 
  16.  //獲得當前月份是6周次還是5周次 
  17.  $jzc0=""
  18.  $jzc6=""
  19.  for($i=$stimestamp$i<=$etimestamp$i+=86400){ 
  20.  if(date('w'$i) == 0){$jzc0++;} 
  21.  if(date('w'$i) == 6){$jzc6++;} 
  22.  } 
  23.  if($jzc0==5 && $jzc6==5) 
  24.  { 
  25.  $jzc=5; 
  26.  }else
  27.  $jzc=4; 
  28.  } 
  29.  date_default_timezone_set('PRC'); 
  30.  $t = strtotime('+1 monday '.$msdate); 
  31.  $n = 1; 
  32.  for($n=1; $n<$jzc$n++) { 
  33.  $b = strtotime("+$n week -1 week"$t); 
  34.  $dsdate=date("Y-m-d"strtotime("-1 day"$b)); 
  35.  $dedate=date("Y-m-d"strtotime("5 day"$b)); 
  36.  $jzcz=$n+1; 
  37.  $ret[$jzcz]="第".$jzcz."周".$dsdate.'~'.$dedate
  38.  } 
  39.  //獲取最後一周 
  40.  $zcsy=date('w',$etimestamp);//最後一周是周幾日~六 0~6 
  41.  $zcs1=date('Y-m-d',strtotime("-$zcsy day",$etimestamp)); 
  42.  $zce1=$medate
  43.  $jzcz=$jzc+1; 
  44.  $ret[$jzcz]="第".$jzcz."周".$zcs1.'~'.$zce1
  45.  return $ret
  46. $ret=getMonthweeks('2012-12-01'); 
  47. for($i=0; $i<=count($ret); $i++) { 
  48.  echo @$ret[$i]."<br />"
  49. ?> 

运行结果如下:

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

Tags: PHP获取某个月份

分享到: