将 DateTime 对象转化为友好时间显示

WBOY
发布: 2016-07-25 09:09:02
原创
970 人浏览过
利用 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. }
复制代码


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板