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