Berechnen der Wochentage anhand einer Wochennummer
Dieses Problem zielt darauf ab, insbesondere die Wochentage innerhalb einer bestimmten Wochennummer zu extrahieren Beginnend mit Montag.
PHP-Lösung
Der folgende PHP-Code kann verwendet werden, um diese Berechnung durchzuführen:
<code class="php">$week_number = 40; $year = 2008; for ($day = 1; $day <= 7; $day++) { printf('%s\n', date('m/d/Y', strtotime($year . "W" . $week_number . $day))); }
Dieses Skript erzeugt Folgendes Ausgabe für Woche 40:
10/06/2008 10/07/2008 10/08/2008 10/09/2008 10/10/2008 10/11/2008 10/12/2008
Alternative PHP-Lösung zum Extrahieren von Daten innerhalb einer Woche
Unten finden Sie eine angepasste Lösung, die etwas anders funktioniert:
<code class="php">function week_from_monday($date) { list($day, $month, $year) = explode('-', $date); $wkday = date('l', mktime('0', '0', '0', $month, $day, $year)); switch ($wkday) { case 'Monday': $numDaysToMon = 0; break; case 'Tuesday': $numDaysToMon = 1; break; case 'Wednesday': $numDaysToMon = 2; break; case 'Thursday': $numDaysToMon = 3; break; case 'Friday': $numDaysToMon = 4; break; case 'Saturday': $numDaysToMon = 5; break; case 'Sunday': $numDaysToMon = 6; break; } $monday = mktime('0', '0', '0', $month, $day - $numDaysToMon, $year); $seconds_in_a_day = 86400; for ($i = 0; $i < 7; $i++) { $dates[$i] = date('Y-m-d', $monday + ($seconds_in_a_day * $i)); } return $dates; }
Diese Funktion akzeptiert eine Datumszeichenfolge im Format „TT-MM-JJJJ“ und wandelt sie in ein Array von Datumsangaben um, die die Wochentage ab Montag darstellen. Wenn Sie beispielsweise das Datum „10.07.2008“ verwenden, erhalten Sie das folgende Array:
Array ( [0] => 2008-10-06 [1] => 2008-10-07 [2] => 2008-10-08 [3] => 2008-10-09 [4] => 2008-10-10 [5] => 2008-10-11 [6] => 2008-10-12 )</code>
Das obige ist der detaillierte Inhalt vonWie kann ich die Wochentage innerhalb einer bestimmten Wochennummer in PHP extrahieren, beginnend mit Montag?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!