如何才能在PHP之前获得一段时间?

时间:2011-11-24 08:38:14

标签: php datetime

我想尝试一段时间,例如今天是"2011-11-24",我希望在今天之前7天获得:

值将是:

"2011-11-23", "2011-11-22", "2011-11-21", "2011-11-20", 
"2011-11-19", "2011-11-18", "2011-11-17"

4 个答案:

答案 0 :(得分:3)

如果我正确地读你,你会想要前七天的每一天。像这样的东西会起作用:

$today = time();
for( $daysAgo = 1; $daysAgo <= 7; $daysAgo++ ) {
    echo date( 'Y-m-d', strtotime( "-$daysAgo days", $today ) ) . '<br />';
}

答案 1 :(得分:1)

$timestamp = strtotime('YYYY-MM-DD - 1 week');

http://php.net/strtotime

答案 2 :(得分:1)

使用新的日期/时间类,您可以执行以下操作:

$p = new DatePeriod(
    new DateTime('now'), 
    DateInterval::createFromDateString('-1 day'), 
    7, 
    DatePeriod::EXCLUDE_START_DATE
);
foreach ($p as $t) {
    echo $t->format('Y-m-d') . '<br />';
}

请参阅DatePeriodDateTimeDateInterval

答案 3 :(得分:0)

$timestamp = time() - (7*60*60*24);

echo date('Y-m-d',$timestamp);