+ -
当前位置:首页 → 问答吧 → 仿论坛的时间写的一个函数

仿论坛的时间写的一个函数

时间:2009-12-19

来源:互联网

  昨晚逛php时突然心血来潮、
  仿照发帖的时间写的一个函数、
   规则是我自己定的、
需要的朋友可以把规则改一下、
  若是哪里有漏洞麻烦提醒下、
<?php
    
    $time    = 1260611297; //发帖时间
    $times    = time();//现在时间
    $ti        = $times-$time; //时间差
    function getTime($time){
        if($time<60){
            $ti    = intval($time).'秒前';
        }elseif(60<$time  && $time<3600){
            $ti    = intval(($time/60)).'分钟前';
        }elseif(3600<$time && $time<3600*24){
            $ti    = intval(($time/3600)).'小时前';
        }elseif(3600*24<$time && $time<3600*24*30){
            $ti    = intval(($time/(3600*24))).'天前';
        }elseif(3600*24*30<$time && $time<3600*24*30*356){
            $ti    = intval(($time/(3600*24*30))).'月前';
        }elseif(3600*24*30*356<$time){
            $ti    = intval(($time/(3600*24*30*356))).'年前';
        }
        return $ti;
    }
    $time    = getTime($ti);
    echo $time;
?>

作者: longloveping   发布时间: 2009-12-19

作者: qffffai   发布时间: 2009-12-20

用switch case来写这种很多if elseif的判断

作者: kickflip   发布时间: 2009-12-20

呵呵~

作者: power   发布时间: 2009-12-20

恩     有道理    呵呵

作者: 石光启   发布时间: 2009-12-20

支持一下。。。

作者: liuqzhi110   发布时间: 2009-12-20

    

作者: mare   发布时间: 2009-12-23

支持一下。。。

作者: kahn178   发布时间: 2009-12-24

程序有个bug
}elseif(3600*24*30<$time && $time<3600*24*30*356){
            $ti    = intval(($time/(3600*24*30))).'月前';
        }elseif(3600*24*30*356<$time){
            $ti    = intval(($time/(3600*24*30*356))).'年前';
        }

应改成
}elseif(3600*24*30<$time && $time<3600*24*30*12){
            $ti    = intval(($time/(3600*24*30))).'月前';
        }elseif(3600*24*30*12<$time){
            $ti    = intval(($time/(3600*24*30*12))).'年前';
        }

一年只有12个月

作者: kimi   发布时间: 2009-12-28

热门下载

更多