我正在使用php时间戳来开发事件日历页面。
在“日历”页面上,我已经编写了一个函数来立即确定一些内容,例如:
$first_of_month = strtotime(date('m',time()).'/01/'.date('Y',time()));
现在 - 使用该月的第一天,我必须确定当天之前的最近一个星期日(星期日从星期日开始),所以我通过它来运行:
date('m/d/Y--D-w',($first_of_month - (date('w',$first_of_month)*86400)))
问题是它没有返回我期望的东西。
目前我们已经在2016年4月。当运行日期(' w')格式时,4月1日将返回5。所以,从那个星期五开始的5天应该是第0天(星期日)。但我星期六到了。
我在这里缺少什么?
答案 0 :(得分:1)
1小时的偏差会让你过夜(明天)吗?我建议您仔细检查服务器偏移量:date_default_timezone_get();
如果错误,请使用date_default_timezone_set('America/Los_Angeles')
(明显取代'America / Los_Angeles'。php: date_default_timezone_set()
只要这是正确的,您可以使用$first_of_month
上的strtotime()获取最后一个星期日:
date('m/d/Y--D-w' ,strtotime('last Sunday',$first_of_month));
答案 1 :(得分:1)