如何在安企CMS中显示文章的发布时间,并自定义日期时间格式?

📅 👁️ 83

在运营网站内容时,文章的发布时间是一个不可或缺的元素。它不仅能帮助访问者快速了解内容的“新鲜度”,对搜索引擎优化(SEO)也有着积极的影响,因为它传递了网站内容持续更新的信号。安企CMS(AnQiCMS)在内容管理方面提供了极大的灵活性,无论是获取还是自定义显示文章的发布时间,都非常便捷。

接下来,我们将一起探索如何在安企CMS中,灵活地显示文章的发布时间,并按照我们的需求定制日期时间的显示格式。

获取文章的发布时间

在安企CMS中,每篇文章都伴随着两个重要的时间戳:CreatedTime(创建时间)和UpdatedTime(更新时间)。这两个字段储存的是文章在系统中的创建或最后修改时刻,它们以时间戳的形式存在,这意味着它们是一串数字,例如 1609470335

要在文章详情页或文章列表中显示这些时间,我们需要在模板文件(通常是 archive/detail.htmlarchive/list.html)中使用安企CMS提供的模板标签。

当我们想在一个文章详情页展示发布时间时,可以使用 archiveDetail 标签来获取当前文章的 CreatedTime

<div>发布时间:{{archive.CreatedTime}}</div>

或者使用 archiveDetail 标签的具名方式:

<div>发布时间:{% archiveDetail with name="CreatedTime" %}</div>

如果您在文章列表页(例如使用 archiveList 标签循环展示文章)中,获取每篇文章的发布时间也非常直接:

{% archiveList archives with type="list" limit="10" %}
    {% for item in archives %}
        <div>文章标题:{{item.Title}}</div>
        <div>发布时间:{{item.CreatedTime}}</div>
    {% endfor %}
{% endarchiveList %}

您会发现,直接这样输出 CreatedTime(或 UpdatedTime)会得到一串数字,而不是我们熟悉的日期时间格式。这是因为它们是UNIX时间戳,需要进一步的格式化才能以人类可读的方式呈现。

自定义日期时间格式

为了将时间戳转换成易于阅读的日期时间格式,安企CMS提供了一个非常实用的模板标签:stampToDate。这个标签允许我们根据Go语言的特定格式规则,将时间戳格式化为我们想要的任何日期时间字符串。

stampToDate 标签的使用方法是 {{stampToDate(时间戳, "格式")}}。这里的“格式”是一个字符串,它不是我们通常理解的 YYYY-MM-DD 这样的占位符,而是Go语言特有的“参照时间”格式。Go语言使用一个固定的时间 2006-01-02 15:04:05 作为格式化的参照模板。这意味着:

  • 2006 代表年份
  • 01 代表月份
  • 02 代表日期
  • 15 代表小时(24小时制)
  • 04 代表分钟
  • 05 代表秒

理解了这个参照规则,我们就可以灵活地组合出各种日期时间格式了。

以下是一些常见的格式化示例:

  • 仅显示日期(年-月-日): 如果您只想显示文章的发布日期,可以使用 2006-01-02 作为格式字符串。

    <div>发布日期:{{stampToDate(archive.CreatedTime, "2006-01-02")}}</div>
    <!-- 输出示例:2023-10-26 -->
    
  • 显示日期和时间(精确到分钟): 如果需要精确到分钟,可以在日期后添加小时和分钟的参照值。

    <div>发布时间:{{stampToDate(archive.CreatedTime, "2006-01-02 15:04")}}</div>
    <!-- 输出示例:2023-10-26 10:30 -->
    
  • 显示完整日期和时间(精确到秒): 包含年月日时分秒的完整格式。

    <div>完整时间:{{stampToDate(archive.CreatedTime, "2006-01-02 15:04:05")}}</div>
    <!-- 输出示例:2023-10-26 10:30:45 -->
    
  • 中文化日期显示: 您甚至可以结合中文显示日期,比如“2023年10月26日”。

    <div>中文日期:{{stampToDate(archive.CreatedTime, "2006年01月02日")}}</div>
    <!-- 输出示例:2023年10月26日 -->
    
  • 其他自定义组合: 例如,只显示月份和日期,或者只显示小时和分钟。

    <div>月日:{{stampToDate(archive.CreatedTime, "01-02")}}</div>
    <!-- 输出示例:10-26 -->
    <div>时分:{{stampToDate(archive.CreatedTime, "15:04")}}</div>
    <!-- 输出示例:10:30 -->
    

