當前位置: 首頁 > 織夢顯示發布時間為多少時間前的實現方法

織夢顯示發布時間為多少時間前的實現方法

365ymw / 2020-03-20
[] [] []

 織夢的文章發布時間調用格式一般分為一下這些:

01 [field:pubdate function="MyDate('Y-m-d',@me)"/]
02 2013-12-17
03 [field:pubdate function=MyDate('m-d',@me)/]
04 12-17
05 [field:pubdate function=MyDate('y-m-d',@me)/]
06 13-12-17
07 [field:pubdate function='strftime("%y-%m-%d %H:%M:%S",@me)'/]
08 13-12-17 10:35:21
09 [field:pubdate function='strftime("%m-%d %H:%M:%S",@me)'/]
10 12-17 10:35:21
11 [field:pubdate function='strftime("%y年%m月%d日",@me)'/]
12 13年12月17日
13 [field:pubdate function='strftime("%Y年%m月%d日 %H點%M分%S秒",@me)'/]
14 13年12月17日 12點12分30秒

 

有的時候,我們想做到不直接顯示具體時間,而是以幾天前、幾月前這樣的時間間隔方式來顯示, 更利于讓訪客直觀地看到文章的發布時段,以上的調用方法則不適用了。

教大家如何實現顯示發布時間為多少時間前,主要有兩種方法。

 

一、模板直接寫PHP語句

01 [field:pubdate runphp='yes']
02 $today = Floor(time()/(3600 * 24));
03 $senday= Floor(@me/(3600 * 24));
04 $updays = $today-$senday;
05 if($updays >= 30 && $updays < 60) @me="1個月前";
06 elseif($updays >= 60 && $updays < 90) @me="2個月前";
07 elseif($updays >= 90 && $updays < 120) @me="3個月前";
08 elseif($updays >= 120 && $updays < 150) @me="4個月前";
09 elseif($updays >= 150 && $updays < 180) @me="5個月前";
10 elseif($updays >= 180 && $updays < 210) @me="6個月前";
11 elseif($updays >= 210 && $updays < 240) @me="7個月前";
12 elseif($updays >= 240 && $updays < 270) @me="8個月前";
13 elseif($updays >= 270 && $updays < 300) @me="9個月前";
14 elseif($updays > 300 && $updays < 330) @me="10個月前";
15 elseif($updays > 330 && $updays < 360) @me="11個月前";
16 elseif($updays >= 360) @me="一年前";
17 elseif($updays==0) @me = "今日";
18 else @me = $updays."天前";
19 [/field:pubdate]

 

二、自定義函數

在include/extend.func.php文件中加入以下代碼:


 

01 //文章發布多少時間前
02       function tranTime($time) {
03       $today = Floor(time()/(3600 * 24));
04       $senday= Floor($time/(3600 * 24));
05       $updays = $today-$senday;
06       if($updays==0)
07       $str = '今天';
08       elseif ($updays >=1 && $updays < 31) {
09               $str = $updays.'天前 ';
10       }
11       elseif ($updays >= 31&& $updays < 365) {
12               $m = floor($updays / 31);
13               $str = $m.'月前 ';
14       }
15           elseif ($updays >= 31&& $updays < 365) {
16               $y = floor($updays / (31* 365));
17               $str = $y.'年前 ';
18       }
19       else {
20               $str = $rtime;
21       }
22       return $str;
23                                                     }

如果要顯示幾分鐘和幾小時,則自行加入判斷函數

        

1 elseif ($updays >0 && $updays < 1 ) {
2  
3         $h = floor($updays * 24);
4  
5         $str = $h.'小時前 ';
6  
7         }

 

調用方法

列表頁:[field:pubdate function="tranTime(@me)" /]

內容頁:{dede:field.pubdate function="tranTime(@me)"/}

 

以上兩種方法都可以實現調用,第一種方法是直接把php語法寫入模版中,會顯得文件比較冗余,建議使用第二種自定函數的方式,簡單明了。

本文鏈接:http://www.98904096.buzz/article-1472.html 轉載請保留出處,謝謝!

中查找“織夢顯示發布時間為多少時間前的實現方法”更多相關內容

用戶評論

暫時還沒有任何用戶評論
用戶名: 匿名用戶
E-mail:
評價等級:
評論內容:
驗證碼: captcha

瀏覽歷史

免責條款 | 隱私保護 | 聯系我們 | 公司簡介 | 報價單 | 積分商城 | 留言板
Copyright © 2010-2020 365ymw.com All Rights Reserved. 365源碼商城 版權所有 備案序號:鄂ICP備14007731號-2
Tel:13636200495 E-mail:[email protected]
QQ QQ
共執行 170 個查詢,用時 0.137597 秒,在線 94 人,Gzip 已禁用,占用內存 9.558 MB
流量統計:
  • VIP代理加盟
  • 電話咨詢
  • 13636200495
精品網站源碼商城二維碼
黑龙江6+1玩法