这里是文章模块栏目内容页
php格式化时间为几分几秒几天几小时几年以前的方式

通常有的新闻展示时间的方式不想直接date日期的方式,

才有几秒ago ,几小时ago,下面就来看看 php的实现代码吧:

 /**
     * 
     * 格式化 发布时间成 xx minutes ago的方式
     * @param mixed $time
     * @return string
     */
    static public function tranTime($time)
    {     
      $time = time() - $time;      
      if ($time < 60) {   //秒    
        $str = sprintf(('a moment ago'));      
      }elseif ($time < 60 * 60) {   //分    
        $min = floor($time/60);    
        if($min==1)
          $str = sprintf(('%s minute ago'), $min);
        else  
          $str = sprintf(('%s minutes ago'), $min);      
      }elseif ($time < 60 * 60 * 24) {   //小时    
        $h = floor($time/(60*60));   
        if($h==1)
          $str = sprintf(('%s hour ago'), $h) ;
        else  
          $str = sprintf(('%s hours ago'), $h) ;
      
      }elseif ($time < 60 * 60 * 24 * 30) { //一个月内的      
        $d = floor($time/(60*60*24 ));      
        if($d==1)        
          $str = sprintf(('yesterday'), $d) ;      
        else      
         $str = sprintf(('%s days ago'), $d) ;      
      }elseif($time < 60 * 60 * 24 * 365) {  
        $m = floor($time/(60 * 60 *24 *30 ));
        if($m==1)
          $str = sprintf(('%s month ago'), $m) ;  
        else 
        $str = sprintf(('%s months ago'), $m) ;  
              
      }else {  
        $y = floor($time/(60 * 60 *24  *365 ));
        if($y==1)
          $str = sprintf(('%s year ago'), $y) ;  
        else 
          $str = sprintf(('%s years ago'), $y) ;  
              
      }        
      return $str;
      
    }

这里还做个普及 strtotime的强大之处。

date = strtotime('2 hours ago' ); 可以直接换算得到 日期哦。

所以,上面的格式化时间字符串,可以直接转换成 相对当前日期的 具体日历时间;


好了,本文全部内容结束,感谢您的阅读。希望能帮助到你。


更多栏目
相关内容