我尝试使用以下代码计算一周:
$lastSun = strtotime('last Sunday');
WriteLine("Last Sunday: ".date('Y.m.d',$lastSun));
WriteLine(date('d.m.Y',$lastSun).' +1 days= '.date('d.m.Y',strtotime("+1 days last Sunday")));
WriteLine(date('d.m.Y',$lastSun).' +2 days= '.date('d.m.Y',strtotime("+2 days last Sunday")));
WriteLine(date('d.m.Y',$lastSun).' +3 days= '.date('d.m.Y',strtotime("+3 days last Sunday")));
WriteLine(date('d.m.Y',$lastSun).' +4 days= '.date('d.m.Y',strtotime("+4 days last Sunday")));
WriteLine(date('d.m.Y',$lastSun).' +5 days= '.date('d.m.Y',strtotime("+5 days last Sunday")));
WriteLine(date('d.m.Y',$lastSun).' +6 days= '.date('d.m.Y',strtotime("+6 days last Sunday")));
WriteLine(date('d.m.Y',$lastSun).' +7 days= '.date('d.m.Y',strtotime("+7 days last Sunday")));
但是,如果在基准日期增加7天,我会有一个令人惊讶的结果:
Last Sunday: 2013.12.16
16.12.2013 +1 days= 16.12.2013
16.12.2013 +2 days= 17.12.2013
16.12.2013 +3 days= 18.12.2013
16.12.2013 +4 days= 19.12.2013
16.12.2013 +5 days= 20.12.2013
16.12.2013 +6 days= 21.12.2013
16.12.2013 +7 days= 29.12.2013
我也用硬编码日期而不是'最后一个星期日'尝试了它,但结果仍然相同,增加了14天而不是7天。 那么我错过了什么或使用strtotime()函数做了什么?
答案 0 :(得分:3)
试试这个,
$sunday=strtotime("last Sunday");
$date = strtotime("+7 day", $sunday);
答案 1 :(得分:1)
你可以给strtotime一个参数来计算给定的字符串。
strtotime("+7 days", $lastSun)