Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich die Wochentage innerhalb einer bestimmten Wochennummer in PHP extrahieren, beginnend mit Montag?

Wie kann ich die Wochentage innerhalb einer bestimmten Wochennummer in PHP extrahieren, beginnend mit Montag?

Susan Sarandon
Freigeben: 2024-10-26 06:10:30
Original
435 Leute haben es durchsucht

How can I extract the days of the week within a given week number in PHP, starting with Monday?

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

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

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

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

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!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage