PHP获取一年中的每星期的开始日期和结束日期_PHP教程

php中文网
发布: 2016-07-20 10:56:44
原创
983人浏览过

以下是一段通过php来获取一年中的每星期的开始日期和结束日期的代码。

<ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span> get_week(</span><span class="vars">$year</span><span>) {   </span></span></li><li><span>    </span><span class="vars">$year_start</span><span> = </span><span class="vars">$year</span><span> . </span><span class="string">"-01-01"</span><span>;   </span></li><li class="alt"><span>    </span><span class="vars">$year_end</span><span> = </span><span class="vars">$year</span><span> . </span><span class="string">"-12-31"</span><span>;   </span></li><li><span>    </span><span class="vars">$startday</span><span> = </span><span class="func">strtotime</span><span>(</span><span class="vars">$year_start</span><span>);   </span></li><li class="alt"><span>    </span><span class="keyword">if</span><span> (</span><span class="func">intval</span><span>(</span><span class="func">date</span><span>(</span><span class="string">'N'</span><span>, </span><span class="vars">$startday</span><span>)) != </span><span class="string">'1'</span><span>) {   </span></li><li><span>        </span><span class="vars">$startday</span><span> = </span><span class="func">strtotime</span><span>(</span><span class="string">"next monday"</span><span>, </span><span class="func">strtotime</span><span>(</span><span class="vars">$year_start</span><span>)); </span><span class="comment">//获取年第一周的日期  </span><span> </span></li><li class="alt"><span>    }   </span></li><li><span>    </span><span class="vars">$year_mondy</span><span> = </span><span class="func">date</span><span>(</span><span class="string">"Y-m-d"</span><span>, </span><span class="vars">$startday</span><span>); </span><span class="comment">//获取年第一周的日期  </span><span> </span></li><li class="alt"><span>   </span></li><li><span>    </span><span class="vars">$endday</span><span> = </span><span class="func">strtotime</span><span>(</span><span class="vars">$year_end</span><span>);   </span></li><li class="alt"><span>    </span><span class="keyword">if</span><span> (</span><span class="func">intval</span><span>(</span><span class="func">date</span><span>(</span><span class="string">'W'</span><span>, </span><span class="vars">$endday</span><span>)) == </span><span class="string">'7'</span><span>) {   </span></li><li><span>        </span><span class="vars">$endday</span><span> = </span><span class="func">strtotime</span><span>(</span><span class="string">"last sunday"</span><span>, </span><span class="func">strtotime</span><span>(</span><span class="vars">$year_end</span><span>));   </span></li><li class="alt"><span>    }   </span></li><li><span>   </span></li><li class="alt"><span>    </span><span class="vars">$num</span><span> = </span><span class="func">intval</span><span>(</span><span class="func">date</span><span>(</span><span class="string">'W'</span><span>, </span><span class="vars">$endday</span><span>));   </span></li><li><span>    </span><span class="keyword">for</span><span> (</span><span class="vars">$i</span><span> = 1; </span><span class="vars">$i</span><span> <= </span><span class="vars">$num</span><span>; </span><span class="vars">$i</span><span>++) {   </span></li><li class="alt"><span>        </span><span class="vars">$j</span><span> = </span><span class="vars">$i</span><span> -1;   </span></li><li><span>        </span><span class="vars">$start_date</span><span> = </span><span class="func">date</span><span>(</span><span class="string">"Y-m-d"</span><span>, </span><span class="func">strtotime</span><span>(</span><span class="string">"$year_mondy $j week "</span><span>));   </span></li><li class="alt"><span>   </span></li><li><span>        </span><span class="vars">$end_day</span><span> = </span><span class="func">date</span><span>(</span><span class="string">"Y-m-d"</span><span>, </span><span class="func">strtotime</span><span>(</span><span class="string">"$start_date +6 day"</span><span>));   </span></li><li class="alt"><span>   </span></li><li><span>        </span><span class="vars">$week_array</span><span>[</span><span class="vars">$i</span><span>] = </span><span class="keyword">array</span><span> (   </span></li><li class="alt"><span>            </span><span class="func">str_replace</span><span>(</span><span class="string">"-"</span><span>,   </span></li><li><span>            </span><span class="string">"."</span><span>,   </span></li><li class="alt"><span>            </span><span class="vars">$start_date</span><span>   </span></li><li><span>        ), </span><span class="func">str_replace</span><span>(</span><span class="string">"-"</span><span>, </span><span class="string">"."</span><span>, </span><span class="vars">$end_day</span><span>));   </span></li><li class="alt"><span>    }   </span></li><li><span>    </span><span class="keyword">return</span><span> </span><span class="vars">$week_array</span><span>;   </span></li><li class="alt"><span>}  </span></li></ol>
登录后复制

函数get_week()通过传入参数$year年份,获取当年第一天和最后一天所在的周数,计算第一周的日期,通过循环获取每一周的第一天和最后一天的日期。最后返回是一个数组。

想得到指定周数的开始日期和结束日期,比如2011年第18周的开始日期和结束日期,代码如下:

<ol class="dp-c"><li class="alt"><span><span class="vars">$weeks</span><span> = get_week(2011);   </span></span></li><li><span class="func">echo</span><span> </span><span class="string">'第18周开始日期:'</span><span>.</span><span class="vars">$weeks</span><span>[18][0].</span><span class="string">''</span><span>;   </span></li><li class="alt"><span class="func">echo</span><span> </span><span class="string">'第18周结束日期:'</span><span>.</span><span class="vars">$weeks</span><span>[18][1];  </span></li></ol>
登录后复制

最后输出结果:

阶跃星辰开放平台
阶跃星辰开放平台

阶跃星辰旗下开放平台,提供文本大模型、多模态大模型、繁星计划

阶跃星辰开放平台 0
查看详情 阶跃星辰开放平台
<ol class="dp-c"><li class="alt"><span><span>第18周开始日期:2011.05.02   </span></span></li><li><span>第18周结束日期:2011.05.08  </span></li></ol>
登录后复制

http://www.helloweba.com/view-blog-125.html

立即学习PHP免费学习笔记(深入)”;


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445825.htmlTechArticle以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码。 function get_week( $year ){ $year_start = $year . -01-01 ; $year_end = $year . -12-...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号