/** * 友好日期时间 * * @param datetime $datetime 日期时间 * @param int $size 精确到位数 * @throws \invalidargumentexception * @return string */function friendly_date($datetime, $size=1){ if (is_int($datetime)) { $datetime = new \datetime($datetime); } if (!($datetime instanceof \datetime)) { throw new \invalidargumentexception('invalid datetime object'); } $now = new \datetime(); $interval = $now->diff($datetime); $intervaldata = array( $interval->y, $interval->m, $interval->d, $interval->h, $interval->i, $interval->s, ); $intervalformat = array('年', '个月', '天', '小时', '分种', '秒'); foreach($intervaldata as $index=>$value) { if ($value) { $intervaldata[$index] = $value . $intervalformat[$index]; } else { unset($intervaldata[$index]); unset($intervalformat[$index]); } } return implode('', array_slice($intervaldata, 0, $size));}
复制代码
