如何将时间戳转化为几天前,几小时前的形式

企业官网建设中,做到论坛模块时,发现某些时间戳转换为时间格式并不是很美观,参照网上的论坛格式,发现可以讲具体的时间转化为几天前,几小时前这种格式,更加的人性化。

如下介绍在php环境下如何将具体的时间格式转化为几分钟前、几小时前、几天前的方法

方法一:

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.'前';
        }
    }
}

方法二:

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;
    }
}

通过这两个封装好的类都可以得到如下显示效果,是不是更美观了呢?

123.png

asd

2017-10-11

0 个评论