有人可以解释一下,为什么这两个不同的结果?
我用PHP执行这个.
date("YW",mktime(0,3,22,2013)); // outputs 201312
当我用MysqL执行这个
SELECT YEARWEEK(now()); // outputs 201311
您需要在MysqL YEARWEEK调用上指定模式3:
原文链接:https://www.f2er.com/php/139025.htmlSELECT YEARWEEK(now(),3);
PHP date()占位符W根据ISO 8601 specification返回周号.这意味着星期一(不是星期日)的星期开始,一年的第一个星期是数字1(不是0),而那周是第一个新年至少4天(所以这是包含新年第一个星期四的一周).根据the documentation for the MySQL WEEK function,该组合的选项是模式3.
而且,将Alles的笔记拉入可接受的答案,因为重要的是:占位符Y和W不会在一起.如果您想要ISO周数的年份,您应该使用o而不是Y.例如,请考虑2014年12月29日星期一:
date('YW',12,29,2014)); #=> 201401 : 1st week of 2014?? date('oW',2014)); #=> 201501 : better