草庐IT

PHP strtotime() "first monday february"如果 2 月 1 日是星期一,则返回第二个星期一

我正在研究计算假期的PHP函数:functionholidays($country=1,$timespan_start=0,$timespan_end=0)假期以数组中的时间戳形式返回。因为我必须计算像二月的第一个星期一这样的日期,所以我尝试了strtotime("firstmondayfebruary$year")并且我发现这对2010年不起作用,因为02/01/2010是星期一-我得到的是2月8日。这个错误实际上在更改日志中提到:在5.2.7之前的PHP5中,如果该工作日是该月的第一天,则请求该月中给定工作日的给定事件会错误地将一周添加到返回的时间戳中。这已在5.2.7及更高版本中

PHP:周从星期一开始,但星期日的 "monday this week"会在下周成为星期一

这里是问题的摘要:在星期日,strtotime('thisweek')返回下周的开始。在PHP中,一周似乎从星期一开始。但是,在星期日以外的任何一天,这段代码echodate('Y-m-d',strtotime('mondaythisweek',strtotime('lastsunday')));输出本周周一的日期,貌似应该输出上周的周一。在这种情况下,PHP似乎将星期日和星期一都视为一周的开始。现在是2012年12月10日星期一或2012-12-10。date('Y-m-d',strtotime('sundaylastweek'))返回2012-12-09-昨天。这是一个错误,还是我
12