php判断某日期是哪一年的第几周(mysql也有类似函数)

在判断某一天是哪一年的第几周的时候,根据采用的国际标准(忘了叫什么名字了),年首或者年末的那几天有可能不属于今年的第一周或者最后一周。

上代码:

echo date("YW",strtotime("20220101"))."\n";

?>

----------输出----------

202253

明白问题所在了么?

自己曾经写过一段代码来解决这个问题,直到后来发现把Y换成o,问题就解决了

echo date("oW",strtotime('20160101'))."\n";

----------输出----------

202152

?>

date   参数 o

oISO-8601 格式年份数字。这和 Y 的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加)Examples: 1999 or 200

mysql  DATE_FORMAT()  参数  %x

%x年,其中的星期一是周的第一天,4 位,与 %v 使用

你可能感兴趣的:(php判断某日期是哪一年的第几周(mysql也有类似函数))