帝国cms实现发布时间为几小时前几天前等格式的方法

COS、CDN

要在帝国CMS中实现时间显示为“几小时前”、“几天前”等格式,可以通过自定义函数来完成。以下是具体的步骤和代码示例。

步骤

  1. 编写自定义函数:将自定义函数写入 userfun.php 文件中。
  2. 调用函数:在列表模板和内容模板中调用该函数。

自定义函数

将以下代码放入 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 . "前"; } ?>

调用函数

列表模板调用

在列表模板中调用该函数:

html
 
'.user_time($r[newstime], 0).'

这里的 $r[newstime] 是当前记录的时间字段。

内容模板调用

在内容模板中调用该函数:

html
 
<?=user_time($navinfor[newstime], 0)?>

这里的 $navinfor[newstime] 是当前记录的时间字段。

COS、CDN
热门