在织梦CMS(DedeCMS)中,日期和时间的显示格式可以通过多种方式进行调用和自定义,以下是一些常见的日期时间格式及其实现方法:
首页时间标签
1、月日
[field:pubdate function='strftime("%m%d",@me)'/]
效果示例:1227
2、月份 日期, 年份
[field:pubdate function='strftime("%b %d, %Y",@me)'/]
效果示例:May 15, 2012
列表页时间标签
1、年月日 时:分:秒
[field:pubdate function="GetDateTimeMK(@me)"/]
效果示例:20120820 18:30:02
2、仅年月日
[field:pubdate function="GetDateMK(@me)"/]
效果示例:20120820
其他常见格式
1、仅日期
[field:pubdate function=strftime('%d',@me)/]
效果示例:08
2、日期后加“日”字
[field:pubdate function=strftime('%d日',@me)/]
效果示例:08 日
3、月日
[field:pubdate function=strftime('%m%d',@me)/]
效果示例:0608
4、月日
[field:pubdate function=strftime('%m月%d日',@me)/]
效果示例:06月08日
5、年月日
[field:pubdate function=strftime('%y%m%d',@me)/]
效果示例:090608
6、年月日(带世纪)
[field:pubdate function=strftime('%Y%m%d',@me)/]
效果示例:20090608
7、年月日(中文格式)
[field:pubdate function=strftime('%y年%m月%d日',@me)/]
效果示例:09年06月08日
8、年月日(带世纪,中文格式)
[field:pubdate function=strftime('%Y年%m月%d日',@me)/]
效果示例:2009年06月08日
9、年月日 时:分
[field:pubdate function=strftime('%Y%m%d %H:%M',@me)/]
效果示例:20090608 13:28
页时间标签
1、年月日
{dede:field name='pubdate' function='GetDateMk(@me)'/}
效果示例:20120820
2、月份 日期, 年份
{dede:field name='pubdate' function='strftime("%b %d, %Y",@me)'/}
效果示例:May 15, 2012
特殊显示格式
1、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]
效果示例:如果时间在24小时内,时间显示为红色。
2、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]
效果示例:今日
或XX天前
。
strftime()函数格式化参数详解
利用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
问题1:如何在DEDECMS中使用strftime函数来格式化日期和时间?
在DEDECMS中,你可以使用strftime函数来格式化日期和时间,如果你想显示当前的日期和时间,可以使用以下代码:
[field:pubdate function=’strftime("%Y%m%d %H:%M:%S",@me)’/]
这段代码将显示类似于“20121225 14:30:00”这样的日期和时间。
问题2:如何在DEDECMS中显示相对时间,如“XX天前”?
要在DEDECMS中显示相对时间,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]
这段代码会根据当前时间和文章发布时间计算出相差的天数,并显示为“或“XX天前”。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1222290.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复