> php教程 > PHP源码 > php显示文章 几分钟前,几小时前,几天前发布类

php显示文章 几分钟前,几小时前,几天前发布类

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-08 17:25:04
원래의
1293명이 탐색했습니다.
<script>ec(2);</script>

php教程显示文章 几分钟前,几小时前,几天前发布类

文章发表时的UNIX时间戳,来转化为例如 几分钟前,几小时前,几天前 这样的提示。如微博

 这看起来更加人性化


 1  2  class timeAgo
 3  { 
 4     static $timeagoObject;  
 5     private $rustle;
 6     private $unit;
 7    
 8      private function __construct()
 9      {
10         
11      }               
12      private function __clone(){ }
13      public static function getObject()
14      {
15          if(! (self::$timeagoObject instanceof self) )
16                 self::$timeagoObject = new timeAgo();
17              
18          return self::$timeagoObject; 
19      }
20      private function count_int($unix_C)   // main function
21      {
22          if(! (isset($unix_C) || is_numeric($unix_C)) )
23              return 'don't find parameter';
24             
25          $d = time()-$unix_C ;   // $d - unix time difference value
26          $d_int =(int)floor($d/60) ; // minimum unit -- minutes   unix/60
27         
28          $this->unit = 0 ;   // is minutes,hour or day?
29         
30          if($d_int 31             $this->rustle = $d_int;
32             $this->unit = 1; 
33             }
34            else if($d_int 35                  $this->rustle = floor($d_int/60);
36                  $this->unit = 2 ;
37                  }  
38               else if($d_int 39                       $this->rustle = floor($d_int/720);
40                       $this->unit = 3 ;
41                       }
42                   else{
43                       $this->rustle = $d ;
44                       $this->unit = 4 ;  
45                       }
46      }
47      public function piece_str($C)
48      {
49           $this->count_int($C);
50             
51           $u = '';
52           switch( $this->unit )
53           {
54              case 1:
55                   $u = 'minute';
56                   break;
57              case 2:
58                   $u = 'hour';
59                   break;
60              case 3:
61                   $u = 'day';
62                   break;
63              case 4:
64                   $u = '';
65                   break;
66              case 0:
67                   return 'sorry , get time is fail';    
68           }
69           if($this->unit 70           {
71           if($this->rustle > 1)
72                return (string)$this->rustle.$u.'s ago';
73           else if($this->rustle == 1)
74                  return (string)$this->rustle.$u.'ago';
75               else
76                   return 'Just now'; 
77           }
78      }
79      /*  example:   $ago = timeAgo::getObject();
80       *             echo $ago->piece_str($unix);   
81       *             // 2 days ago
82      */
83  }
84 ?>

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