PHP查看最后发送的'日期是30天以前

时间:2013-08-12 20:11:10

标签: php

我有这个PHP代码:

$last_sent=strtotime('2013-08-12');
if($last_sent < strtotime('now +30 days'))
{
    echo 'send survey';
}
else
{
    echo 'dont send survey';
}

我需要查看$last_sent日期是30天前还是30天以前。这似乎不起作用。

ii将最后发送的日期更改为2013-07-12(正好是30天前)它回显send survey,然后当我将日期更改为今天(2013-08-12)时,它仍然说'发送调查“

3 个答案:

答案 0 :(得分:7)

而不是strtotime('now +30 days')使用strtotime('-30 days')

答案 1 :(得分:1)

使用

$last_sent < time() - 30 * 24 * 3600

答案 2 :(得分:0)

也许尝试使用dateTime对象,可以比较这种对象:

$date1 = new DateTime('2013-08-12');
$date2 = new DateTime('+30 days);
if($date2 > $date1) //do somethings

另一个解决方案是date_diff:http://www.php.net/manual/en/datetime.diff.php