Created
August 5, 2014 01:44
-
-
Save clinyong/8983f7f38b5f7d7ba1d0 to your computer and use it in GitHub Desktop.
php时间差计算
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 时间差计算 | |
* | |
* @param Timestamp $time 时间差 | |
* @return String Time Elapsed | |
* @author Shelley Shyan | |
* @copyright http://phparch.cn (Professional PHP Architecture) | |
*/ | |
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 = 2052345678; //已经过去的时间 | |
$diff = time() - $past; | |
echo '发表于' . time2Units($diff) . '前'; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment