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

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

时间:2015-03-26 02:27来源:网络整理 作者:网络 点击:
分享到:
将 DateTime 对象转化为友好时间显示 利用 PHP 5.x 中的 DateInterval 将 DateTime 对象转化为友好时间显示**[PHP]代码**[代码片段(38行)]

利用 PHP 5.x 中的 DateInterval 将 DateTime 对象转化为友好时间显示

[PHP]代码

/**
 * 友好日期时间
 * 
 * @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));
}
精彩图集

赞助商链接