龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

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

时间:2014-07-22 14:51来源: 作者: 点击:
分享到:
利用 PHP 5.x 中的 DateInterval 将 DateTime 对象转化为友好时间显示
利用 PHP 5.x 中的 DateInterval 将 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));
}
精彩图集

赞助商链接