检查date()是否大于特定时间

时间:2018-02-24 05:32:57

标签: php pdo

在我的代码中,我几乎使用

将令牌发送到数据库
date('Y-m-d H:i:s');

功能。但我正在检查我发送的时间戳是否大于60秒,如果是这样我回应是,否则没有。我一直没有,我知道它超过一分钟,因为我的时间。我已经看过关于这个的帖子,但他们正在使用特定日期,我只是在用户提交表单并检查令牌是否为60秒时继续。这是我的代码

PHP

<?php
    require_once('db_login.php');

    $stmtToken = $handler->prepare("SELECT * FROM email_token");
    $stmtToken->execute();
    $rowToken = $stmtToken->fetch();
    $date = $rowToken['time_stamp'];

     if($date > time() + 60) {
        echo 'yes';
     } else {
        echo 'no';
     }






?>

1 个答案:

答案 0 :(得分:2)

您还可以用不同的方式玩日期。这里的所有四行都是等效的:

$now = (new \DateTime(date('Y-m-d H:i:s')))->getTimestamp();
$now = (new \DateTime('now'))->getTimestamp();
$now = (new \DateTime())->getTimestamp();
$now = time();

然后你可以用这种方式进行比较:

$tokenExpirationTimestamp = (new \DateTime($date))
    ->modify('+60 seconds')
    ->getTimestamp();

$isTokenExpired = $tokenExpirationTimestamp < time();

if ($isTokenExpired) {
    // ...
}