我想检查数据库中created
次后是否过了30分钟。 created
是一个时间列,其格式为1374766406
我尝试用date('m-d-y H:i, $created)
检查,但当然它提供了人类可读的输出,因此如果当前时间未到达created
时间的30分钟,则不知道如何执行检查。< / p>
像if(created > 30){}
答案 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
这是工作代码
答案 2 :(得分:0)
你需要使用strtotime();要将人体形式的日期转换回时间戳,那么您可以进行比较。
编辑:也许我误读了。就像这样;
if(($epoch_from_db - time()) >= 1800){
//do something
}