Как я могу получить период времени до даты сейчас в php? - PullRequest
0 голосов
/ 24 ноября 2011

Я пытаюсь получить период времени с датой, такой как сегодня "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 ]

3 голосов
/ 24 ноября 2011

Если я правильно вас читаю, вы хотите каждый из предыдущих семи дней. Примерно так будет работать:

$today = time();
for( $daysAgo = 1; $daysAgo <= 7; $daysAgo++ ) {
    echo date( 'Y-m-d', strtotime( "-$daysAgo days", $today ) ) . '<br />';
}
1 голос
/ 24 ноября 2011

Используя новые классы даты / времени, вы можете сделать следующее:

$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 />';
}

См. DatePeriod, DateTime и DateInterval.

1 голос
/ 24 ноября 2011
$timestamp = strtotime('YYYY-MM-DD - 1 week');

http://php.net/strtotime

0 голосов
/ 24 ноября 2011
$timestamp = time() - (7*60*60*24);

echo date('Y-m-d',$timestamp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...