在DEDECMS中,时间日期标签的使用非常灵活,可以通过不同的函数和格式来展示各种样式的日期和时间,以下是一些常用的时间日期标签及其使用示例:
1、首页时间标签
月日格式:[field:pubdate function='strftime("%m%d",@me)'/]
完整日期格式:[field:pubdate function='strftime("%b %d, %Y",@me)'/]
2、列表页时间标签
完整时间戳:[field:pubdate function="GetDateTimeMK(@me)"/]
仅日期:[field:pubdate function="GetDateMK(@me)"/]
3、内容页时间标签
带函数的日期:{dede:field name='pubdate' function='GetDateMk(@me)'/}
自定义日期格式:{dede:field name='pubdate' function='strftime("%b %d, %Y",@me)'/}
4、特殊效果时间显示
24小时内的时间红色显示:
[field:pubdate runphp='yes'] $a="<font color='#ff0000'>"; $b="</font>"; $c=strftime("%Y年%m月%d日 %H:%M:%S","@me"); $ntime = time(); $oneday = 3600 * 24; if(($ntime @me)<$oneday) @me = $a.$c.$b; else @me =$c; [/field:pubdate]
自定义多少天以前:
[field:pubdate runphp='yes'] $today = Floor(time()/(3600 * 24)); $senday= Floor(@me/(3600 * 24)); $updays = $today$senday; if($updays==0) @me = "quot;; else @me = $updays."天前"; [/field:pubdate]
5、利用strftime()函数格式化时间
星期几的简写:%a
月份的全称:%B
标准的日期时间串:%c
年份的后两位数字:%y
十进制表示的每年的第几天:%j
24小时制的小时:%H
12小时制的小时:%I
十进制表示的分钟数:%M
十进制的秒数:%S
时区名称:%z
表格归纳
标签类型 | 调用代码 | 说明 |
首页时间标签 | [field:pubdate function='strftime("%m%d",@me)'/] | 月日格式 |
[field:pubdate function='strftime("%b %d, %Y",@me)'/] | 完整日期格式 | |
列表页时间标签 | [field:pubdate function="GetDateTimeMK(@me)"/] | 完整时间戳 |
[field:pubdate function="GetDateMK(@me)"/] | 仅日期 | |
内容页时间标签 | {dede:field name='pubdate' function='GetDateMk(@me)'/} | 带函数的日期 |
{dede:field name='pubdate' function='strftime("%b %d, %Y",@me)'/} | 自定义日期格式 | |
特殊效果时间显示 | [field:pubdate runphp='yes']... [/field:pubdate] | 24小时内的时间红色显示,自定义多少天以前 |
strftime()函数 | %a ,%B ,%c ,%y ,%j ,%H ,%I ,%M ,%S ,%z | 各种时间格式参数 |
常见问题解答(FAQs)
1、如何在DEDECMS中显示文章发布时间为“刚刚发布”或者“几分钟前”?
解答:可以使用以下代码来实现:
[field:pubdate runphp='yes'] $now = time(); $pubdate = @me; $minutes = round(abs($now $pubdate) / 60); if ($minutes < 1) { @me = "刚刚发布"; } else { @me = $minutes . "分钟前"; } [/field:pubdate]
2、如何在DEDECMS中以红色字体显示24小时内的文章发布时间?
解答:可以使用以下代码来实现:
[field:pubdate runphp='yes'] $a="<font color='#ff0000'>"; $b="</font>"; $c=strftime("%Y年%m月%d日 %H:%M:%S","@me"); $ntime = time(); $oneday = 3600 * 24; if(($ntime @me)<$oneday) @me = $a.$c.$b; else @me =$c; [/field:pubdate]
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1230596.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复