определить, если дата старше 30 дней - PullRequest
58 голосов
/ 20 августа 2011

Строка даты выглядит следующим образом

2011-08-19 17:14:40

(год-месяц-день, часы: минуты: секунды)

Как узнать, соответствует ли датастарше текущей даты более чем на 30 дней?

Ответы [ 4 ]

124 голосов
/ 20 августа 2011

Попробуйте использовать что-то вроде этого:

 if(strtotime('2011-08-19 17:14:40') < strtotime('-30 days')) {
     // this is true
 }

Кроме того, эта строка выглядит так, как будто она хранится в SQL как поле даты / времени.Вы можете напрямую выбрать все записи из вашей базы данных со старыми датами, используя:

SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()
24 голосов
/ 02 декабря 2016

Если вы используете PHP 5.3 или выше, вы можете сделать:

$someDate = new \DateTime('2011-08-19 17:14:40');
$now = new \DateTime();

if($someDate->diff($now)->days > 30) {
   echo 'The date was more than 30 days ago.';
}
6 голосов
/ 03 июля 2015

Вы можете использовать углерод следующим образом

if (30 - ((new \Carbon\Carbon($given_date, 'UTC'))->diffInDays()) < 0) {
    echo "The date is older than 30 days";
}
1 голос
/ 20 августа 2011
strtotime('2011-08-19 17:14:40') + 30 * 24 * 60 * 60 < time();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...