mysql YEARWEEK呼び出しでモード3を指定する必要があります:
SELECT YEARWEEK(now(),3);
PHPのdate()
プレースホルダーW
ISO8601仕様
に従って週番号を返します 。つまり、週は月曜日(日曜日ではなく)に始まり、その年の最初の週は1番(0ではない)であり、その週は新年の半日以上の最初の週です(したがって、1月である必要があります)。木曜日までに)。 MySQLのドキュメントによるとWEEK関数
、そのオプションの組み合わせはモード3です。
また、重要であるため、Allesのメモを受け入れられた回答に取り込むには:プレースホルダーY
およびW
一緒に行かないでください。 ISOの週番号と一致する年が必要な場合は、o
を使用する必要があります Y
の代わりに 。たとえば、2014年12月29日月曜日から始まる週を考えてみましょう。
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