Musíte zadat režim 3 ve volání mysql YEARWEEK:
SELECT YEARWEEK(now(),3);
PHP date()
zástupný symbol W
vrátí číslo týdne podle specifikace ISO 8601
. To znamená, že týdny začínají v pondělí (ne v neděli), první týden v roce je číslo 1 (ne 0) a tento týden je první, který má více než polovinu dnů v novém roce (musí to být leden do čtvrtka). Podle dokumentace k MySQL funkce WEEK
, tato kombinace možností je režim 3.
Také pro vtažení Allesovy poznámky do přijaté odpovědi, protože je to důležité:zástupné symboly Y
a W
nechoďte spolu. Pokud chcete rok, který odpovídá čísle týdne ISO, měli byste použít o
místo Y
. Vezměme si například týden začínající v pondělí 29. prosince 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