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
随便收藏,请保留本文地址!