PHP日期(‘W’)vs MySQL YEARWEEK(now())

前端之家收集整理的这篇文章主要介绍了PHP日期(‘W’)vs MySQL YEARWEEK(now())前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以解释一下,为什么这两个不同的结果?

我用PHP执行这个.

date("YW",mktime(0,3,22,2013)); // outputs 201312

当我用MysqL执行这个

SELECT YEARWEEK(now()); // outputs 201311
您需要在MysqL YEARWEEK调用上指定模式3:
SELECT 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
原文链接:https://www.f2er.com/php/139025.html

猜你在找的PHP相关文章