首页站内杂志技术文摘
文章内容页

如何动态显示几年前、几天前、几小时前等等兼容各大CMS

  • 作者:雨祺
  • 来源: 原创
  • 发表于2022-10-11 22:46:42
  • 阅读0
  • 如果用PHP的话静态页面是没有办法实时显示几小时前的,所以找了一个用js实现的方法,静态网页也可以使用,还是实时更新的。下面来一个PHP的用于动态网页的,后面在给大家说说用JS在静态网页动态网页都能实时显示的!
    1. function user_time($tm, $num) { 
    2.     if ($num == 1) { 
    3.         $tm = strtotime($tm); 
    4.     } 
    5.     $cur_tm = time(); 
    6.     $dif = $cur_tm - $tm; 
    7.     $pds = array('秒''分钟''小时''天''周''个月''年'); 
    8.     $lngh = array(1, 60, 3600, 86400, 604800, 2630880, 31570560); 
    9.     for ($v = sizeof($lngh) - 1; ($v >= 0) && (($no = $dif / $lngh[$v]) <= 1); $v--); 
    10.     if ($v < 0) $v = 0; 
    11.     $_tm = $cur_tm - ($dif % $lngh[$v]); 
    12.     $no = floor($no); 
    13.     $x = sprintf("%d%s", $no, $pds[$v]); 
    14.     return $x."前"
    如果是帝国CMS的话可以这样调用
    1. <?=user_time($r[newstime],0)?> 
    下面开始今日重点,兼容动静态的!依然以帝国CMS为例:
    1. 引入js文件:建议换成你本地的 js 地址
    1. <script src="https://cdn.bootcss.com/timeago.js/3.0.2/timeago.js"></script> 
    2. 获取时间: 使用灵动标签的话用以下获取
    1. <?=date("Y-m-d H:i:s",$bqr[newstime])?> 
    3.在网页底部加入下列代码
    1. <script> 
    2. // 自动更新 
    3. var timeagoInstance = timeago(); timeagoInstance.render(document.querySelectorAll('.time'),'zh_CN'); 
    4. </script> 
    下载附件为实例代码,大家看着实例修改自己的代码
    1654077964.zip
    8f6126e5b06d391fb51a1d8ad0511ca4.zip (570 Bytes)
    【审核人:站长】

        标题:如何动态显示几年前、几天前、几小时前等等兼容各大CMS

        本文链接:https://www.wenyunfang.com/zazhi/zhongwangjiaocheng/118.html

        赞一下

        深度阅读

        • 您也可以注册成为文韵坊的作者,发表您的原创作品、分享您的心情!

        阅读记录

          关注文韵坊