帝国cms发布于10秒前 1周前 1个月前 倒计时函数设置方法
时间:2024年04月10日
/来源:网络
/编辑:佚名
打开 /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."前"; // 返回结果,附加"前"
}
Select CodeCopy
内容页调用:
<?=user_ago($navinfor[newstime])?>
Select CodeCopy
列表內容模板(list.var) (*) 调用:
$listtemp = "发布时间".user_ago($r[newstime])."";
添加以下代码:
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."前"; // 返回结果,附加"前"
}
Select CodeCopy
内容页调用:
<?=user_ago($navinfor[newstime])?>
Select CodeCopy
列表內容模板(list.var) (*) 调用:
$listtemp = "发布时间".user_ago($r[newstime])."";
新闻资讯 更多
- 【帝国cms教程】帝国cms发布于10秒前 1周前 1个月前 倒计时函数设置方法04-10
- 【帝国cms教程】帝国cms定时审核功能中用swoole实现毫秒级审核/swoole中毫秒定时器(Timer)的使用04-10
- 【帝国cms教程】帝国cms中sql语句之复制一个表中某个字段的值到另外一个字段04-10
- 【帝国cms教程】帝国cms美化后台登录界面一例04-10
- 【帝国cms教程】帝国cms栏目页如何调用显示全部分类(父栏目)的链接04-10
- 【帝国cms教程】帝国cms如何修改编辑器的附件样式04-10
- 【帝国cms教程】帝国CMS7.5基于迅搜(Xunsearch)的全文搜索插件04-10
- 【帝国cms教程】帝国cms搜索XunSearch设置为服务 开机自动启动04-10
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8帝国cms后台登录出现”您还未登录”怎么解决?
- 9织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法