比较PHP中的两个时间戳

时间:2018-09-23 14:08:02

标签: php html datetime mysqli

我正在尝试防止我的联系表中的垃圾邮件。当任何人使用联系表进行联系时,我会将其IP地址保存在当前时间的数据库中。如果有人尝试联系,我正在检查数据库中的IP,并且在数据库中是否有IP地址条目,我正在获取它的时间戳并将其与当前时间戳进行比较,但是我认为它有问题,并且给了我错误的时间,因此用户仍然能够发送消息。

我已经如下定义了TimeZone

define('TIMEZONE', 'Asia/Kolkata');
date_default_timezone_set(TIMEZONE);
$date = date('Y/m/d h:i:s', time());

我正在与php中的echo一样在数据库中插入写入时间。

现在我正在获取和比较下面的两个时间

$last_time = $row['time'];
$current_time = $date;

    if(($current_time-strtotime($last_time )) > 1800) {
    //send mail
    }
    else {
    // give error
    }

我已经尝试过两次回声,并且得到这样的结果

$last_time = 2018-09-23 07:56:37
$current_time = 2018/09/23 07:56:51
($current_time-strtotime($last_time ) = -1537667579

我不知道这是怎么回事。

让我知道它是否有问题。

1 个答案:

答案 0 :(得分:0)

还将当前时间转换为strtotime。确保两个日期格式应该相同

define('TIMEZONE', 'Asia/Kolkata');
date_default_timezone_set(TIMEZONE);
$date = date('Y/m/d h:i:s', time());

$last_time = $row['time'];
$current_time = $date;

if((strtotime($current_time)-strtotime($last_time )) > 1800) {
//send mail
}
else {
// give error
}