帝国cms实现信息发布时间显示为:几秒前、几分钟前、几天前等人性化时间格式

很多人想在页面上显示更人性化的时间,像微博等网站会有这种显示方式,几分钟前、几小时前、几天前等等,更加人性化。

这里cms大学给大家介绍一下php语言的使用方式,我们将代码封装成函数,让使用更方便,下面是代码:

折叠PHP 代码
  1. function cmsdx_time($tm,$num) {  
  2. if($num==1){  
  3.    $tm =  strtotime($tm);  
  4. }   
  5.    $cur_tm = time(); $dif = $cur_tm-$tm;  
  6.    $pds = array('秒','分钟','小时','天','周','个月','年');  
  7.    $lngh = array(1,60,3600,86400,604800,2630880,31570560);  
  8.    for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);  
  9.    $no = floor($no);   
  10.    $x=sprintf("%d%s",$no,$pds[$v]);  
  11.    return $x."前";  
  12. }  

我们可以将函数存储在userfun.php文件中,也可以单独存在其他文件中引入。

接下来按照下面的方式引用函数即可。

列表模板调用:'.cmsdx_time($r[newstime],0).' 

内容模板调用:<?=cmsdx_time($navinfor[newstime],0)?>

以上方式适用于帝国cms任何版本,当然最新的7.2版本也不在话下。但本方法有一个缺陷,就是显示的是刷新生成页面时的相对时间,以后cms大学会教大家js方式的时间显示,较之于php函数方式,可以做到时间的实时更新,至于怎么使用,就见仁见智了。

Tags: 信息   时间   人性化
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.