查询中两个时间戳之间的比较


Comparison between two timestamps in query

我想运行一个cronjob,它检查数据库表中的timespamp小于当前时间+1个月。但我不知道该怎么做。

我试过一些东西,但不起作用。

$buy_time=strtotime($row['sdate']);
$current_time= strtotime("now");
$diff=$current_time - $buy_time; 
$SQL = "UPDATE product SET status=0 WHERE sdate <'$diff'";
$res= mysqli_query($link,$SQL);

假设sdate字段使用本地mysql日期/日期时间字段,则不使用PHP生成日期并将其粘贴到查询中,而是直接在mysql中完成:

... WHERE sdate >= (NOW() - INTERVAL 1 MONTH)
$currentTime = time();
$timePlusMonth = $currentTime+30*24*60*60; //30 days * 24 hours * 60 minutes * 60 seconds
$timePlusMonth = date("Y-m-d H:i:s", $timePlusMonth);
$query = "UPDATE product SET status=0 WHERE sdate < '$timePlusMonth'";
mysqli_query($link, $query);

您的"sdate"列必须为Y-m-d H:i:s格式(2013-08-02 16:02:45)