使用 GetDateTimeMK() 函数(最常用)
这个函数专门用于获取日期,并会根据后台的全局设置来决定显示的格式。

(图片来源网络,侵删)
基本用法
在文章列表页(如 arclist.htm)或文章内容页(如 article_article.htm)的模板文件中,使用以下标签:
[field:pubdate function='GetDateTimeMK(@me)'/]
field:pubdate:这是调用文章发布时间字段。function='GetDateTimeMK(@me)':这是一个函数处理。@me:代表field:pubdate当前的值,也就是一个Unix时间戳。GetDateTimeMK():是DedeCMS内置的函数,它会将Unix时间戳转换为你想要的日期格式。
自定义日期格式
GetDateTimeMK() 函数本身可以接受一个参数来指定日期格式,这个格式与PHP的 date() 函数格式相同。
常用格式:
-
格式:
Y-m-d H:i:s
(图片来源网络,侵删)- 显示效果:
2025-10-27 15:30:00 - 标签写法:
[field:pubdate function='GetDateTimeMK("Y-m-d H:i:s", @me)'/]
- 显示效果:
-
格式:
Y-m-d- 显示效果:
2025-10-27 - 标签写法:
[field:pubdate function='GetDateTimeMK("Y-m-d", @me)'/]
- 显示效果:
-
格式:
Y年m月d日- 显示效果:
2025年10月27日 - 标签写法:
[field:pubdate function='GetDateTimeMK("Y年m月d日", @me)'/]
- 显示效果:
-
格式:
m-d- 显示效果:
10-27 - 标签写法:
[field:pubdate function='GetDateTimeMK("m-d", @me)'/]
- 显示效果:
实际应用示例
假设你的文章列表模板文件是 /templets/default/list_article.htm,你想让每篇文章显示“年-月-日”格式的发布日期。

(图片来源网络,侵删)
在循环列表的代码块中(通常由 {dede:list} 或 {dedarclist} 标签控制),找到合适的位置,插入如下代码:
<ul>
{dede:list pagesize='10'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span class="date">发布日期:[field:pubdate function='GetDateTimeMK("Y-m-d", @me)'/]</span>
</li>
{/dede:list}
</ul>
使用 MyDate() 函数
MyDate() 是一个更通用的日期格式化函数,用法非常灵活。
基本用法
MyDate() 函数的格式是 MyDate('格式', 'Unix时间戳')。
[field:pubdate function='MyDate("Y-m-d", @me)'/]
"Y-m-d":你指定的日期格式。@me:field:pubdate的值,即Unix时间戳。
你会发现,在大多数情况下,MyDate() 和 GetDateTimeMK() 的写法几乎一样,效果也相同。
与 GetDateTimeMK() 的区别
- 默认行为:
GetDateTimeMK()如果不传格式参数,会调用DedeCMS后台的全局日期格式设置(在“系统” -> “系统基本参数” -> “时间格式”中定义),而MyDate()必须指定一个格式。 - 灵活性:
MyDate()更像一个纯粹的PHPdate()封装,非常灵活,你可以用它来获取“N分钟前”、“1小时前”这样的相对时间,但这通常需要配合其他JS或PHP函数,在DedeCMS中不常用。
对于绝大多数调用日期的需求,直接使用 GetDateTimeMK() 是最简单、最标准、最不容易出错的方式,如果你需要完全自定义格式,并且明确知道你在做什么,MyDate() 也可以胜任。
页调用文章发布日期
页(如 article_article.htm),调用方式与列表页完全相同,因为同样使用 field:pubdate 标签。
页模板中,你可以这样显示发布日期:
<h1>[field:title/]</h1>
<div class="info">
发布时间:[field:pubdate function='GetDateTimeMK("Y-m-d H:i:s", @me)'/]
作者:[field:writer/]
来源:[field:source/]
点击:[field:click/]
</div>
总结与最佳实践
| 函数 | 推荐用法 | 优点 | 缺点 |
|---|---|---|---|
GetDateTimeMK() |
首选,推荐使用 | 语义清晰,与DedeCMS系统结合紧密,如果不传参会遵循后台全局设置。 | 功能相对单一,仅用于日期时间格式化。 |
MyDate() |
作为备选或需要特定格式时 | 功能强大,非常灵活,像一个独立的日期工具。 | 必须指定格式,不如GetDateTimeMK()“官方”。 |
最终建议:
在你的日常DedeCMS模板开发中,请统一使用以下方式调用日期:
[field:pubdate function='GetDateTimeMK("Y-m-d", @me)'/]
将 "Y-m-d" 替换成你当前项目需要的任何日期格式即可,这样既保证了代码的规范性,又能轻松应对各种日期显示需求。
