найдите, если дата старше 30 дней
Строка даты выглядит следующим образом
2011-08-19 17:14:40
(год-месяц-день часы: минуты: секунды)
Как я могу узнать, старше ли дата текущей даты более чем на 30 дней?
48
4 answers
Попробуйте использовать что-то вроде этого:
if(strtotime('2011-08-19 17:14:40') < strtotime('-30 days')) {
// this is true
}
Кроме того, эта строка выглядит так, как будто она хранится в SQL как поле даты, времени и метки времени. Вы можете напрямую выбрать все записи из своей базы данных со старыми датами, используя:
SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()
114
Author: RiaD, 2015-11-02 11:02:54
Если вы используете 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.';
}
11
Author: Collin Krawll, 2016-12-02 01:59:09
Вы можете использовать углерод следующим образом
if (30 - ((new \Carbon\Carbon($given_date, 'UTC'))->diffInDays()) < 0) {
echo "The date is older than 30 days";
}
7
Author: Shriganesh Shintre, 2015-07-02 22:27:28
strtotime('2011-08-19 17:14:40') + 30 * 24 * 60 * 60 < time();
2
Author: gion_13, 2011-08-20 09:00:12