/** * 时间差计算 * * @param Timestamp $time * @return String Time Elapsed */ function time2Units ($time,$sign) { $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 ( $$u > 0 ) { if($sign == 'day'){ $elapse = $$u . $cn; break; }else{ //上两行只取最大时间(有分钟就舍去秒,有小时就舍去分秒,以此类推) $elapse .= $$u . $cn; } } } return $elapse; } }