Heim  >  Artikel  >  Backend-Entwicklung  >  So erhalten Sie die Woche des Monats für ein Datum in PHP

So erhalten Sie die Woche des Monats für ein Datum in PHP

藏色散人
藏色散人Original
2021-07-12 10:27:573952Durchsuche

So verwenden Sie PHP, um die Woche des Monats für ein Datum abzurufen: Erstellen Sie zunächst eine PHP-Beispieldatei und übergeben Sie dann „date('d', $time)-(8 - $wk_day);echo $day<=0 ? 1:ceil ($day / 7)+1;" Ermitteln Sie den Tag des Monats und die Woche des Monats.

So erhalten Sie die Woche des Monats für ein Datum in PHP

Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer

Wie erhält PHP die Woche des Monats für ein Datum?

Das PHP-Erwerbsdatum liegt in der ersten Woche des Monats.

<?php
$time = strtotime(&#39;2019-01-01&#39;);
$wk_day = date(&#39;w&#39;, strtotime(date(&#39;Y-m-1 00:00:00&#39;, $time))) ? : 7; //今天周几
$day = date(&#39;d&#39;, $time) - (8 - $wk_day); //今天几号
echo $day <= 0 ? 1 : ceil($day / 7) + 1; //计算是第几个星期
 
print_r(week_of_month(strtotime(&#39;2019-01-1&#39;)));
 
function week_of_month($time, $offset = 1){
        $week = get_week_block($time);
        $wk_day = date(&#39;w&#39;, strtotime(date(&#39;Y-m-1 00:00:00&#39;, $time))) ? : 7; //今天周几
        $day = date(&#39;d&#39;, $time) - (8 - $wk_day); //今天几号
        $weekof = $day <= 0 ? 1 : ceil($day / 7) + 1; //计算是第几个星期
        if($offset){
            $week[0] = date(&#39;Y-m-d&#39;, max(strtotime(date(&#39;Y-m-1 00:00:00&#39;, $time)), $week[0]));
            $week[1] = date(&#39;Y-m-d&#39;, min(strtotime(date(&#39;Y-m-&#39;.date(&#39;t&#39;, $time).&#39; 23:59:59&#39;, $time)), $week[1]));
        }else{
            $week[0] = date(&#39;Y-m-d&#39;, $week[0]);
            $week[1] = date(&#39;Y-m-d&#39;, $week[1]);
        }
        return [&#39;week&#39; => $week, &#39;weekof&#39; => $weekof];
}
 
function get_week_block($sdefaultDate = false, $first = 1){
//当前日期    
//$first =1 表示每周星期一为开始日期 0表示每周日为开始日期  
if(!$sdefaultDate)$sdefaultDate = time();
if(is_numeric($sdefaultDate))$sdefaultDate = date(&#39;Y-m-d&#39;, $sdefaultDate);
//获取当前周的第几天 周日是 0 周一到周六是 1 - 6  
$w=date(&#39;w&#39;, strtotime($sdefaultDate));  
//获取本周开始日期,如果$w是0,则表示周日,减去 6 天  
$week_start=date(&#39;Y-m-d&#39;,strtotime("$sdefaultDate -".($w ? $w - $first : 6).&#39; days&#39;));  
//本周结束日期  
$week_end=date(&#39;Y-m-d&#39;,strtotime("$week_start +6 days"));
return array(strtotime($week_start.&#39; 00:00:00&#39;), strtotime($week_end.&#39; 23:59:59&#39;));
}

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die Woche des Monats für ein Datum in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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