如果自时间戳开始超过3天,则执行操作

时间:2015-01-22 16:09:24

标签: php date timestamp date-math

我在$user_timestamp中存储了一个特定的时间戳,例如1421942631。我将当前时间戳存储在$current_timestamp中。

我想将此变量中的时间戳与当前时间戳进行比较,并检查它是否已经过了3天。如果有,那就行动吧。

如何在基本的if声明中执行此操作?

2 个答案:

答案 0 :(得分:1)

虽然我通常建议使用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 :(得分:1)

无需转换或使用其他功能。 3天= 259200秒,所以这应该有效:

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