简体   繁体   English

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

[英]Comparison between two timestamps in query

I want to run a cronjob which check in db table where timespamp is less than current time + 1 month. 我想运行一个cronjob,它检查timesamp小于当前时间+ 1个月的数据库表。 But not sure how can i do that. 但是不知道我该怎么做。

I have tried something but that not works. 我尝试了一些东西,但是没有用。

$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 date / datetime字段,则不要使用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);

your 'sdate' column must be in Ymd H:i:s format (2013-08-02 16:02:45) 您的“日期”列必须采用Ymd H:i:s格式(2013-08-02 16:02:45)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM