PHP将DateTime对象转化为友好时间显示的实现代码需要的朋友可以参考下
/**
* 友好日期时间
*
* @param DateTime $datetime 日期时间
* @param int $size 精确到位数
* @throws InvalidArgumentException
* @return string
*/
function friendly_date($datetime $size=)
{
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 $size));
}