2009-12-30 3 views
5

Учитывая время, как я могу найти время месяц назад.Дано время, как я могу найти время месяц назад

+0

Под «одним месяцем» вы имеете в виду 30 дней до второго? Или вы хотите настроить 28 или 29-дневный февральский вопрос? – fennec

+0

Можете ли вы быть более конкретным? Например, если это 24 часа в сутки, 29 декабря, не будет ли месяц назад быть 2:00 вечера 29 ноября? – justinl

ответ

15
strtotime('-1 month', $timestamp); 

http://php.net/manual/en/function.strtotime.php

+2

BEWARE: Это приведет к неожиданным результатам в конце 31-дневного месяца и марта. http://derickrethans.nl/obtaining-the-next-month-in-php.html –

1
<?php 

$date = new DateTime("18-July-2008 16:30:30"); 
echo $date->format("d-m-Y H:i:s").'<br />'; 

date_sub($date, new DateInterval("P1M")); 
echo '<br />'.$date->format("d-m-Y").' : 1 Month'; 

?> 
1

Мы можем достичь же с помощью современной обработки дат в PHP. Для этого потребуется PHP 5.2 или выше.

// say its "2015-11-17 03:27:22" 
$dtTm = new DateTime('-1 MONTH', new DateTimeZone('America/Los_Angeles')); // first argument uses strtotime parsing 
echo $dtTm->format('Y-m-d H:i:s'); // "2015-10-17 03:27:22" 

Надеюсь, что это добавит дополнительную информацию по этому вопросу.