首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

DedeCMS 日期格式化標籤大全:MyDate、strftime 與自定義格式技巧

     編輯:PHP 相關知識

DedeCMS 日期時間輸出完全指南

DedeCMS 提供專用 MyDate() 函數與標準 strftime() 支援,靈活滿足列表頁、內容頁、自定義模板的多樣化日期顯示需求。

MyDate() 函數(推薦,框架封裝)

{* 列表頁/首頁 arclist 標籤中 *}
[field:pubdate function="MyDate('Y-m-d',@me)"/]        {* 2024-03-15 *}
[field:pubdate function="MyDate('m-d',@me)"/]          {* 03-15 *}
[field:pubdate function="MyDate('Y-m-d H:i:s',@me)"/]  {* 2024-03-15 14:30:00 *}

{* 內容頁/單頁 *}
{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}
  • @me 代表當前字段值(Unix 時間戳)。
  • 格式字符同 PHP date():Y 四位年、m 雙位月、d 雙位日、H 24 時、i 分、s 秒。

strftime() 函數(支援本地化格式)

[field:pubdate runphp='yes']
@me = strftime("%Y年%m月%d日 %H:%M:%S", @me);
[/field:pubdate]
{* 輸出:2024年03月15日 14:30:00 *}
  • runphp='yes' 允許標籤內執行 PHP 代碼。
  • 格式字符參考 strftime 手冊:%Y 年、%m 月、%d 日、%H 時、%M 分、%S 秒、%A 星期全稱、%a 縮寫。
  • 注意:Dede 模板解析器對 % 處理有特殊性,複雜格式建議用 runphp 模式或自定義函數。

常用格式字符速查表

字符含義範例
%Y / %y四位/兩位年份2024 / 24
%m零補位月份03
%d / %e零補位/空格補位日期15 / 15
%H / %I24/12 小時制14 / 02
%M分鐘30
%S秒05
%A / %a星期全稱/縮寫Friday / Fri
%B / %b月份全稱/縮寫March / Mar
%c標準日期時間Fri Mar 15 14:30:05 2024
%FISO 日期 (Y-m-d)2024-03-15
%R時間 (H:M)14:30
%T時間 (H:M:S)14:30:05

進階技巧

  1. 相對時間(幾分鐘前、幾天前):需自定義函數,模板中 [field:pubdate function="relativeTime(@me)"]/。
  2. 時區處理:DedeCMS 5.7+ 支援 $cfg_timezone 配置,確保 php.ini 與框架一致。
  3. 緩存優化:列表頁大量日期格式化會消耗 CPU,開啟模板緩存(後台-系統-性能優化)可大幅提升。

常見問題

  • 日期顯示 1970-01-01:字段值為空或 0,檢查發布時間是否正確寫入。
  • 格式不生效:確認標籤語法(引號、括號、@me 大小寫),清理緩存重試。
  • 內容頁標籤不同:用 {dede:field.pubdate .../} 而非 [field:...]。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved