php时间差方法

/**
 * 时间差计算
 *
 * @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;
    }

}
原文地址:https://www.cnblogs.com/tine/p/8315491.html