首页 > 开发 > PHP > 正文

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

2024-05-04 23:38:42
字体:
来源:转载
供稿:网友

这篇文章主要介绍了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. if($jzc0==5 && $jzc6==5) 
  23. $jzc=5; 
  24. }else
  25. $jzc=4; 
  26. date_default_timezone_set('PRC'); 
  27. $t = strtotime('+1 monday '.$msdate); 
  28. $n = 1; 
  29. for($n=1; $n<$jzc$n++) { 
  30. $b = strtotime("+$n week -1 week"$t); 
  31. $dsdate=date("Y-m-d"strtotime("-1 day"$b)); 
  32. $dedate=date("Y-m-d"strtotime("5 day"$b)); 
  33. $jzcz=$n+1; 
  34. $ret[$jzcz]="第".$jzcz."周".$dsdate.'~'.$dedate
  35. //獲取最後一周 
  36. $zcsy=date('w',$etimestamp);//最後一周是周幾日~六 0~6 
  37. $zcs1=date('Y-m-d',strtotime("-$zcsy day",$etimestamp)); 
  38. $zce1=$medate
  39. $jzcz=$jzc+1; 
  40. $ret[$jzcz]="第".$jzcz."周".$zcs1.'~'.$zce1
  41. return $ret
  42. $ret=getMonthweeks('2012-12-01'); 
  43. for($i=0; $i<=count($ret); $i++) { 
  44. echo @$ret[$i]."<br />"
  45. ?> 

运行结果如下:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表