muban大师 发表于 2021-3-27 11:25:20

织梦显示发布时间为多少时间前的实现方法

织梦的文章发布时间调用格式一般分为一下这些:
       
       
        2013-12-17
       
        12-17
       
        13-12-17
       
        13-12-17 10:35:21
       
        12-17 10:35:21
       
        13年12月17日
       
        13年12月17日 12点12分30秒
       
        有的时候,我们想做到不直接显示具体时间,而是以几天前、几月前这样的时间间隔方式来显示, 更利于让访客直观地看到文章的发布时段,以上的调用方法则不适用了。
       
        教大家如何实现显示发布时间为多少时间前,主要有两种方法。
       
        一、模板直接写PHP语句
       
       
               
                       
                               
                                       
[field:pubdate runphp='yes',
$today = Floor(time()/(3600 * 24));
$senday= Floor(@me/(3600 * 24));
$updays = $today-$senday;
if($updays >= 30 && $updays = 60 && $updays = 90 && $updays = 120 && $updays = 150 && $updays = 180 && $updays = 210 && $updays = 240 && $updays = 270 && $updays300 && $updays330 && $updays = 360) @me="一年前";
elseif($updays==0) @me = "今日";
else @me = $updays."天前";
[/field:pubdate,
                               
                       
               
       

       
        二、自定义函数
       
        在include/extend.func.php文件中加入以下代码:
       
       
               
                       
                               
                                       
//文章发布多少时间前
      function tranTime($time) {
      $today = Floor(time()/(3600 * 24));
      $senday= Floor($time/(3600 * 24));
      $updays = $today-$senday;
      if($updays==0)
      $str = '今天';
      elseif ($updays >=1 && $updays = 31&& $updays = 31&& $updays
                               
                       
               
       

       
        如果要显示几分钟和几小时,则自行加入判断函数
       
        调用方法
       
        列表页:
       
        内容页:{dede:field.pubdate function="tranTime(@me)"/}
       
        以上两种方法都可以实现调用,第一种方法是直接把php语法写入模版中,会显得文件比较冗余,建议使用第二种自定函数的方式,简单明了。
页: [1]
查看完整版本: 织梦显示发布时间为多少时间前的实现方法