Проверьте, прошло ли время с даты, превышающей X дней

Мне нужно создать PHP-скрипт, который извлекает временные метки из разных вещей из базы данных (журналы, сообщения, логины и т. Д.) И удаляет их, если они старше X дней. Я плохо справляюсь со временем и немного озадачен лучшим способом сделать это.

Я понимаю, что могу разделить день / месяц / год в строке с помощью explode () и сравнить их с кучей операторов If, но хотел бы использовать более эффективный метод. Что-то вроде следующего будет правильным способом сделать это правильно?

$dt = "2011-03-19 10:05:44";

//if $dt is older than 90 days
if((time()-(60*24*90)) > strtotime($dt))
{

}

Вычтите (минуты * часы * дни) из времени () или числа неверны?

3

Решение

Ты можешь использовать DateTime класс для этого. Пример:

$dt = "2011-03-19 10:05:44";
$date = new DateTime($dt);
$now = new DateTime();
$diff = $now->diff($date);
if($diff->days > 90) {
echo 'its greater than 90 days';
}
7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]