最常用的时间调用标签
在DedeCMS的内容页模板(通常是 article_article.htm)中,最核心、最常用的调用文章发布时间的标签是:

(图片来源网络,侵删)
[field:pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/]
代码解析:
[field:pubdate ... ]:这是调用文章发布时间字段的标签。pubdate是DedeCMS数据库中存储发布时间的字段名。function='...':这是一个函数修饰符,用来对获取到的原始时间进行格式化处理。strftime():这是一个PHP函数,用于将时间戳格式化为你想要的字符串。"%Y-%m-%d %H:%M:%S":这是格式化字符串,定义了时间的输出格式。%Y:四位数的年份(2025)%m:两位数的月份(01-12)%d:两位数的日期(01-31)%H:24小时制的小时(00-23)%M:分钟(00-59)%S:秒(00-59)
常见的时间格式化示例
你可以根据需要修改 strftime() 中的格式化字符串来得到不同样式的时间。
只显示年月日
这是最常见的需求,2025-10-27。
[field:pubdate function='strftime("%Y-%m-%d",@me)'/]
或者使用更简洁的写法(DedeCMS内置了 MyDate 函数):

(图片来源网络,侵删)
[field:pubdate function='MyDate("Y-m-d",@me)'/]
注意: MyDate 是DedeCMS自定义的函数,功能与 strftime 类似,但更简单。Y-m-d 是 MyDate 函数特有的格式化参数。
只显示月日
10-27。
[field:pubdate function='strftime("%m-%d",@me)'/]
或
[field:pubdate function='MyDate("m-d",@me)'/]
显示中文年月日
2025年10月27日。

(图片来源网络,侵删)
[field:pubdate function='strftime("%Y年%m月%d日",@me)'/]
或
[field:pubdate function='MyDate("Y年m月d日",@me)'/]
显示带星期的时间
2025年10月27日 星期五。
[field:pubdate function='strftime("%Y年%m月%d日 %A",@me)'/]
或
[field:pubdate function='MyDate("Y年m月d日",@me) 星期几'/]
注意: MyDate 函数对星期的支持可能不如 strftime 的 %A(英文全名)或 %w(数字)或 %a(英文缩写)灵活,直接使用 strftime 更稳妥。
调用文章更新时间
除了发布时间,你可能还需要调用文章的最后一次更新时间,这个时间字段在DedeCMS中通常是 uptime。
调用方法和发布时间完全一样,只需要把 pubdate 换成 uptime 即可。
调用更新时间(标准格式)
[field:uptime function='strftime("%Y-%m-%d %H:%M:%S",@me)'/]
调用更新时间(仅年月日)
[field:uptime function='MyDate("Y-m-d",@me)'/]
实用技巧:如果文章有更新时间则显示,否则显示发布时间
这个功能非常有用,可以通过DedeCMS的 if 标签来实现。
{dede:field.name='uptime' runphp='yes'}
if(@me == '') {
@me = "发布时间:".strftime("%Y-%m-%d", @me);
} else {
@me = "更新时间:".strftime("%Y-%m-%d", @me);
}
{/dede:field.name}
代码解析:
{dede:field.name='uptime' runphp='yes'}:获取uptime字段的值,并开启PHP执行。if(@me == ''):判断获取到的更新时间是否为空。@me = "...":如果为空,就给@me变量(即最终输出的内容)赋值为“发布时间:...”。else { ... }:如果不为空,就赋值为“更新时间:...”。@me的值会被输出到页面上。
总结与最佳实践
| 需求 | 推荐标签代码 | 说明 |
|---|---|---|
| 标准发布时间 | [field:pubdate function='MyDate("Y-m-d H:i:s",@me)'/] |
最常用,清晰易读。 |
| 简短发布日期 | [field:pubdate function='MyDate("Y-m-d",@me)'/] |
适合列表页或空间有限的地方。 |
| 中文发布日期 | [field:pubdate function='MyDate("Y年m月d日",@me)'/] |
符合中文阅读习惯。 |
| 文章更新时间 | [field:uptime function='MyDate("Y-m-d",@me)'/] |
调用文章最后修改时间。 |
| 智能时间判断 | 使用 runphp='yes' 的 if 判断 |
优雅地处理无更新时间的情况。 |
小贴士:
在DedeCMS中,MyDate 函数通常是比 strftime 更优先的选择,因为它更简洁,且是DedeCMS内核专门为模板设计的,但在一些复杂的格式化场景下,strftime 的功能更强大。
你可以直接将这些代码复制到你的内容页模板文件(/templets/default/article_article.htm)中的相应位置,例如文章标题下方、作者信息旁边等。
