PHP 从 2014 年 9 月 16 日开始计算时返回错误的年份和周结果


php returns wrong result for Year and Week when calculating from 16th sept 2014

$date = strtotime("2014-09-16");
echo "Date=".date('YW', strtotime('+15 weeks',$date));

这导致了201401这显然是错误的。

我正在构建一个需要跨越日期期间的假日日历跨越一年多,这是行不通的。好像有问题在一年有 53 周的途中日期内。

任何帮助/解决方法都会很棒。

你上周在今年"选择"了,明年又有新的弱者。日期仍然是2014年,但周属于iso-8601年2015。因此,如果您希望将日期格式化为 ISO-8601 年,而不是日期年份,请使用 o 而不是 Y

$date = strtotime("2014-09-16");
echo "Date=".date('oW', strtotime('+15 weeks',$date));

演示