php计算给定时间之前的函数

这里给定一个时间,计算这个时间在多久前,比如:2天前,1年前

function prettyDate($date){
        $time = strtotime($date);
        $now = time();
        $ago = $now - $time;
        if($ago < 60){
            $when = round($ago);
            $s = ($when == 1)?"second":"seconds";
            return "$when $s ago";
        }elseif($ago < 3600){
            $when = round($ago / 60);
            $m = ($when == 1)?"minute":"minutes";
            return "$when $m ago";
        }elseif($ago >= 3600 && $ago < 86400){
            $when = round($ago / 60 / 60);
            $h = ($when == 1)?"hour":"hours";
            return "$when $h ago";
        }elseif($ago >= 86400 && $ago < 2629743.83){
            $when = round($ago / 60 / 60 / 24);
            $d = ($when == 1)?"day":"days";
            return "$when $d ago";
        }elseif($ago >= 2629743.83 && $ago < 31556926){
            $when = round($ago / 60 / 60 / 24 / 30.4375);
            $m = ($when == 1)?"month":"months";
            return "$when $m ago";
        }else{
            $when = round($ago / 60 / 60 / 24 / 365);
            $y = ($when == 1)?"year":"years";
            return "$when $y ago";
        }
    }

使用:
echo prettyDate("2012-07-22 12:23:45")
posted @ 2018-10-20 18:34  心之所依  阅读(279)  评论(0编辑  收藏  举报