PHP将DateTime对象转化为友好时间显示的实现代码

PHP将DateTime对象转化为友好时间显示的实现代码

PHP将DateTime对象转化为友好时间显示的实现代码,需要的朋友可以参考下。
/**

* 友好日期时间

*

* @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));

}