Anda perlu menentukan mode 3 pada panggilan mysql YEARWEEK:
SELECT YEARWEEK(now(),3);
PHP date()
tempat penampung W
mengembalikan nomor minggu sesuai dengan spesifikasi ISO 8601
. Artinya minggu dimulai pada hari Senin (bukan hari Minggu), minggu pertama tahun itu angka 1 (bukan 0), dan minggu itu adalah minggu pertama yang dengan lebih dari setengah hari di tahun baru (jadi harus Januari pada hari Kamis). Menurut dokumentasi untuk MySQL Fungsi WEEK
, kombinasi opsi tersebut adalah mode 3.
Juga, untuk menarik catatan Alles ke dalam jawaban yang diterima karena ini penting:placeholder Y
dan W
jangan pergi bersama. Jika Anda ingin tahun yang sesuai dengan nomor minggu ISO, Anda harus menggunakan o
bukannya Y
. Misalnya, pertimbangkan minggu yang dimulai pada Senin, 29 Desember 2014:
date('YW', mktime(0,0,0,12,29,2014)); #=> 201401 : 1st week of 2014??
date('oW', mktime(0,0,0,12,29,2014)); #=> 201501 : better