中国新时代巅峰创意服务众包平台

请登录免费注册发布任务

孙悟空威客网

关于我们

首页>知识共享>分享一个php不错的比较完成的时间格式化函数给大家

分享一个php不错的比较完成的时间格式化函数给大家

     分享一个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);

 

 

  1. 下一篇: 关于网站设计核心问题的一点分析
  2. 上一篇: 电脑越来越卡的解决办法
客服帮助