如果2月1日是星期一,PHP strtotime()“第一个星期一2月”将返回第二个星期一

前端之家收集整理的这篇文章主要介绍了如果2月1日是星期一,PHP strtotime()“第一个星期一2月”将返回第二个星期一前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究一个计算假期的 PHP函数
function holidays($country = 1,$timespan_start = 0,$timespan_end = 0)

假日作为数组中的时间戳返回.

由于我必须计算2月的第一个星期一的日期,我尝试了strtotime(“第一个星期一2月$年”)并且我发现这不适用于2010年,因为2010年1月2日是星期一 – 我得到2月8日代替.

更改日志中实际提到了此错误
在5.2.7之前的PHP 5中,请求在该工作日是该月的第一天的一个月中给定工作日的给定事件将错误地将一周添加到返回的时间戳.这已在5.2.7及更高版本中得到纠正.

但我使用的是PHP 5.3.8.
为什么我遇到此错误

看起来你只是错过了一个“的”:
echo date('Y-m-d',strtotime('first monday of february 2010'));

将给出expected result.有关各种输入格式,请参阅PHP Manual on Relative dates.

猜你在找的PHP相关文章