0

可能重复:
使用 php 和 mysql 以小时为单位计算日期差异

我有一个 MySQL 表,其中有一列some_column。此列设置为datetime,更新时更新为NOW()

我想要做的是查询数据库,即some_column值,并检查其中的任何内容与查询时的时间之间的时间差。我想看看是否超过了2个小时。

我如何用 PHP 做到这一点?还是我用 MySQL 来做?

4

3 回答 3

3

看看TIMEDIFF功能

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff

于 2012-04-14T14:40:34.933 回答
2
SELECT IF(TIMEDIFF(NOW(),`some_column`) > '02:00:00',1,0) FROM `table`

或者,如果您尝试返回两个多小时前更新的行:

SELECT * FROM `table` WHERE `some_column` < DATE_ADD(NOW(),INTERVAL -2 HOUR)
于 2012-04-14T14:41:02.803 回答
1
<?php 

$time = // Run query to get datetime value from db

$time = strtotime($time);

$dif = time()-$time;

$dif = date('H', $dif);

if($dif >= 2) 
{
    // Do something
}

?>
于 2012-04-14T14:44:48.363 回答