30(月)日后更新数据库记录

我有一个提交列表,每个列表都有自己的date_added,我每天都在运行cron,并检查date_added是否>= 30天。

我每天都在寻找正确的日期检查(cron),所以如果date_added>= 30天,那么必须发生一些事情。

日期格式: 2019-12-14 08:38:09

我的代码:

$afterMonth = date("Y-m-d H:i:s", strtotime("+1 months"));

查询比较:

$query->where($db->quoteName('last_updated') . ' >= ' . $db->quote($afterMonth));

我只是在测试<=,它工作得很好,但不知道如何测试>=或者它是否有效。

建议我更好的代码,请因为我在php方面不强。


墨色风雨
浏览 116回答 1
1回答

烙印99

将日期逻辑放在 SQL 中,您不需要以下行:$afterMonth&nbsp;=&nbsp;date("Y-m-d&nbsp;H:i:s",&nbsp;strtotime("+1&nbsp;months"));更改您的子句:where$query->where($db->quoteName('last_updated')&nbsp;.&nbsp;'&nbsp;>=&nbsp;DATE_SUB(CURDATE(),&nbsp;INTERVAL&nbsp;30&nbsp;DAY');我们使用 SQL 函数从给定日期中减去时间跨度。我们用于获取当前日期,然后设置要减去的时间跨度。DATE_SUB()CURDATE()INTERVAL 30 DAY您也可以只使用:$query->where($db->quoteName('last_updated')&nbsp;.&nbsp;'&nbsp;>=&nbsp;DATE_SUB(CURDATE(),&nbsp;INTERVAL&nbsp;1&nbsp;MONTH)');有关此功能的更多信息,请单击此处
打开App,查看更多内容
随时随地看视频慕课网APP