当前位置:首页 > 行业动态 > 正文

如何在dedecms中调用和格式化时间?

dedecms时间格式调用汇总(收藏),,1. 发布时间: {dede:field name='pubdate' function='GetDateMK(@me)'/},2. 点击次数: {dede:field name='click' function='GetClick(@me)'/},3. 评论数量: {dede:field name='id' function='GetComments(@me)'/},4. 来源: {dede:field name='source' function='GetSource(@me)'/},5. 作者: {dede:field name='writer' function='GetWriter(@me)'/},6. 关键词: {dede:field name='keywords' function='GetKeywords(@me)'/},7. 描述: {dede:field name='description' function='GetDescription(@me)'/},8. 缩略图: {dede:field name='litpic' function='GetLitPic(@me)'/},9. 内容摘要: {dede:field name='description' function='cn_substr(@me,250)'/},10. 自定义字段1: {dede:field name='diyname1' function='GetDiyName1(@me)'/},11. 自定义字段2: {dede:field name='diyname2' function='GetDiyName2(@me)'/},12. 自定义字段3: {dede:field name='diyname3' function='GetDiyName3(@me)'/}

在DedeCMS中,时间格式的调用可以通过多种标签和函数实现,以下是一些常见的时间格式调用示例:

如何在dedecms中调用和格式化时间?  第1张

代码 说明 输出结果
{dede:field name=’pubdate’ function=’strftime(“%Y年%m月%d日 %H:%M:%S”,”@me”)’ /} 显示完整的年月日时分秒 2007年1月1日 18:30:02
{dede:field name=’pubdate’ function=’strftime(“%Y%m%d %H:%M:%S”,”@me”)’ /} 以连字符分隔的年月日时分秒 200711 18:30:02
{dede:field name=’pubdate’ function=’strftime(“%Y年%m月%d日 %H时%M分%S秒”,”@me”)’ /} 中文格式的时间,带“时”、“分”和“秒” 2007年1月1日 18时30分02秒
{dede:field name=’pubdate’ function=’strftime(“%m%d %H:%M:%S”,”@me”)’ /} 只显示月日和时分秒 11 18:30:02
{dede:field name=’pubdate’ function=’strftime(“%m%d”,”@me”)’ /} 只显示月日 11
{dede:field name=’pubdate’ function=’strftime(“%a %b %d, %Y”,@me)’ /} 星期简写、月份简写、日期和年份 Jan 01, 2007
{dede:field name=’pubdate’ function=’strftime(“%A %B %d, %Y”,@me)’ /} 星期全称、月份全称、日期和年份 Monday January 01, 2007
{dede:field name=’pubdate’ function=’strftime(“%Y%m%d”,@me)’ /} 标准的年月日格式,以连字符分隔 20070101
{dede:field name=’pubdate’ function=’GetDateMK(@me)’ /} 获取发布日期(月/日/年) 01/01/2007
{dede:field name=’pubdate’ function=’GetDateTimeMK(@me)’ /} 获取完整日期时间(年/月/日 时:分:秒) 20080101 18:30:02

FAQs

Q1: 如何在DedeCMS中显示24小时内的时间为红色?

A1: 在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]

这段代码通过比较当前时间和发布时间,如果时间差小于24小时,则将时间文本用红色显示。

Q2: 如何显示文章是“XX天前”发布的?

A2: 要在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天前”。

Dedecms 时间格式调用汇总(收藏)

DedeCMS(帝都内容管理系统)是一款功能强大的开源内容管理系统,它支持多种时间格式的调用,以下是对DedeCMS中常用时间格式调用的汇总,希望能帮助您更好地使用DedeCMS。

1. 基础时间格式

DedeCMS中的基础时间格式主要依赖于PHP的date()函数,以下是一些常用的时间格式:

格式代码 说明
Ymd 年月日
Ymd H:i:s 年月日 时:分:秒
dmY 日月年
m/d/Y 月/日/年
H:i:s 时:分:秒

2. 时间戳格式

时间戳是Unix时间戳的一种表示方法,DedeCMS也支持时间戳的调用:

格式代码 说明
U 时间戳(秒)
c ISO 8601 格式的字符串
r RFC 2822 格式的字符串
X RFC 1123 格式的字符串
C 世纪

3. 自定义时间格式

您也可以通过自定义格式字符串来显示时间:

echo date('Y年m月d日 H:i:s');

4. 日期和时间函数

DedeCMS还提供了一些特定的日期和时间函数,用于处理日期和时间:

函数名称 说明
GetDate() 获取指定时间格式的字符串
GetTime() 获取当前时间戳
MkTime() 根据年、月、日、时、分、秒生成时间戳
Time() 返回当前的Unix时间戳

5. 常见场景调用示例

以下是一些在DedeCMS中常见的时间调用场景:

获取当前日期和时间

echo GetDate('Ymd H:i:s');

获取特定日期的时间戳

echo MkTime(2023, 4, 5, 12, 34, 56);

将时间戳转换为日期格式

echo date('Ymd', $timestamp);

显示自定义格式的时间

echo GetDate('Y年m月d日', $timestamp);

6. 注意事项

在调用时间格式时,请确保时间戳或日期参数正确无误。

在使用自定义格式字符串时,请遵循PHPdate() 函数的格式规范。

通过以上汇总,希望您能更轻松地在DedeCMS中使用时间格式调用,如需进一步了解,请参考DedeCMS官方文档或相关PHP时间处理资料。

0