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

要在帝国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] 是当前记录的时间字段。

posted @   黄文Rex  阅读(18)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示