我有这个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多天前。不过这似乎不起作用。
我将上次发送日期更改为2013-07-12(正好是30天前),它与send survey
相呼应,然后当我将日期更改为今天(2013-08-12)时,它仍然显示"发送调查"
使用strtotime('-30 days')
而不是strtotime('now +30 days')
。
使用
$last_sent < time() - 30 * 24 * 3600
也许可以尝试使用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