PHP實現友好時間顯示
分享一個php友好的比較完成的時間格式化函數,包括‘剛剛’,'幾秒之前',‘幾分鐘前’,'幾小時前',幾天前,幾周前,幾個月前等。
/*** 友好的時間顯示 * * @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); } } }</pre>本文地址:<a href="/misc/goto?guid=4959617911322683455" target="_blank">http://www.moretouch.com.cn/news/jishufenxiang/16.html</a>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!