Строка даты выглядит так:
2011-08-19 17:14:40
(год-месяц-день: минуты: секунды)
Как узнать, является ли дата старше текущей даты более чем за 30 дней?
Попробуйте использовать что-то вроде этого:
if(strtotime('2011-08-19 17:14:40') < strtotime('-30 days')) { // this is true }
Кроме того, эта строка выглядит так, как будто она хранится в SQL как поле даты и времени. Вы можете напрямую выбрать все записи из своей базы данных со старыми датами, используя:
SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()
Вы можете использовать Carbon следующим образом
if (30 - ((new \Carbon\Carbon($given_date, 'UTC'))->diffInDays()) < 0) { echo "The date is older than 30 days"; }
Если вы используете 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.'; }
strtotime('2011-08-19 17:14:40') + 30 * 24 * 60 * 60 < time();