综合应用示例

现在,我们将这些知识运用到实际的模板代码中,以文章详情页和文章列表页为例。

文章详情页 (archive/detail.html) 示例:

<article>
    <h1>{% archiveDetail with name="Title" %}</h1>
    <div class="article-meta">
        <span>分类:<a href="{% categoryDetail with name='Link' %}">{% categoryDetail with name='Title' %}</a></span>
        <span>发布于:{{stampToDate(archive.CreatedTime, "2006年01月02日 15:04")}}</span>
        <span>阅读量:{% archiveDetail with name="Views" %}</span>
        <!-- 如果文章有更新时间,可以这样显示 -->
        {% if archive.UpdatedTime and archive.UpdatedTime != archive.CreatedTime %}
        <span>更新于:{{stampToDate(archive.UpdatedTime, "2006年01月02日 15:04")}}</span>
        {% endif %}
    </div>
    <div class="article-content">
        {%- archiveDetail articleContent with name="Content" %}
        {{articleContent|safe}}
    </div>
</article>

文章列表页 (archive/list.html) 示例:

<div class="article-list">
    {% archiveList archives with type="page" limit="10" %}
        {% for item in archives %}
        <div class="article-item">
            <h3><a href="{{item.Link}}">{{item.Title}}</a></h3>
            <div class="item-meta">
                <span>分类:{% categoryDetail with name="Title" id=item.CategoryId %}</span>
                <span>发布于:{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
                <span>浏览量:{{item.Views}}</span>
            </div>
            <p>{{item.Description}}</p>
            <a href="{{item.Link}}" class="read-more">阅读全文 &gt;&gt;</a>
        </div>
        {% empty %}
        <p>暂时没有文章发布。</p>
        {% endfor %}
    {% endarchiveList %}

    <div class="pagination-area">
        {% pagination pages with show="5" %}
            <!-- 分页链接,具体样式可根据需求调整 -->
            {% if pages.PrevPage %}<a href="{{pages.PrevPage.Link}}">上一页</a>{% endif %}
            {% for item in pages.Pages %}<a class="{% if item.IsCurrent %}active{% endif %}" href="{{item.Link}}">{{item.Name}}</a>{% endfor %}
            {% if pages.NextPage %}<a href="{{pages.NextPage.Link}}">下一页</a>{% endif %}
        {% endpagination %}
    </div>
</div>

通过以上方法,您就可以轻松地在安企CMS网站的各个位置,按照您希望的格式显示文章的发布时间了。这种灵活性使得内容的呈现更加专业和符合用户习惯。


常见问题 (FAQ)

1. 为什么直接输出 {{archive.CreatedTime}} 得到的是一串数字,而不是日期格式? 这是因为 CreatedTime(和 UpdatedTime)在

相关文章

安企CMS如何显示文章的封面图(Logo)和缩略图(Thumb)?

在内容运营中,文章的封面图(Logo)和缩略图(Thumb)扮演着至关重要的角色,它们不仅能吸引读者的目光,提升点击率,也是搜索引擎优化(SEO)不可忽视的环节。安企CMS(AnQiCMS)为用户提供了灵活便捷的方式来管理和展示这些视觉元素。本文将详细探讨如何在AnQiCMS中配置、调用文章的封面图和缩略图。 ## 一、封面图与缩略图的配置与生成 在AnQiCMS中

2025-11-09

文章内容的自动提取标题 (`ContentTitles`) 功能如何在前台页面生成目录导航?

在安企CMS中,为了帮助读者更好地理解长篇文章的结构,提供一个清晰的目录导航是提升用户体验的关键。安企CMS的文章内容自动提取标题(`ContentTitles`)功能,正是为此而生。它能够智能地识别文章内容中的各级标题,并将这些结构化的信息提供给前端模板,从而让我们可以轻松地构建一个动态且实用的目录导航。 ###

2025-11-09

安企CMS的`archiveDetail`标签如何实现内容中的图片懒加载显示?

在当今内容为王的时代,网站性能与用户体验的重要性不言而喻。尤其对于图片众多的内容页面,如何避免因图片加载缓慢而影响用户体验和搜索引擎排名,成为了网站运营者普遍关注的问题。安企CMS深谙此道,在提供灵活高效的内容管理功能之余,也为图片懒加载(Lazy Load)提供了巧妙的支持。 今天,我们就来深入探讨一下安企CMS的`archiveDetail`标签是如何帮助我们实现内容中图片的懒加载显示

2025-11-09

安企CMS的文档描述(Description)字段在前台页面如何进行展示和截取?

在安企CMS的日常运营中,描述(Description)字段扮演着至关重要的角色,它不仅影响着搜索引擎对页面内容的理解,更是吸引用户点击的关键文案。深入了解这个字段在前台页面如何展示和灵活截取,能帮助我们更好地进行内容布局和SEO优化。 ### 描述字段的多种面貌与作用 在安企CMS里,"描述"字段并非单一概念,它会根据内容类型和使用场景展现出不同的形式和作用。最常见且对SEO影响最大的

2025-11-09

安企CMS如何在前台页面展示文章的所属分类信息,包括分类名称和链接?

在安企CMS中,文章的分类信息在前台页面的展示是内容组织和用户导航的关键一环。无论是帮助用户理解文章的上下文,还是优化网站的SEO结构,准确且易于访问的分类名称和链接都扮演着重要角色。安企CMS凭借其灵活的模板引擎,让这项工作变得直观且高效。 ### 理解安企CMS的分类体系 在深入探讨展示方法之前,我们首先要知道,安企CMS的内容管理体系非常重视“分类”这一概念。每一篇文档(无论是文章

2025-11-09

如何利用`tagList`标签在文章详情页显示关联的标签列表?

在内容运营中,标签(Tags)是一个非常实用的工具,它能帮助我们更灵活地组织内容,方便读者快速发现感兴趣的相关主题。想象一下,当用户阅读完一篇精彩的文章后,如果能立即看到与该文章相关的其他热门话题或关键词,无疑会大大提升他们的浏览体验,并鼓励他们继续探索网站的其他内容。在安企CMS中,实现这一功能非常直观和简单,我们主要依靠强大的 `tagList` 标签来完成。 ###

2025-11-09

安企CMS的文档自定义字段(如作者、来源)如何在前端页面显示?

在安企CMS中管理内容时,我们常常会遇到需要为文章、产品或页面添加除了标题、正文等常规信息之外的更多个性化数据,比如文章的作者、内容来源,或者产品的具体参数、活动页面的特定属性等。这些额外的定制信息,我们称之为“自定义字段”。安企CMS强大的内容模型功能,让自定义字段的创建和管理变得十分便捷,而更重要的是,如何将这些精心录入的自定义字段,在网站的前端页面上准确、美观地呈现出来

2025-11-09

安企CMS如何构建和展示多层级的产品分类导航?

安企CMS作为一个功能强大的内容管理系统,为用户提供了灵活构建和展示多层级产品分类导航的能力。这不仅有助于网站访问者更轻松地查找所需产品,也能有效提升网站的SEO表现,优化用户体验。接下来,我们一起探索如何在安企CMS中实现这一目标。 ### 核心基础:理解安企CMS的分类体系 在安企CMS中,多层级产品分类导航的构建离不开其核心的“内容模型”和“文档分类”功能。 首先

2025-11-09