回答
尝试使用这样的事情:
if(strtotime('2011-08-19 17:14:40') < strtotime('-30 days')) {
// this is true
}
此外,这个字符串看起来是存储在SQL的日期时间/时间戳字段。您可以使用直接选择从旧日期,数据库中的所有条目:
SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()
strtotime('2011-08-19 17:14:40') + 30 * 24 * 60 * 60 < time();
它应该是'strtotime('2011-08-19 17:14:40')+ 30 * 24 * 60 * 60 <时间();'更正它。 – nobody
@nobody你有> 2000代表。你可以自己改正,就像我一样。 :) – AgentConundrum
@ gion_13做这些'24 * 60 * 60'计算通常是一个糟糕的主意,因为在处理夏令时等事情时它们可能会变得不准确。最好使用RiaD建议的东西,并让'strtotime()'处理相对时间计算。 – AgentConundrum
您可以使用碳如下
if (30 - ((new \Carbon\Carbon($given_date, 'UTC'))->diffInDays()) < 0) {
echo "The date is older than 30 days";
}
如果您在PHP 5.3或更高版本,你可以这样做:
$someDate = new \DateTime('2011-08-19 17:14:40');
$now = new \DateTime();
if($someDate->diff($now)->days > 30) {
echo 'The date was more than 30 days ago.';
}
可以链接到diff($ now) - > days的文档吗?我想调整它几个小时而不是几天。谢谢。 – Jay42
[diff](http://php.net/manual/en/datetime.diff.php)返回[DateInterval](http://php.net/manual/en/class.dateinterval.php)。 DateInterval有一个'h'属性用于'小时',但它实际上是差异的一部分(因为它涉及y(年),m(月),d(天)等)。为了获得数小时,我会做'($ now-> getTimestamp() - $ someDate-> getTimestamp())/ 3600'。这将返回一个小数。你可以选择使用[round()](http://php.net/manual/en/function.round.php),[intval()](http://php.net/manual/en/function。 intval.php)等,如果你想要它作为一个整数。 –
- 1. 找出日期是否超过30天
- 2. 如果发布日期超过30天,那么...
- 3. 如何计算,如果工作日是超过6天,从今天的日期
- 4. 删除超过30天,如果不是一个月
- 5. 30天后获得日期
- 6. 如何展现MM/DD这是星期六为过去30天
- 7. JavaScript会检查输入的日期是否超过30天,如果有,清除输入字段
- 8. 如何检查如果系统日期为30天回
- 9. 添加30天至日期(月/日/年)
- 10. 比较今天的日期+ 30天至另一个日期
- 11. 检查日期是否存在(第30天/第31天)
- 12. Python日期时间超过一天
- 13. SQL日期后超过14天原
- 14. 删除超过30天的下载?
- 15. 删除catalina。*。日志超过30天使用logrotate
- 16. 删除文件夹和文件,如果文件夹的日期是30天
- 17. JavaScript的测试,如果日期(以字符串格式)是30多天前
- 18. 在30天内捕获日期操作
- 19. 获取30天的日期和时间
- 20. 日期加上30天验证
- 21. 计数30天的日期检查
- 22. 如何检查日期是否在30天内?
- 23. 如何从mysql获取日期+30天等于今天在PHP?
- 24. SQL:如果上一次日期超过1天,则获取一系列日期分区的最短日期
- 25. Mysql发现日期比今天更大,但是如果0000-00-00格式
- 26. 如果选择日期不可用,则显示未来30天的结果?
- 27. 如果30分钟内有超过30条短信,则不会发送短信
- 28. 如何发现某天是工作日
- 29. 获取所有日期从过去30天(日期时间对象)
- 30. SQL查询来选择日期之间的日期 - 30天
其有用的,+1它:) –