php:今天到2010-05-08 21:04:06,我怎么能把这个时间长度除以30天?

时间:2010-01-10 03:57:58

标签: php date

从时间长度

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');

}

2 个答案:

答案 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”。