织梦文章页调用时间

99ANYc3cd6
预计阅读时长 12 分钟
位置: 首页 织梦建站 正文

核心标签

在文章页中,文章的相关信息都存储在特定的系统变量中,我们通过 {dede:field} 标签来调用它们。

织梦文章页调用时间
(图片来源网络,侵删)

调用文章发布时间

这是最常用的时间调用,指的是文章首次被发布的时间。

基本语法:

{dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}

参数说明:

  • pubdate: 这是系统变量,代表文章的发布时间。
  • function='...': 这是一个函数修饰符,用于对获取到的原始时间戳进行格式化。
  • strftime(): 这是PHP中的一个格式化时间的函数。
  • "%Y-%m-%d %H:%M:%S": 这是格式化字符串,定义了时间的输出格式。
    • %Y: 四位数的年份 ( 2025)
    • %m: 两位数的月份 (01-12)
    • %d: 两位数的日期 (01-31)
    • %H: 24小时制的小时 (00-23)
    • %M: 分钟 (00-59)
    • %S: 秒 (00-59)
    • 你可以根据需要自由组合这些符号,例如只显示年月日。

调用文章更新时间

更新时间指的是文章最后一次被修改的时间。

织梦文章页调用时间
(图片来源网络,侵删)

基本语法:

{dede:field.senddate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}

参数说明:

  • senddate: 这是系统变量,代表文章的更新时间(或称修改时间),它与 pubdate 的区别在于,pubdate 是首次发布时间,而 senddate 是每次保存文章时的时间戳。

常用的时间格式示例

你可以通过修改 strftime() 里的格式字符串来获得不同的显示效果。

示例1:只显示年月日

{dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/}

输出效果: 2025-10-27

示例2:显示中文格式的年月日

{dede:field.pubdate function='strftime("%Y年%m月%d日",@me)'/}

输出效果: 2025年10月27日

示例3:显示带星期几的格式

{dede:field.pubdate function='strftime("%Y年%m月%d日 %A",@me)'/}

输出效果: 2025年10月27日 星期五 (注意:中文环境下 %A 可能显示为英文,需要配合PHP环境设置)

示例4:显示更友好的“多久以前”格式 这种格式在博客和新闻网站中非常流行,3天前”、“1小时前”,这需要用到自定义函数。

方法A:使用织梦自带的 GetDateMK 函数

{dede:field.pubdate function='GetDateMK(@me)'/}

输出效果: 3天前1小时前 (这个函数是织梦内置的,可以直接使用)

方法B:使用自定义函数(更灵活) GetDateMK 不满足你的需求,你可以在 /include/extend.func.php 文件中添加自定义函数,然后在模板中调用。

  1. 打开 /include/extend.func.php 文件,在最后面添加以下代码:

    /**
     * 将时间戳转换为“xx天前”、“xx小时前”、“xx分钟前”的格式
     * @param int $time 时间戳
     * @return string
     */
    function timeago($time)
    {
        $timer = time() - $time;
        $tip = '';
        if ($timer < 3600) {
            $tip = floor($timer / 60) . "分钟前";
        } elseif ($timer >= 3600 && $timer < 86400) {
            $tip = floor($timer / 3600) . "小时前";
        } else {
            $tip = floor($timer / 86400) . "天前";
        }
        return $tip;
    }
  2. 在文章页模板中调用这个函数:

    {dede:field.pubdate function='timeago(@me)'/}

    输出效果: 5分钟前2天前


在完整模板中的位置

文章的发布时间会放在文章标题的下方或作者信息的旁边,一个典型的文章页头部结构如下:

<h1>{dede:field.title/}</h1>
<div class="article-info">
    <span>作者:{dede:field.writer/}</span>
    <span>来源:{dede:field.source/}</span>
    <span>发布时间:{dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}</span>
    <span>更新时间:{dede:field.senddate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}</span>
    <span>点击:{dede:field.click/}</span>
</div>
<div class="article-content">
    {dede:field.body/}
</div>

总结与注意事项

  1. 标签选择pubdate发布时间senddate更新时间
  2. 格式化strftime() 是最灵活的时间格式化工具,务必掌握其常用符号。
  3. 自定义函数:对于特殊需求(如“多久以前”),最好的方法是在 extend.func.php 中编写自定义函数,这能让你的模板代码更简洁、可维护性更高。
  4. 缓存问题:织梦有强大的缓存机制,如果你修改了模板文件或自定义函数,但前台页面没有更新,请记得在后台的“系统” -> “一键更新站点” -> “更新HTML” 中更新缓存,或者直接删除 cache 目录下的缓存文件。

希望这份详细的指南能帮助你完美地在织梦文章页中调用所需的时间信息!

-- 展开阅读全文 --
头像
织梦302页面模板
« 上一篇 04-21
如何安全删除织梦超级管理员账号?
下一篇 » 04-21

相关文章

取消
微信二维码
支付宝二维码

目录[+]