我需要创建一个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))
{
}
从时间()减去(分钟*小时*天)或数字是否错误?
答案 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';
}