gpt4 book ai didi

PHP 日期 ('W' ) 与 MySQL YEARWEEK(now())

转载 作者:IT老高 更新时间:2023-10-29 00:12:53 25 4
gpt4 key购买 nike

有人可以解释一下为什么这两个结果不同吗?

我用 PHP 执行它。

date("YW",mktime(0, 0, 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),并且该周是第一个在新年中有超过一半天数的周(所以它必须是一月星期四)。根据the documentation for the MySQL WEEK function ,该选项组合是模式 3。

此外,将 Alles 的注释拉入接受的答案,因为它很重要:占位符 YW 不能一起使用。如果您希望年份与 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

关于PHP 日期 ('W' ) 与 MySQL YEARWEEK(now()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15562270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com