从时间长度
2010-01-09 21:04:06 **to** 2010-02-08 21:04:06
如何在每30天间隔获得日期+时间?
所以我应该
2010-02-09 21:04:06
2010-03-09 21:04:06
2010-04-09 21:04:06
2010-05-08 21:04:06
每天,脚本会检查今天的日期,看看它是否与上述相符。如果匹配更新了今天之前添加的所有行。
$point1 = "2010-02-09 21:04:06"
if (date("Y-m-d h:m:s") >= $point1){
mysql_query('UPDATE table SET status='checked' WHERE lastadded < $point1');
}
答案 0 :(得分:2)
从今天开始30天可以通过strtotime()
快速完成。
$nextMonth = date("Y-m-d H:i:s" ,strtotime("+30 days"));
除非你有充分的理由使用PHP,否则我建议使用MySQL来完成这项任务,因为它不会依赖外部逻辑进行查询。
答案 1 :(得分:1)
我建议让MySQL使用以下查询为您执行此操作:
UPDATE table SET status='checked'
WHERE lastadded < DATE_SUB(NOW(), INTERVAL 30 DAY);
在英语中,这会更新每一行超过30天前的“lastadded”。