检查自日期过去的时间是否超过X天

时间:2014-09-17 04:00:14

标签: php datetime time timestamp unix-timestamp

我需要创建一个PHP脚本,从数据库(日志,消息,登录等)中提取各种内容的时间戳,如果它们超过X天,则删除它们。我很擅长与时间一起工作,并且有点难以做到这一点。

我意识到我可以使用explode()将字符串中的日/月/年分开,并将它们与一堆If语句进行比较,但是想使用更有效的方法。这样的事情是正确的做法吗?

$dt = "2011-03-19 10:05:44";

//if $dt is older than 90 days
if((time()-(60*24*90)) > strtotime($dt))
{

}

从时间()减去(分钟*小时*天)或数字是否错误?

1 个答案:

答案 0 :(得分:7)

您可以使用DateTime类。例如:

$dt = "2011-03-19 10:05:44";
$date = new DateTime($dt);
$now = new DateTime();
$diff = $now->diff($date);
if($diff->days > 90) {
    echo 'its greater than 90 days';
}