首页 > php代码 > PHP计算时间差 显示用户发表评论时间

PHP计算时间差 显示用户发表评论时间

前端时间做一个APP后台时用户要求用户的评论以xx分钟前这种格式显示,给用户以良好的体验,于是笔者写了次函数。本函数主要是利用PHP计算两个时间之间的差值,通过差值来转换,虽然代码很简单,但是很实用。

<?php
/**
 * 时间差计算
 *
 * @param Timestamp $time 时间差
 * @return String Time Elapsed
 * @author jakehu (http://www.phprm.com/)
 */
function time2Units($time) {
    $year = floor($time / 60 / 60 / 24 / 365);
    $time-= $year * 60 * 60 * 24 * 365;
    $month = floor($time / 60 / 60 / 24 / 30);
    $time-= $month * 60 * 60 * 24 * 30;
    $week = floor($time / 60 / 60 / 24 / 7);
    $time-= $week * 60 * 60 * 24 * 7;
    $day = floor($time / 60 / 60 / 24);
    $time-= $day * 60 * 60 * 24;
    $hour = floor($time / 60 / 60);
    $time-= $hour * 60 * 60;
    $minute = floor($time / 60);
    $time-= $minute * 60;
    $second = $time;
    $elapse = '';
    $unitArr = array(
        '年前' => 'year',
        '个月前' => 'month',
        '周前' => 'week',
        '天前' => 'day',
        '小时前' => 'hour',
        '分钟前' => 'minute',
        '秒前' => 'second'
    );
    foreach ($unitArr as $cn => $u) {
        if ($year > 0) { //大于一年显示年月日
            $elapse = date('Y/m/d', time() - $time);
            break;
        } else if ($$u > 0) {
            $elapse = $$u . $cn;
            break;
        }
    }
    return $elapse;
}
$past = 1390000000; //起点时间
$diff = time() - $past; //时间差
echo '发表于' . time2Units($diff) . '前';
?>


文章链接:http://www.phprm.com/code/61016.html

随便收藏,请保留本文地址!

标签:foreach

相关文章

发表留言