Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann man Wochentage in PHP effizient aus einer bestimmten Wochennummer extrahieren?

Wie kann man Wochentage in PHP effizient aus einer bestimmten Wochennummer extrahieren?

DDD
Freigeben: 2024-10-26 11:03:02
Original
254 Leute haben es durchsucht

How to Efficiently Extract Days of the Week from a Given Week Number in PHP?

Wochentage aus einer gegebenen Wochennummer extrahieren

Berechnung der einzelnen Tage, die in eine bestimmte Woche fallen, unter Berücksichtigung der entsprechenden Wochennummer ist eine häufige Aufgabe in zeitbasierten Anwendungen. Dieses Handbuch bietet eine Lösung für dieses Problem in PHP mithilfe der Funktionen date, strtotime und mktime.

PHP-Implementierung

<code class="php"><?php
$week_number = 40;
$year = 2008;
for ($day = 1; $day <= 7; $day++) {
    echo date('m/d/Y', strtotime($year . 'W' . $week_number . $day)) . "\n";
}
?></code>
Nach dem Login kopieren

Dieses Codefragment initialisiert zunächst die Wochennummer und das entsprechende Jahr. Anschließend werden die Wochentage durchlaufen, beginnend mit Montag (Tag 1) und endend mit Sonntag (Tag 7). Für jeden Tag berechnet es das entsprechende Datum mithilfe der Funktion strtotime und gibt es im Format m/d/Y aus.

Zusätzliche PHP-Funktion

Alternativ ein anderes PHP Die Funktion „week_from_monday“ kann verwendet werden, um die Daten für eine bestimmte Woche ab Montag abzurufen. Diese Funktion verwendet eine Datumszeichenfolge im Format TT-MM-JJJJ als Argument und gibt ein Array von Datumsangaben für die entsprechende Woche zurück.

<code class="php"><?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;
}

$date = '07-10-2008';
$dates = week_from_monday($date);
print_r($dates);
?></code>
Nach dem Login kopieren

Diese erweiterte Funktion ermöglicht mehr Flexibilität beim Abrufen der Datumsangaben einer Woche Woche, vorausgesetzt ein bestimmtes Datum innerhalb dieser Woche.

Das obige ist der detaillierte Inhalt vonWie kann man Wochentage in PHP effizient aus einer bestimmten Wochennummer extrahieren?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage