Bagaimana untuk Menentukan Bilangan Minggu Hari Dalam Sebulan dalam PHP?

DDD
Lepaskan: 2024-11-14 18:42:02
asal
938 orang telah melayarinya

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

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!

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