Home > Backend Development > PHP Tutorial > PHP Get the start date and end date of each week of the year_PHP Tutorial

PHP Get the start date and end date of each week of the year_PHP Tutorial

WBOY
Release: 2016-07-20 10:56:44
Original
821 people have browsed it

The following is a code that uses PHP to get the start date and end date of each week of the year.

<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>
Copy after login

The function get_week() gets the week number of the first and last day of the year by passing in the parameter $year, calculates the date of the first week, and obtains the first day of each week through a loop and last day date. The final return is an array.

If you want to get the start date and end date of a specified week, such as the start date and end date of the 18th week of 2011, the code is as follows:

<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>
Copy after login

The final output result:

<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>
Copy after login

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


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/445825.htmlTechArticleThe following is a piece of code that uses PHP to get the start date and end date of each week of the year. function get_week( $year ){ $year_start = $year . -01-01 ; $year_end = $year . -12-...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template