把下面实例代码另存为 time.php

= 60 && $minute < (60 * 24)) { //分钟大于等于60分钟且小于一天的分钟数,即按小时显示
                $hour = floor($minute / 60); //得到小时数
            } elseif ($minute >= (60 * 24) && $minute < (60 * 24 * 30)) { //如果分钟数大于等于一天的分钟数,且小于一月的分钟数,则按天显示
                $day = floor($minute / ( 60 * 24)); //得到天数
            } elseif ($minute >= (60 * 24 * 30) && $minute < (60 * 24 * 365)) { //如果分钟数大于等于一月且小于一年的分钟数,则按月显示
                $month = floor($minute / (60 * 24 * 30)); //得到月数
            } elseif ($minute >= (60 * 24 * 365)) { //如果分钟数大于等于一年的分钟数,则按年显示
                $year = floor($minute / (60 * 24 * 365)); //得到年数
            }
            break;
        case 2:
            //$date为字符串格式 2013-06-06 19:16:12
            $date = strtotime($date);
            $second = time() - $date;
            $minute = floor($second / 60) ? floor($second / 60) : 1; //得到分钟数
            if ($minute >= 60 && $minute < (60 * 24)) { //分钟大于等于60分钟且小于一天的分钟数,即按小时显示
                $hour = floor($minute / 60); //得到小时数
            } elseif ($minute >= (60 * 24) && $minute < (60 * 24 * 30)) { //如果分钟数大于等于一天的分钟数,且小于一月的分钟数,则按天显示
                $day = floor($minute / ( 60 * 24)); //得到天数
            } elseif ($minute >= (60 * 24 * 30) && $minute < (60 * 24 * 365)) { //如果分钟数大于等于一月且小于一年的分钟数,则按月显示
                $month = floor($minute / (60 * 24 * 30)); //得到月数
            } elseif ($minute >= (60 * 24 * 365)) { //如果分钟数大于等于一年的分钟数,则按年显示
                $year = floor($minute / (60 * 24 * 365)); //得到年数
            }
            break;
        default:
            break;
    }
    if (isset($year)) {
        return $year . '年前发布';
    } elseif (isset($month)) {
        return $month . '月前发布';
    } elseif (isset($day)) {
        return $day . '天前发布';
    } elseif (isset($hour)) {
        return $hour . '小时前发布';
    } elseif (isset($minute)) {
        return $minute . '分钟前发布';
    }
}


//测试代码:
//$time1 = time() - 60 * 60 * 23;
//echo formatTime($time1, 1);  //结果:23小时前
//echo "
"; //$time2 = '2013-11-11 19:16:12'; //结果:29天前 //echo formatTime($time2, 2); ?>

在程序根目录的index.php
加入
include PHPCMS_PATH.'/time.php';
在显示时间的位置加入
时间调用代码{formatTime($r[inputtime],1)}

另外加两个代码

function formatTime($date) {
    $str = '';
    $timer = strtotime($date);
    $diff = $_SERVER['REQUEST_TIME'] - $timer;
    $day = floor($diff / 86400);
    $free = $diff % 86400;
    if($day > 0) {
        return $day."天前";
    }else{
        if($free>0){
            $hour = floor($free / 3600);
            $free = $free % 3600;
            if($hour>0){
                return $hour."小时前";
            }else{
                if($free>0){
                    $min = floor($free / 60);
                    $free = $free % 60;
                    if($min>0){
                        return $min."分钟前";
                    }else{
                        if($free>0){
                            return $free."秒前";
                        }else{
                            return '刚刚';
                        }
                    }
                }else{
                    return '刚刚';
                }
            }
        }else{
            return '刚刚';
        }
    }
}
/**
 * 发布时间展示函数
 * @return 返回发布时间
 */
function show_time($time) {  
    $rtime = date("m-d H:i",$time); 
    $htime = date("H:i",$time);    
    $time = time() - $time;  
  
    if ($time < 60) {  
        $str = $time.'秒前';  
    } elseif ($time < 3600) {  
        $min = floor($time/60);  
        $str = $min.'分钟前';  
    } elseif ($time < 86400) {  
        $h = floor($time/3600);  
        $str = $h.'小时前 '.$htime;  
    } elseif ($time < 172800) {  
        $d = floor($time/86400);  
        if($d==1)  
           $str = '昨天 '.$htime;  
        else  
           $str = '前天 '.$htime;  
    } else {  
        $str = $rtime;  
    }  
    return $str;  
}
版权声明:本文为李维亮博主的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:http://www.liweiliang.com/287.html

标签: 日期显示方式

评论已关闭