管理系统(DEDECMS)中,日期和时间的格式化是一个重要且常见的功能,尤其是在展示文章发布时间、更新时间等方面,以下是一些常见的日期时间格式及其对应的标签示例:
常用日期时间格式
格式代码 | 描述 | 示例输出 |
[field:pubdate function='strftime("%m%d",@me)'/] | 月日 | 1227 |
[field:pubdate function='strftime("%b %d, %Y",@me)'/] | 月份简写 日期, 年份 | May 15, 2009 |
[field:pubdate function="GetDateTimeMK(@me)"/] | 年月日 时:分:秒 | 20120820 18:30:02 |
{dede:field name='pubdate' function='GetDateMk(@me)'/} | 年月日 | 20120820 |
[field:pubdate runphp='yes'] $a=""; $b=""; $c=strftime("%Y年%m月%d日 %H:%M:%S","@me"); $ntime = time(); $oneday = 3600 * 24; if(($ntime @me) | 最近24小时内的时间显示红色,否则正常显示 | 如果当前时间距离发布时间小于24小时,则显示为红色时间,如“2023年10月19日 10:00:00”,否则正常显示 |
{dede:tagname runphp='yes'}@me = date("Ymd H:i:s", time());{/dede:tagname} | 获取当前系统时间并格式化 | 20231019 10:00:00 |
[field:pubdate runphp='yes'] $today = Floor(time()/(3600 * 24)); $senday= Floor(@me/(3600 * 24)); $updays = $today$senday; if($updays==0) @me = "; else @me = $updays."天前"; [/field:pubdate] | 计算与今天的时间差并显示为“或“X天前” | 如果发布时间是今天,则显示为“,否则显示为“X天前”,如“5天前” |
利用strftime()函数格式化时间
格式代码 | 描述 |
%a | 星期几的简写(如Mon) |
%A | 星期几的全称(如Monday) |
%b | 月份的简写(如Jan) |
%B | 月份的全称(如January) |
%c | 标准的日期的时间串(如Tue Aug 15 12:08:56 2001) |
%C | 年份的后两位数字(如01) |
%d | 十进制表示的每月的第几天(如0131) |
%D | 月/天/年(如08/15/01) |
%e | 在两字符域中,十进制表示的每月的第几天 |
%F | 年月日(如20010815) |
%g | 年份的后两位数字,使用基于周的年 |
%G | 年分,使用基于周的年 |
%h | 简写的月份名(如Jan) |
%H | 24小时制的小时(0023) |
%I | 12小时制的小时(0112) |
%j | 十进制表示的每年的第几天(如001366) |
%m | 十进制表示的月份(0112) |
%M | 十进制表示的分钟数(0059) |
%n | 新行符 |
%p | 本地的AM或PM的等价显示 |
%r | 12小时的时间(如10:30:29 PM) |
%R | 显示小时和分钟:hh:mm |
%S | 十进制的秒数(0059) |
%t | 水平制表符 |
%T | 显示时分秒:hh:mm:ss |
%u | 每周的第几天,星期一为第一天(值从0到6,星期一为0) |
%U | 第年的第几周,把星期日做为第一天(值从0到53) |
%V | 每年的第几周,使用基于周的年 |
%w | 十进制表示的星期几(值从0到6,星期天为0) |
%W | 每年的第几周,把星期一做为第一天(值从0到53) |
%x | 标准的日期串(如%m/%d/%y) |
%X | 标准的时间串(如%H:%M:%S) |
%y | 不带世纪的十进制年份(值从0到99) |
%Y | 带世纪部分的十制年份 |
%z | 时区名称,如果不能得到时区名称则返回空字符 |
FAQs
Q1: DEDECMS中如何调用自定义格式的日期时间?
A1: 在DEDECMS中,可以通过strftime()
函数来自定义日期时间的格式,如果你想要显示“年月日 时:分:秒”的格式,可以使用以下代码:
[field:pubdate function='strftime("%Y年%m月%d日 %H:%M:%S",@me)'/]
这将输出类似于“2023年10月19日 10:00:00”的格式。
Q2: 如何在DEDECMS中显示相对时间,如“X天前”?
A2: 你可以使用以下的PHP代码来实现这个功能:
[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]
这段代码会计算出当前时间与发布时间的差值,并根据差值显示“或“X天前”。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1223102.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复