Bagaimana untuk Mengira Hari dalam Seminggu dalam PHP Diberi Nombor Minggu atau Tarikh Tertentu?

Patricia Arquette
Lepaskan: 2024-10-27 01:41:30
asal
105 orang telah melayarinya

How to Calculate the Days of a Week in PHP Given a Week Number or a Specific Date?

Mengira Hari Dalam Seminggu

Apabila diberi nombor minggu, seperti yang diperolehi dari tarikh -u %W, kita mungkin perlu mengira hari dalam minggu itu, bermula dari hari Isnin. Ini membolehkan kami menjana senarai tarikh tertentu dalam minggu itu.

Pelaksanaan PHP

Dalam PHP, kami boleh menggunakan gelung untuk menjana tarikh:

<code class="php">$week_number = 40;
$year = 2008;
for ($day = 1; $day <= 7; $day++) {
    echo date('m/d/Y', strtotime($year . "W" . $week_number . $day)) . "\n";
}
Salin selepas log masuk

Output:

10/06/2008
10/07/2008
10/08/2008
10/09/2008
10/10/2008
10/11/2008
10/12/2008
Salin selepas log masuk

Mendapatkan Tarikh dari Tarikh Diberi

Pendekatan alternatif ialah mendapatkan tarikh minggu tertentu yang diberikan hari tertentu. Sebagai contoh, untuk mendapatkan tarikh minggu yang mengandungi 7 Oktober 2008:

<code class="php">function week_from_monday($date) {
    // Assuming $date is in format DD-MM-YYYY
    list($day, $month, $year) = explode("-", $date);

    // Get the weekday of the given 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;
    }

    // Timestamp of the Monday for that week
    $monday = mktime(0, 0, 0, $month, $day - $numDaysToMon, $year);

    $seconds_in_a_day = 86400;

    // Get date for 7 days from Monday (inclusive)
    for ($i = 0; $i < 7; $i++) {
        $dates[$i] = date('Y-m-d', $monday + ($seconds_in_a_day * $i));
    }

    return $dates;
}
Salin selepas log masuk

Output:

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>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengira Hari dalam Seminggu dalam PHP Diberi Nombor Minggu atau Tarikh Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!