当前位置:Gxlcms > PHP教程 > 将数据库中保存的时间戳转换为过去的时间格式

将数据库中保存的时间戳转换为过去的时间格式

时间:2021-07-01 10:21:17 帮助过:34人阅读

这个功能一般用在微博、博客的文章发布时间显示上。例如:在新浪微博发布了一篇微博,如果是今天发布的它会显示XX秒、XX小时前发布而不是显示具体的时间。如果转发一篇以前发布的微博则原微博显示其发布的时间。
那么如何实现呢?代码如下:

/**格式化时间函数
 * @param $time 需要格式化的时间戳
 */functiontime_format($time) {$now = time();
    $tody = strtotime(date('Y-m-d'));
    $diff = $now - $time;
    $str = '';
    switch ($time) {
        case$diff < 60:
            $str = $diff . '秒前';
            break;
        case$diff < 3600:
            $str = floor($diff / 60) . '分钟前';
            break;
        case$diff < (3600 * 8):
            $str = floor($diff / 3600) . '小时前';
            break;
        case$time > $tody:
            $str = '今天' . date('Y-m-d H:i:s', $time);
            break;
        default:
            $str = date('Y-m-d H:i:s', $time);
    }

    return$str;
}

$time = 1423110837;//模拟保存在数据库中的时间戳echo time_format($time);

解读:
1、首先我们要获取当前时间即:now=time();2000tody = strtotime(date(‘Y-m-d’));
3、获取数据库中的时间戳和当前时间的差值。即:diff=now - $time;
4、通过switch判断数据库中的时间戳来显示对应的时间格式(时、分、秒、具体时间)

以上就介绍了将数据库中保存的时间戳转换为过去的时间格式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行