博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP比较全的友好的时间显示,比如‘刚刚’,'几秒前'等
阅读量:4312 次
发布时间:2019-06-06

本文共 2343 字,大约阅读时间需要 7 分钟。

分享一个php友好的比较完成的时间格式化函数,包括‘刚刚’,'几秒之前',‘几分钟前’,'几小时前',几天前,几周前,几个月前等。调用方式很简单,是从ThinkSNS 里面拿出来的。

/** * 友好的时间显示 * * @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);        }    }}

  

转载于:https://www.cnblogs.com/yzh5251/p/3725536.html

你可能感兴趣的文章
Tecplot: Legend和图像中 Dashed/Dash dot/Long dash 等虚线显示没有区别的问题
查看>>
win8 开发之旅(2) --连连看游戏开发 项目错误的总结
查看>>
一、 object c -基础学习第一天 如何定义一个类
查看>>
Kali Linux的安装
查看>>
我的大学生活-5-08-赵心宁
查看>>
入门阶段
查看>>
Android中使用http协议访问网络
查看>>
Join 与 CountDownLatch 之间的区别
查看>>
vc6下dll调试
查看>>
Ubuntu apt常用命令
查看>>
struts2 配置(部分)
查看>>
python代码迷之错误(ModuleNotFoundError: No module named 'caffe.proto')
查看>>
nodejs adm-zip 解压文件 中文文件名乱码 问题解决
查看>>
<Bootstrap> 学习笔记六. 栅格系统使用案例
查看>>
vector--C++ STL 学习
查看>>
蜕变成蝶~Linux设备驱动之异步通知和异步I/O
查看>>
jquery简单开始
查看>>
作业2
查看>>
ios上架报错90080,90087,90209,90125 解决办法
查看>>
给button添加UAC的小盾牌图标
查看>>