如果MySQL的datetime与当前日期时间之间的差异超过60秒,我试图回复一些文本。
但我的代码每次都在显示。
<?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";
}
?>
日期&amp; MySQL中设置的时间为2017-09-17 06:53:39.000000
答案 0 :(得分:0)
time()
为您提供了像1505622974
这样的Unix格式的输出,所以要比较我们需要两个相同格式的时间变量。
<?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";
}
?>