>  기사  >  백엔드 개발  >  DateTime 객체를 친숙한 시간 표시로 변환

DateTime 객체를 친숙한 시간 표시로 변환

WBOY
WBOY원래의
2016-07-25 09:09:02975검색
利用 PHP 5.x 中的 DateInterval 将 DateTime 对象转化为友好时间显示                               
                   
                               
                                               
                                       
            
  1. /**
  2. * 友好日期时间
  3. *
  4. * @param DateTime $datetime 日期时间
  5. * @param int $size 精确到位数
  6. * @throws InvalidArgumentException
  7. * @return string
  8. */
  9. function friendly_date($datetime, $size=1)
  10. {
  11.         if (is_int($datetime)) {
  12.                 $datetime = new DateTime($datetime);
  13.         }
  14.        
  15.         if (!($datetime instanceof DateTime)) {
  16.                 throw new InvalidArgumentException('invalid "DateTime" object');
  17.         }
  18.        
  19.         $now = new DateTime();
  20.         $interval = $now->diff($datetime);
  21.        
  22.         $intervalData = array(
  23.                 $interval->y, $interval->m, $interval->d,
  24.                 $interval->h, $interval->i, $interval->s,
  25.         );
  26.         $intervalFormat = array('年', '个月', '天', '小时', '分种', '秒');
  27.        
  28.         foreach($intervalData as $index=>$value) {
  29.                 if ($value) {
  30.                         $intervalData[$index] = $value . $intervalFormat[$index];
  31.                 } else {
  32.                         unset($intervalData[$index]);
  33.                         unset($intervalFormat[$index]);
  34.                 }
  35.         }
  36.        
  37.         return implode('', array_slice($intervalData, 0, $size));
  38. }
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.