最近更新自己的博客站,想帝国cms的首页、列表页、内容页等区域的时间格式个性化显示成如多少分钟前或是多少小时前。网络上找了好多资料,总是不是自己想要的, 结合需要整理一下现在分享各位朋友们!
实现的原理是通过帝国cm后台用户自定义userfun.php增加php时间计算代码。
具体操作如下:
第一步:将下方PHP代码复制到帝国cms后台 /e/class/userfun.php 文件中,放在“<?php”和“?>”之间然后保存即可。
注意:建议放在底部“?>”之前,这样有利于自己查找以及修改,并在其实位置做好注释。
//时间格式显示几分钟,几小时,几天前的php 个性化时间代码
function user_52muban_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、列表内容页list.var模板调用:
'.user_52muban_time($r[newstime],0).'
2、在帝国cms内容页中调用:
<?=user_52muban_time($navinfor[newstime],0)?>
关于帝国CMS内容页列表页的时间格式显示几分钟,几小时,几天前的php 个性化时间代码,此方法适用于帝国cms任何版本,这个函数是根据发布时间与刷新时间之间的时间差值来显示,什么时间刷了页面就显示刷新与发布的时间差值。