php,{dede:field name='pubdate' function='GetDateMK(@me)'/},
`,,
pubdate是文章的发布时间字段,
GetDateMK是格式化时间的函数,
@me`表示当前文章。,,4. 保存模板文件,刷新页面查看效果。在DedeCMS(织梦内容管理系统)中,文章发布时间的显示格式可以非常灵活,通过使用多种标签和函数来格式化时间,以下是一些常用的时间标签样式及其实现方法:
首页时间标签
1、月日 样式:
[field:pubdate function='strftime("%m%d",@me)'/]
输出示例:1227
2、May 15, 2012 样式:
[field:pubdate function='strftime("%b %d, %Y",@me)'/]
输出示例:May 15, 2012
3、24小时内的时间显示红色:
[field:pubdate runphp='yes'] $a=""; $b=" $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]
输出示例:如果当前时间与文章发布时间相差不超过24小时,则时间显示为红色。
4、XX天前:
[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]
输出示例:1天前、2天前等。
列表页时间标签
1、20120820 18:30:02 样式:
[field:pubdate function="GetDateTimeMK(@me)"/]
输出示例:20120820 18:30:02
2、20120820 样式:
[field:pubdate function="GetDateMK(@me)"/]
输出示例:20120820
页时间标签
1、20120820 样式:
{dede:field name='pubdate' function='GetDateMk(@me)'/}
输出示例:20120820
2、May 15, 2012 样式:
{dede:field name='pubdate' function='strftime("%b %d, %Y",@me)'/}
输出示例:May 15, 2012
时间格式化函数详解
DEDECMS利用strftime()
函数来格式化时间,该函数支持多种参数,包括但不限于以下几种:
参数 | 说明 |
%a | 星期几的简写 |
%A | 星期几的全称 |
%b | 月份的简写 |
%B | 月份的全称 |
%c | 标准的日期时间串 |
%C | 年份的后两位数字 |
%d | 十进制表示的每月的第几天 |
%D | 月/天/年 |
%e | 在两字符域中,十进制表示的每月的第几天 |
%F | 年月日 |
%g | 年份的后两位数字,使用基于周的年 |
%G | 年分,使用基于周的年 |
%h | 简写的月份名 |
%H | 24小时制的小时 |
%I | 12小时制的小时 |
%j | 十进制表示的每年的第几天 |
%m | 十进制表示的月份 |
%M | 十时制表示的分钟数 |
%n | 新行符 |
%p | 本地的AM或PM的等价显示 |
%r | 12小时的时间 |
%R | 显示小时和分钟:hh:mm |
%S | 十进制的秒数 |
%t | 水平制表符 |
%T | 显示时分秒:hh:mm:ss |
%u | 每周的第几天,星期一为第一天 (值从0到6,星期一为0) |
%U | 每年的第几周,把星期日做为第一天(值从0到53) |
%V | 每年的第几周,使用基于周的年 |
%w | 十进制表示的星期几(值从0到6,星期天为0) |
%W | 每年的第几周,把星期一做为第一天(值从0到53) |
%x | 标准的日期串 |
%X | 标准的时间串 |
%y | 不带世纪的十进制年份(值从0到99) |
%Y | 带世纪部分的十制年份 |
%z, %Z | 时区名称,如果不能得到时区名称则返回空字符 |
相关问答FAQs
Q1: DEDECMS中如何调用带有“天前”格式的时间?
A1: 你可以使用以下代码来实现“XX天前”的时间格式:
[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]
这段代码会根据当前时间和文章发布时间计算天数差,并显示为“、“1天前”、“2天前”等。
Q2: DEDECMS中如何使24小时内的时间显示为红色?
A2: 你可以使用以下代码来实现24小时内的时间显示为红色:
[field:pubdate runphp='yes'] $a=""; $b=" $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]
这段代码会判断当前时间与文章发布时间是否相差不超过24小时,如果是,则将时间显示为红色。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1232890.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复