为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
墨色风雨 2022-08-05 16:50:54
我有一个提交列表,每个列表都有自己的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方面不强。
查看完整描述

1 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

将日期逻辑放在 SQL 中,您不需要以下行:

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

更改您的子句:where

$query->where($db->quoteName('last_updated') . ' >= DATE_SUB(CURDATE(), INTERVAL 30 DAY');

我们使用 SQL 函数从给定日期中减去时间跨度。我们用于获取当前日期,然后设置要减去的时间跨度。DATE_SUB()CURDATE()INTERVAL 30 DAY

您也可以只使用:

$query->where($db->quoteName('last_updated') . ' >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)');

有关此功能的更多信息,请单击此处


查看完整回答
反对 回复 2022-08-05
  • 1 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信