3

我有这个 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 年 7 月 12 日(正好 30 天前)它会send survey回显,然后当我将日期更改为今天(2013 年 8 月 12 日)时,它仍然显示“发送调查”

4

3 回答 3

7

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

于 2013-08-12T20:15:36.297 回答
1

利用

$last_sent < time() - 30 * 24 * 3600
于 2013-08-12T20:14:22.870 回答
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

于 2013-08-12T20:20:01.520 回答