Cara Menentukan Status Hujung Minggu Tarikh dalam PHP
Soalan ini timbul apabila bekerja dengan fungsi yang bertujuan untuk mengenal pasti jika tarikh tertentu jatuh pada hujung minggu. Satu fungsi sedemikian, yang disediakan oleh pengguna, hanya mengembalikan nilai palsu walaupun terdapat parameter yang sah.
Isunya
Fungsi yang disediakan, isweekend(), melaksanakan langkah berikut :
Walau bagaimanapun, ia mengembalikan "palsu" tanpa mengira input tarikh.
Penyelesaian
Terdapat dua penyelesaian alternatif untuk menentukan dengan tepat status hujung minggu tarikh dalam PHP:
Untuk PHP >= 5.1:
function isWeekend($date) { return (date('N', strtotime($date)) >= 6); }
Penyelesaian ini menggunakan date('N') untuk mengembalikan hari dalam minggu sebagai integer, dengan 1 mewakili hari Isnin dan 7 mewakili Ahad. Ia kemudian menyemak sama ada integer ini lebih besar daripada atau sama dengan 6, menunjukkan hujung minggu.
Untuk PHP < 5.1:
function isWeekend($date) { $weekDay = date('w', strtotime($date)); return ($weekDay == 0 || $weekDay == 6); }
Penyelesaian ini menggunakan date('w') untuk mengembalikan hari dalam seminggu sebagai integer, dengan 0 mewakili Ahad dan 6 mewakili Sabtu. Ia kemudian menyemak sama ada integer sama ada 0 atau 6 untuk menentukan sama ada ia adalah hujung minggu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Tentukan dengan Boleh Menentukan sama ada Tarikh Diberikan ialah Hujung Minggu dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!