不少朋友想在页面上显示更人性化的时间,像微博等网站会有这种显示方式,几分钟前、几小时前、几天前等等,更加人性化。武林网曾经在前面《如何将织梦发布的文章显示成"今天、昨天、前天"》一文中介绍了织梦CMS如何实现的,今天武林网小编再给大家介绍下帝国cms信息发布时间显示为:几秒前、几分钟前、几天前的实现办法。具体的操作是用php语言的使用方式,我们将代码封装成函数。实现代码如下
function cmsdx_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."前"; }
我们可以将函数存储在userfun.php文件中,也可以单独存在其他文件中引入。
接下来按照下面的方式引用函数即可。
列表模板调用:
'.cmsdx_time($r[newstime],0).'
内容模板调用:
<?=cmsdx_time($navinfor[newstime],0)?>
以上的方式适用于帝国cms任何版本,当然最新的7.2版本也完全适应。但该方法有一个缺陷,那就是显示的是刷新生成页面时的相对时间,和我们常规见到的用js方式的时间显示,可以做到时间的实时更新,有些不同,以后我们会陆续给大家介绍使用JS实现的方法,敬请期待。
以上就是帝国cms信息发布时间显示为:几秒前、几分钟前、几天前的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。新闻热点
疑难解答