Php 查询中两个时间戳的比较
我想运行一个cronjob,它签入数据库表,其中timespamp小于当前时间+1个月。 但我不知道我该怎么做 我试过一些东西,但不管用Php 查询中两个时间戳的比较,php,mysql,Php,Mysql,我想运行一个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_qu
$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);
$buy_time=strottime($row['sdate']);
$current_time=strottime(“现在”);
$diff=$current\u time-$buy\u time;
$SQL=“UPDATE product SET status=0,其中sdate假设您正在为该sdate
字段使用本机mysql日期/日期时间字段,那么不要使用PHP生成日期并将其粘贴到查询中,直接在mysql中执行所有操作:
... WHERE sdate >= (NOW() - INTERVAL 1 MONTH)
$currentTime=time();
$timePlusMonth=$currentTime+30*24*60*60;//30天*24小时*60分钟*60秒
$timePlusMonth=日期(“Y-m-d H:i:s”,$timePlusMonth);
$query=“更新产品集状态=0,其中sdate<'timePlusMonth';
mysqli_查询($link,$query);
您的'sdate'列必须采用Y-m-d H:i:s格式(2013-08-02 16:02:45)您的sdate
列的数据类型中,$row['sdate']是什么格式?这个问题的一些答案看起来似乎适合您:并使用DATE(FROM_UNIXTIME(sdate))
如果sdate
是unix时间戳,我想更新状态,其中sdate currenttime>1个月
如果您在3月1日运行,则会出现严重故障。您将在1月份返回,并在两个月后停止运行。thn该怎么办…我这样做是为了取消Xption上的产品
$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);