Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menentukan Bilangan Minggu Hari Dalam Sebulan dalam PHP?

Bagaimana untuk Menentukan Bilangan Minggu Hari Dalam Sebulan dalam PHP?

DDD
DDDasal
2024-11-14 18:42:021015semak imbas

How to Determine the Week Number of a Day Within a Month in PHP?

Cara Menentukan Bilangan Minggu Hari Dalam Sebulan dalam PHP

Menentukan nombor minggu hari tertentu dalam tempoh sebulan boleh menjadi tugas yang mencabar. Artikel ini menyediakan penyelesaian terperinci kepada masalah ini dalam PHP, membolehkan anda mengenal pasti nombor minggu dengan mudah untuk mana-mana tarikh tertentu.

Penyelesaian:

Fungsi PHP yang disediakan, getWeeks(), mengira bilangan minggu ke dalam bulan untuk tarikh tertentu. Ia memerlukan dua parameter:

  • $date: Tarikh dalam format YYYY-MM-DD.
  • $rollover: Hari di mana minggu berlalu (cth., "ahad" atau "isnin").

The fungsi berfungsi dengan terlebih dahulu mengekstrak tahun dan bulan dari tarikh dan mengira bilangan hari antara tarikh yang ditentukan dan hari pertama bulan itu. Ia kemudiannya berulang sepanjang hari dalam bulan, menyemak sama ada setiap hari jatuh pada hari peralihan yang ditentukan. Jika ya, ia menambah kiraan minggu.

Contoh Penggunaan:

<?php

    /**
     * Returns the amount of weeks into the month a date is
     * @param $date a YYYY-MM-DD formatted date
     * @param $rollover The day on which the week rolls over
     */
    function getWeeks($date, $rollover)
    {
        $cut = substr($date, 0, 8);
        $daylen = 86400;

        $timestamp = strtotime($date);
        $first = strtotime($cut . "00");
        $elapsed = ($timestamp - $first) / $daylen;

        $weeks = 1;

        for ($i = 1; $i <= $elapsed; $i++)
        {
            $dayfind = $cut . (strlen($i) < 2 ? '0' . $i : $i);
            $daytimestamp = strtotime($dayfind);

            $day = strtolower(date("l", $daytimestamp));

            if($day == strtolower($rollover))  $weeks ++;
        }

        return $weeks;
    }


    //
    echo getWeeks("2011-06-11", "sunday"); //outputs 2, for the second week of the month
?>

Penjelasan:

Contoh di atas memanggil fungsi getWeeks() dengan tarikh "2011-06-11" dan hari peralihan "ahad". Keputusannya ialah 2, menunjukkan bahawa 11 Jun 2011 jatuh pada minggu kedua bulan Jun untuk peralihan pada hari Ahad.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Bilangan Minggu Hari Dalam Sebulan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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