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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-07-20 10:56:44
Original
865 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-...
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
Latest Issues
php data acquisition?
From 1970-01-01 08:00:00
0
0
0
PHP extension intl
From 1970-01-01 08:00:00
0
0
0
How to learn php well
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template