php时间友好输出(源自thinkphp的函数)

/**
 * 友好的时间显示
 *
 * @param int    $sTime 待显示的时间
 * @param string $type  类型. normal | mohu | full | ymd | other
 * @param string $alt   已失效
 * @return string
 */
function friendlyDate($sTime,$type = ‘normal‘,$alt = ‘false‘) {
    if (!$sTime)
        return ‘‘;
    //sTime=源时间,cTime=当前时间,dTime=时间差
    $cTime      =   time();
    $dTime      =   $cTime - $sTime;
    $dDay       =   intval(date("z",$cTime)) - intval(date("z",$sTime));
    //$dDay     =   intval($dTime/3600/24);
    $dYear      =   intval(date("Y",$cTime)) - intval(date("Y",$sTime));
    //normal:n秒前,n分钟前,n小时前,日期
    if($type==‘normal‘){
        if( $dTime < 60 ){
            if($dTime < 10){
                return ‘刚刚‘;    //by yangjs
            }else{
                return intval(floor($dTime / 10) * 10)."秒前";
            }
        }elseif( $dTime < 3600 ){
            return intval($dTime/60)."分钟前";
        //今天的数据.年份相同.日期相同.
        }elseif( $dYear==0 && $dDay == 0  ){
            //return intval($dTime/3600)."小时前";
            return ‘今天‘.date(‘H:i‘,$sTime);
        }elseif($dYear==0){
            return date("m月d日 H:i",$sTime);
        }else{
            return date("Y-m-d H:i",$sTime);
        }
    }elseif($type==‘mohu‘){
        if( $dTime < 60 ){
            return $dTime."秒前";
        }elseif( $dTime < 3600 ){
            return intval($dTime/60)."分钟前";
        }elseif( $dTime >= 3600 && $dDay == 0  ){
            return intval($dTime/3600)."小时前";
        }elseif( $dDay > 0 && $dDay<=7 ){
            return intval($dDay)."天前";
        }elseif( $dDay > 7 &&  $dDay <= 30 ){
            return intval($dDay/7) . ‘周前‘;
        }elseif( $dDay > 30 ){
            return intval($dDay/30) . ‘个月前‘;
        }
    //full: Y-m-d , H:i:s
    }elseif($type==‘full‘){
        return date("Y-m-d , H:i:s",$sTime);
    }elseif($type==‘ymd‘){
        return date("Y-m-d",$sTime);
    }else{
        if( $dTime < 60 ){
            return $dTime."秒前";
        }elseif( $dTime < 3600 ){
            return intval($dTime/60)."分钟前";
        }elseif( $dTime >= 3600 && $dDay == 0  ){
            return intval($dTime/3600)."小时前";
        }elseif($dYear==0){
            return date("Y-m-d H:i:s",$sTime);
        }else{
            return date("Y-m-d H:i:s",$sTime);
        }
    }
}

  

时间: 2024-08-08 05:22:25

php时间友好输出(源自thinkphp的函数)的相关文章

使用xdebug分析thinkphp框架函数调用图

开发中需要性能调优,使用xdebug分析thinkphp框架函数调用图. 关于xdebug的安装参考这2篇 NetBeans配置Xdebug 远程调试PHP php扩展xdebug安装以及用kcachegrind系统分析 1.安装xdebug 需要先去http://www.xdebug.org看看一些文档,xdebug作为php扩展安装 # http://www.xdebug.org/files/xdebug-2.3.3.tgz # tar -xzf xdebug-2.3.3.tgz# cd x

[转]C语言文件输入/输出ACM改进版(freopen函数)

C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论 文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. 昨天发了一篇<C语言 使用文件输入/输出数据>,使用的是最普通的文件输入/输出方法,Felix大牛随后给了一种更简单的改进方法,在ACM中应用很广,而且超赞,现在来介绍一下. 这次用到的文件打开函数不再是fopen,而是stdio.h中包含的另一个函数fr

thinkphp 主函数库解读

thinkphp核心库解读: thinkphp common common.php[Think 基础函数库] ------------------------------------------------------------------------------------------------- 功能列表: 1.// 记录和统计时间(微秒) G($start,$end='',$dec=4) 2.// 设置和获取统计数据 N($key, $step=0) 3.字符串命名风格转换 parse

ThinkPHP - I 函数

ThinkPHP函数详解:I方法 浏览:144722 发布日期:2013/06/01 分类:文档教程 关键字: 函数 ThinkPHP的I方法是3.1.3版本新增的,如果你是之前的3.*版本的话,可以直接参考使用3.1快速入门教程系列的变量部分. 概述 正如你所见到的一样,I方法是ThinkPHP众多单字母函数中的新成员,其命名来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下: I('变量类型.变量名',['默认值'],['过滤方法']) 变

Linux日期时间显示输出

1.输出当前年月日 echo $(date +%F) 2014-02-21 2.输出当前时间(时分) echo $(date +%R) 12:45 3.输出当前时间(时分秒) echo $(date +%T) 12:52:51 4.输出星期 echo $(date +%A) 星期五 5.组合输出日期时间 5.1输出年月日 echo $(date +%Y/%m/%d) 2014/02/21 %Y参数: 年 %m参数: 月 %d参数: 日 5.2输出时分秒 echo $(date +%H:%M:%S

计算机图形学(二)输出图元_6_OpenGL曲线函数_1_圆生成算法

OpenGL曲线函数 生成圆和椭圆等基本曲线的函数并未作为图元功能包含在OpenGL核心库中.但该库包含了显示Bezier样条的功能,该曲线是由一组离散点定义的多项式.OpenGL实用库(GLU)中包含有球面和柱面等三维曲面函数以及生成B样条的函数,它是包含简化Bezier曲线的样条曲线的总集.我们可以使用有理B样条显示圆.椭圆和其他二维曲线.此外,OpenGL实用工具包(GLUT)中还有可以用来显示某些三维曲面(如球面.锥面和其他形体)的函数.然而,所有这些函数比本章中介绍的基本图元应用得更多

9、流类库与输入/输出2.3输出文件流成员函数

输出流成员函数有三种类型: 与操作符等价的成员函数: 执行非格式化写操作的成员函数 其他修改流状态且不同于操作符或插入运算符的成员函数 对于顺序的格式化输出,可以仅使用插入运算符和操作符.对于随机访问二进制磁盘输出,使用其他成员函数,使用或不使用插入运算符. 1.输出流的open函数 2.输出流的close函数 close成员函数关闭与一个输出文 件流关联的磁盘文件.文件使用完毕后必须将其关闭以完成所有磁盘输出.虽然ofstream析构函数会自动完成关闭,但如果在同一流对象上打开另外的文件,就需

文件大小的友好输出及其 Python 实现

在数据库中存储时,使用 Bytes 更精确,可扩展性和灵活性都很高. 输出时,需要做一些适配. 1. 注意事项与测试代码 需要考虑 sizeInBytes 为 None 的场景. 除以 1024.0 而非 1024,避免丢失精度. 实现的函数为 getSizeInMb(sizeInBytes),通用的测试代码为 def getSizeInMb(sizeInBytes): return 0 def test(sizeInBytes): print '%s -> %s' % (sizeInBytes

通过C++的类设置系统时间和输出时间

#include<iostream> #include <sys/time.h> using namespace std; class TDate { public: void SetDate(int y,int m,int d); int IsLeapYear(); void SetTime(int h,int m,int s); void DisplayTime(); private: int year,month,day; int hh,min,sec; time_t tim