Получите отметку времени ровно неделю назад в PHP?

Мне нужно вычислить метку времени ровно 7 дней назад с помощью PHP, поэтому, если это в настоящее время 25 марта в 7:30 вечера, она вернет отметку времени 18 марта в 19:30.

Должен ли я просто вычесть 604800 секунд из текущей метки времени или есть лучший метод?

Solutions Collecting From Web of "Получите отметку времени ровно неделю назад в PHP?"

strtotime("-1 week") 

strtotime – твой друг

 echo strtotime("-1 week"); 

http://php.net/strtotime

 echo strtotime("-1 week"); 

На PHP.net приведен следующий пример:

 <?php $nextWeek = time() + (7 * 24 * 60 * 60); // 7 days; 24 hours; 60 mins; 60secs echo 'Now: '. date('Ym-d') ."\n"; echo 'Next Week: '. date('Ym-d', $nextWeek) ."\n"; // or using strtotime(): echo 'Next Week: '. date('Ym-d', strtotime('+1 week')) ."\n"; ?> 

Изменение + на – на первой (или последней) строке получит то, что вы хотите.

Из PHP 5.2 вы можете использовать DateTime :

 $timestring="2015-03-25"; $datetime=new DateTime($timestring); $datetime->modify('-7 day'); echo $datetime->format("Ymd"); //2015-03-18 

Вместо создания DateTime со строкой вы можете установитьTimestamp непосредственно на объект:

 $timestamp=1427241600;//2015-03-25 $datetime=new DateTime(); $datetime->setTimestamp($timestamp); $datetime->modify('-7 day'); echo $datetime->format("Ymd"); //2015-03-18 
 <?php $before_seven_day = $date_timestamp - (7 * 24 * 60 * 60) // $date_timestamp is the date from where you found to find out the timestamp. ?> 

вы также можете использовать функцию string to time для преобразования даты в метку времени. как

 strtotime(23-09-2013);