php函数实现文章列表显示的几秒前,几分钟前,几天前等方法?

N1、

function format_date($time){
    $t=time()-$time;
    $f=array(
    '31536000'=>'年',
    '2592000'=>'个月',
    '604800'=>'星期',
    '86400'=>'天',
    '3600'=>'小时',
    '60'=>'分钟',
    '1'=>'秒'
    );
    foreach ($f as $k=>$v)    {
        if (0 !=$c=floor($t/(int)$k)) {
            return $c.$v.'前';
        }
    }
}

  

N2、

function time_trans($the_time)
{
    $now_time = time();
    $show_time = strtotime($the_time);

    $dur = $now_time - $show_time;

    if($dur < 60){
        return $dur.'秒前';
    }else if($dur < 3600){
        return floor($dur/60).'分钟前';
    }else if($dur < 86400) {
        return floor($dur/3600).'小时前';
    }else if($dur < 259200) {//3天内
        return floor($dur / 86400) . '天前';
    }else{
        return $the_time;
    }
}