如果MySQL的日期时间与当前日期时间之间的差异超过六十秒,则尝试回显一些文本。
但是我的代码每次都会显示。
<?php
session_start();
require_once 'class.php';
$reg = new USER();
$stmt = $reg->runQuery("SELECT * FROM validation WHERE vid=2");
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$usrmail = $row['vdate'];
$login_session_durations = 60;
if(((time() - $usrmail) > $login_session_durations)) {
echo "Ok";
}
?>
在MySQL中设置的日期和时间为
2017-09-17 06:53:39.000000
最佳答案
time()
为您提供Unix格式(如1505622974
)的输出,因此要进行比较,我们需要两个时间变量都采用相同的格式。
<?php
session_start();
require_once 'class.php';
$reg = new USER();
$stmt = $reg->runQuery("SELECT * FROM validation WHERE vid=2");
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$usrmail = $row['vdate']; //The format for vdate: 2017-09-17 06:53:39.000000
$login_session_durations = 60; //In Seconds
if(((time() - strtotime($usrmail)) > $login_session_durations)) {
echo "Ok";
}
?>