本文是《帝国cms(共311篇)》专题的第 310 篇。阅读本文前,建议先阅读前面的文章:
打开 /e/class/userfun.php 文件,
添加以下代码:
function user_ago($tm,$rcs = 0) { // 定义函数user_ago,接受两个参数:$tm(过去的时间戳)和$rcs(是否进行递归,默认为0,表示不递归)
$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; // 如果没有找到(也就是说差值小于1秒),则默认使用最小的单位(秒)
$_tm = $cur_tm-($dif%$lngh[$v]); // 计算余数,即除去已经计算出的部分(比如2小时30分钟,这里是计算30分钟)
$no = floor($no); // 对时间差的值取整,得到该单位下的数量(比如2小时30分钟,这里是得到2)
$x=sprintf("%d %s",$no,$pds[$v]); // 格式化输出结果,比如 "2 小时"
if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0)) $x .= time_ago($_tm); // 如果允许递归,并且当前单位不是秒,并且还有剩余时间,则递归调用自身计算剩余时间
return $x."前"; // 返回结果,附加"前"
}
内容页调用:
<?=user_ago($navinfor[newstime])?>
列表內容模板(list.var) (*) 调用:
$listtemp = "发布时间".user_ago($r[newstime])."";
您已阅读完《帝国cms(共311篇)》专题的第 310 篇。请继续阅读该专题下面的文章:
本站模板没有任何后门,也不会和我们服务器有任何通信,请您放心使用。
本源码一次性买断,没有二次费用,并享受免费更新。
在使用本站模板时,请不要使用我们的产品从事违反中华人民共和国法律、违反公序良俗的活动,否则我们有权拒绝服务,并配合有关单位予以处置。如果您不符合条件,请勿购买。
售后是指通过QQ与客服联系处理问题,售后过期不影响您对主题的使用和更新。免费三个月售后服务。售后服务时间为工作日早9点到晚5点。如果不在线可以QQ留言,我们会尽快给您答复。
售后服务包括程序的使用、BUG的处理、意见建议等。不包括技术服务、网站优化、二次开发、环境配置、服务器运维等。
代码类商品属于数字化商品,具有可复制性,不支持退款,详见《网络交易管理办法》第二章 第16条 第三类。
请仔细阅读我们的用户协议:用户协议


