PHP MYSQL与数据库中创建的时间进行比较

时间:2014-02-11 14:12:30

标签: php mysql

我想检查数据库中created次后是否过了30分钟。 created是一个时间列,其格式为1374766406

我尝试用date('m-d-y H:i, $created)检查,但当然它提供了人类可读的输出,因此如果当前时间未到达created时间的30分钟,则不知道如何执行检查。< / p>

if(created > 30){}

这样的东西

3 个答案:

答案 0 :(得分:3)

试试这个:

$created = // get value of column by mysql and save it here.

if ($created >= strtotime("-30 minutes")) {
    // its over 30 minutes old
}

答案 1 :(得分:1)

更好的方法是使用DateTime for(PHP 5&gt; = 5.3.0)

$datenow = new DateTime();
$datenow->getTimestamp();

$datedb = new DateTime();
$datedb->setTimestamp(1374766406);

$interval = $datenow->diff($datedb);
$minutes = $interval->format('%i');

$ minutes会在几分钟内给你差异,点击此处查看更多

http://in3.php.net/manual/en/datetime.diff.php

这是工作代码

http://phpfiddle.org/main/code/jxv-eyg

答案 2 :(得分:0)

你需要使用strtotime();要将人体形式的日期转换回时间戳,那么您可以进行比较。

编辑:也许我误读了。

就像这样;

if(($epoch_from_db - time()) >= 1800){
    //do something
}