Если с момента отметки времени прошло более 3 дней, выполните действие

У меня есть конкретная временная метка, хранящаяся в $user_timestampкоторый может быть, например, 1421942631, И у меня есть текущая метка времени, хранящаяся в $current_timestamp,

Я хочу сравнить отметку времени в этой переменной с текущей отметкой времени и проверить, прошло ли оно 3 дня. Если это так, то действуй.

Как я могу сделать это в основном if заявление?

0

Решение

Хотя я обычно рекомендую использовать DateTime для математики даты, вы можете просто использовать относительные форматы с strtotime() чтобы было проще.

if($user_timestamp < strtotime('-3 days')) {
// three days ago or more
}

Но вот пример DateTime для полноты картины.

$userTimestamp = new DateTime('@'.$user_timestamp);
$threeDaysAgo  = new DateTime('-3 days');
if ($userTimestamp < $threeDaysAgo) {
// three days ago or more
}
1

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

Нет необходимости конвертировать его или использовать другую функцию. 3 дня = 259200 секунд, так что это должно работать:

if( $user_timestamp < ( $current_timestamp-259200 ) ){
1

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