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`

または、2 時間以上前に更新された行を返そうとしている場合:

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 に答える