我正在研究一个计算假期的
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及更高版本中得到纠正.
看起来你只是错过了一个“的”:
echo date('Y-m-d',strtotime('first monday of february 2010'));
将给出expected result.有关各种输入格式,请参阅PHP Manual on Relative dates.