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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-08 17:25:04
Original
1291 people have browsed it
<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 ?>

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template