首页 > php代码 > php计算多长时间前发的内容2个函数

php计算多长时间前发的内容2个函数

下面整理了两个用来计算用户发内容的时间,这里以分钟超,然后就是天数了,两个例子中,例子1只以计算昨天然后就是直接显示日期了,而后一个例子可以计算多少天前,并且文章最后对时区进行了介绍,告诉你在设置时间前一定要把php.ini时区设置好才行。

例子,

多长时间前的时间函数,论坛,博客常用

<?php
function timeFromNow($dateline) {
    if (empty($dateline)) return false;
    $seconds = time() - $dateline;
    if ($seconds < 60) {
        return "1分钟前";
    } elseif ($seconds < 3600) {
        return floor($seconds / 60) . "分钟前";
    } elseif ($seconds < 24 * 3600) {
        return floor($seconds / 3600) . "小时前";
    } elseif ($seconds < 48 * 3600) {
        return date("昨天 H:i", $dateline) . "";
    } else {
        return date('Y-m-d', $dateline);
    }
}
echo timeFromNow(strtotime("2012-07-07 14:15:13")); //昨天 14:15
echo timeFromNow(strtotime("2012-07-08 14:15:13")); //1小前

注:这里没有考虑到时区。后来在网上看到一段代码

function time_tran($the_time) {
    $now_time = date("Y-m-d H:i:s", time() + 8 * 60 * 60);
    $now_time = strtotime($now_time);
    $show_time = strtotime($the_time);
    $dur = $now_time - $show_time;
    if ($dur < 0) {
        return $the_time;
    } else {
        if ($dur < 60) {
            return $dur . '秒前';
        } else {
            if ($dur < 3600) {
                return floor($dur / 60) . '分钟前';
            } else {
                if ($dur < 86400) {
                    return floor($dur / 3600) . '小时前';
                } else {
                    if ($dur < 259200) { //3天内
                        return floor($dur / 86400) . '天前';
                    } else {
                        return $the_time;
                    }
                }
            }
}
}
}

最后补充时区在php . ini中,默认是date . timezone = UTC。修改为中国时区,修改为date . timezone = PRC。如果直接写GMT格式的,是date . timezone = Etc / GMT + 8。另外,也可以在PHP页面头中设置。date_default_timezone_set('PRC');

测试:echo date('Y-m-d H:i:s');


本文链接:http://www.phprm.com/code/66838.html

收藏随意^^请保留教程地址.

标签:strtotime

相关文章

发表留言