Bagaimana Mengeluarkan Hari dalam Minggu dengan Cekap daripada Nombor Minggu Diberi dalam PHP?

DDD
Lepaskan: 2024-10-26 11:03:02
asal
168 orang telah melayarinya

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

Mengekstrak Hari Dalam Minggu daripada Nombor Minggu Diberi

Mengira hari individu yang jatuh dalam minggu tertentu, diberi nombor minggu yang sepadan , adalah tugas biasa dalam aplikasi berasaskan masa. Panduan ini menyediakan penyelesaian untuk perkara ini dalam PHP menggunakan fungsi tarikh, strtotime dan mktime.

Pelaksanaan PHP

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

Coretan kod ini mula-mula memulakan nombor minggu dan tahun yang sepadan. Kemudian, ia berulang melalui hari dalam seminggu, bermula dari Isnin (hari 1) dan berakhir dengan Ahad (hari ke-7). Untuk setiap hari, ia mengira tarikh yang sepadan menggunakan fungsi strtotime dan mencetaknya dalam format m/d/Y.

Fungsi PHP Tambahan

Sebagai alternatif, PHP lain fungsi, week_from_monday, boleh digunakan untuk mendapatkan tarikh untuk minggu tertentu, bermula dari hari Isnin. Fungsi ini mengambil rentetan tarikh dalam format DD-MM-YYYY sebagai hujah dan mengembalikan tatasusunan tarikh untuk minggu yang sepadan.

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

Fungsi yang dipertingkatkan ini membolehkan lebih fleksibiliti dalam mendapatkan semula tarikh sesuatu minggu, diberikan tarikh tertentu dalam minggu tersebut.

Atas ialah kandungan terperinci Bagaimana Mengeluarkan Hari dalam Minggu dengan Cekap daripada Nombor Minggu Diberi dalam PHP?. 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
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!