加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:52:31 所属栏目:PHP教程 来源:网络整理
导读:有人可以解释一下,为什么这两个不同的结果? 我用PHP执行这个. date("YW",mktime(0,3,22,2013)); // outputs 201312 当我用MySQL执行这个 SELECT YEARWEEK(now()); // outputs 201311 您需要在mysql YEARWEEK调用上指定模式3: SELECT YEARWEEK(now(),3); PH
有人可以解释一下,为什么这两个不同的结果?

我用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读