当前位置:博客首页>>PHP >> 阅读正文

【PHP】显示类似“刚刚”、“5分钟前”、“昨天10:23“功能的时间轴开发

作者: 郑晓 分类: PHP 发布于: 2011-10-09 21:32 浏览(3,231) 没有评论


其实也不叫“开发”,说开发有点儿太夸张了点儿~~

在一些论坛等地方经常会看到类似“刚刚”、“5分钟前”、“昨天10:23“这样的东东,其实实现起来相当的简单,一个减法就能搞定,下面看代码:

//显示类似“刚刚”、“5分钟前”、“昨天10:23“功能的时间轴开发
function tranTime($time) {  //这里是传入一个unix时间戳
    $rtime = date("m-d H:i",$time);  
    $htime = date("H:i",$time);  
     
    $time = time() - $time;  
 
    if ($time < 60) {  
        $str = '刚刚';  
    }  
    elseif ($time < 60 * 60) {  
        $min = floor($time/60);  
        $str = $min.'分钟前';  
    }  
    elseif ($time < 60 * 60 * 24) {  
        $h = floor($time/(60*60));  
        $str = $h.'小时前 '.$htime;  
    }  
    elseif ($time < 60 * 60 * 24 * 3) {  
        $d = floor($time/(60*60*24));  
        if($d==1)  
           $str = '昨天 '.$rtime;  
        else  
           $str = '前天 '.$rtime;  
    }  
    else {  
        $str = $rtime;  
    }  
    return $str;  
}


函数tranTime()中的参数$time必须为Unix时间戳,如果不是请先用strtotime()将其转换成Unix时间戳。

调用函数的效果如下,将直接输出:

$times="1286861696 ";    
echo tranTime($times);
       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/php-display-timeline.html