Heim  >  Artikel  >  Backend-Entwicklung  >  Erklären Sie PHP, um relevante Inhalte eines bestimmten Datums zu erhalten

Erklären Sie PHP, um relevante Inhalte eines bestimmten Datums zu erhalten

jacklove
jackloveOriginal
2018-06-09 09:23:282324Durchsuche

Aus beruflichen Gründen muss ich das Start- und Enddatum der Woche ab Donnerstag abrufen, und PHP bietet keine Methode zum Abrufen des Start- und Enddatums dieser Woche, daher habe ich eine Methode für die zukünftige Verwendung geschrieben .

Berechnungsmethode:

<?php/**
 * 计算指定日期的一周开始及结束日期
 * @param  DateTime $date  日期
 * @param  Int      $start 周几作为一周的开始 1-6为周一~周六,0为周日,默认0
 * @retrun Array
 */function getWeekRange($date, $start=0){    // 将日期转时间戳
    $dt = new DateTime($date);    $timestamp = $dt->format(&#39;U&#39;);    // 获取日期是周几
    $day = (new DateTime(&#39;@&#39;.$timestamp))->format(&#39;w&#39;);    // 计算开始日期
    if($day>=$start){        $startdate_timestamp = mktime(0,0,0,date(&#39;m&#39;,$timestamp),date(&#39;d&#39;,$timestamp)-($day-$start),date(&#39;Y&#39;,$timestamp));
    }elseif($day<$start){        $startdate_timestamp = mktime(0,0,0,date(&#39;m&#39;,$timestamp),date(&#39;d&#39;,$timestamp)-7+$start-$day,date(&#39;Y&#39;,$timestamp));
    }    // 结束日期=开始日期+6
    $enddate_timestamp = mktime(0,0,0,date(&#39;m&#39;,$startdate_timestamp),date(&#39;d&#39;,$startdate_timestamp)+6,date(&#39;Y&#39;,$startdate_timestamp));    $startdate = (new DateTime(&#39;@&#39;.$startdate_timestamp))->format(&#39;Y-m-d&#39;);    $enddate = (new DateTime(&#39;@&#39;.$enddate_timestamp))->format(&#39;Y-m-d&#39;);    return array($startdate, $enddate);
}?>

Beispiel: Der Test beginnt von Montag bis Sonntag, um die Start- und Endzeit der Woche zu berechnen

<?php$date = &#39;2016-04-27&#39;;for($start=0; $start<=6; $start++){    list($startdate, $enddate) = getWeekRange($date, $start);    echo &#39;date:&#39;.$date.&#39; week start:&#39;.$start.&#39; range:&#39;.$startdate.&#39;, &#39;.$enddate.&#39;<br>&#39;;
}?>

Ausgabe:

date:2016-04-27 week start:0 range:2016-04-24, 2016-04-30date:2016-04-27 week start:1 range:2016-04-25, 2016-05-01date:2016-04-27 week start:2 range:2016-04-26, 2016-05-02date:2016-04-27 week start:3 range:2016-04-27, 2016-05-03date:2016-04-27 week start:4 range:2016-04-21, 2016-04-27date:2016-04-27 week start:5 range:2016-04-22, 2016-04-28date:2016-04-27 week start:6 range:2016-04-23, 2016-04-29

In diesem Artikel wird der relevante Inhalt zum Abrufen des angegebenen Datums in PHP erläutert. Weitere Informationen finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Detaillierte Erklärung, wie PHP eine eindeutige RequestID-Klasse generiert

So überprüfen Sie die Kapazität der Datenbanktabelle über MySQL

Erklärung, wie man mit php str_getcsv einen String in ein Array analysiert

Das obige ist der detaillierte Inhalt vonErklären Sie PHP, um relevante Inhalte eines bestimmten Datums zu erhalten. 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