Heim > php教程 > php手册 > PHP获取一年中的每星期的开始日期和结束日期

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-13 11:13:04
Original
970 Leute haben es durchsucht

以下是一段通过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 class="vars">$num</span><span>; </span><span class="vars">$i</span><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>
Nach dem Login kopieren

函数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>
Nach dem Login kopieren

最后输出结果:

<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>
Nach dem Login kopieren

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


Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage