最简单的办法是获得对应于今天时间戳,使用time()功能;和7次删除1天至该时间戳,每个呼应对应于该时间戳记日期:
$timestamp = time();
for ($i = 0 ; $i < 7 ; $i++) {
echo date('Y-m-d', $timestamp) . '
';
$timestamp -= 24 * 3600;
}
这将让你的输出:
2010-02-25
2010-02-24
2010-02-23
2010-02-22
2010-02-21
2010-02-20
2010-02-19
因为时间戳仅代表秒数自1970-01-01开始,一天减去时间戳意味着减去24*3600秒。评论后
编辑:
对于月份和星期的变化,这仍然将工作:一天仍然是24 * 3600秒。
例如,如果你测试使用该行,而不是第一个我张贴在我的第一个例子:
$timestamp = strtotime('2010-02-03');
你会得到这样的输出:
它改变了一个月精细。
闰年,如果我测试使用这样的:
$timestamp = strtotime('2008-03-03');
我得到:
2008-03-03
2008-03-02
2008-03-01
2008-02-29
2008-02-28
2008-02-27
2008-02-26
也很正常,因为在2月29日日子是2008年
如果我测试:
$timestamp = strtotime('2009-03-03');
我得到:
2009-03-03
2009-03-02
2009-03-01
2009-02-28
2009-02-27
2009-02-26
2009-02-25
也很正常了。