在网上试了好几个,终于通过各种组合,成功了一个,发出来给大家看看,同时六个备份,以便以后自己使用。在此还是得感觉懂代码的贡献者。不多说,放码。
把以下的内容复制到 /e/class/userfun.php 文件里,放在<?php和?>之间就可以了。
function user_time($tm, $num) {if ($num == 1) {$tm = strtotime($tm);}$cur_tm = time();$dif = $cur_tm - $tm;$pds = array('秒', '分钟', '小时', '天', '周', '个月', '年');$lngh = array(1, 60, 3600, 86400, 604800, 2630880, 31570560);for ($v = sizeof($lngh) - 1; ($v >= 0) && (($no = $dif / $lngh[$v]) <= 1); $v--);if ($v < 0) $v = 0;$_tm = $cur_tm - ($dif % $lngh[$v]);$no = floor($no);$x = sprintf("%d%s", $no, $pds[$v]);return $x."前";}
然后在帝国cms模版里放入相应的时间标签。
1、在标签模板、列表模板中的调用:
'.user_time($r[newstime],0).'
2、在内容页中调用:
<?=user_time($navinfor[newstime],0)?>
3、在评论JS调用模板调用方法:
在评论JS调用模板把
[!----pltime--]换成<?=user_time($r[saytime],1)?>
然后打开eplmoreindex.php ,找到:
require("../../class/connect.php");下一行加入以下代码:
require("../../class/userfun.php");然后保存。
帝国cms的时间显示是可以跟根自己的需要进行一个改进的,这样就非常个性化了也更加直观一点,通过自写函数来实现调用也很方便。
这里介绍通过PHP新加网站的函数来使用方式,下面是代码:
function moban5_time($tm,$num) {
if($num==1){
$tm = strtotime($tm);
}
$cur_tm = time(); $dif = $cur_tm-$tm;
$pds = array('秒','分钟','小时','天','周','个月','年');
$lngh = array(1,60,3600,86400,604800,2630880,31570560);
for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
$no = floor($no);
$x=sprintf("%d%s",$no,$pds[$v]);
return $x."前";
}
在公共接口中加入以上代码 /e/class/userfun.php 文件第二行起加入。
列表内容页list.var模板调用:
'.moban5_time($r[newstime],0).'
内容模板调用:
<?=moban5_time($navinfor[newstime],0)?>
以上方式适用于帝国cms任何版本,这个函数是用来对比发布时间与刷新时间之间的差别来显示的,什么时候刷新就显示距离发布多久时候的时间。
本文由乐乐博客帝国CMS栏目发布,感谢您对乐乐博客的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“帝国CMS时间格式改成分钟小时几天前(时间样式设置方法)”