AnQiCMS 模板如何将文章发布时间戳格式化为易读的日期和时间?

📅 👁️ 72

在网站内容运营中,文章的发布时间往往是用户关注的焦点之一,它不仅影响用户阅读的兴趣,也对内容的实效性和权威性有着潜在的影响。然而,数据库中存储的时间信息通常是机器可读的时间戳格式,例如一串数字,这对于普通访问者来说是难以理解的。AnQiCMS 充分考虑到了这一点,提供了灵活的方式让您将这些时间戳转化为清晰易读的日期和时间格式,极大地提升了用户体验。

AnQiCMS在后台管理文章时,无论是您手动发布、定时发布(借助“时间因子-定时发布功能”),还是通过内容采集或导入,文章的创建时间(CreatedTime)和更新时间(UpdatedTime)等信息都会以标准的时间戳形式储存。这些时间戳是自Unix纪元(1970年1月1日00:00:00 UTC)起经过的秒数,虽然精确,但对用户而言并不直观。

核心工具:stampToDate 标签

为了让这些时间戳在前端页面上以我们熟悉的、易于阅读的格式呈现,AnQiCMS 提供了一个非常实用的模板标签:stampToDate。这个标签能够将时间戳转换为自定义的日期和时间字符串。

它的基本使用方法非常简洁: {{stampToDate(时间戳变量, "格式字符串")}}

这里的关键在于格式字符串。AnQiCMS模板采用的是Go语言特有的日期时间格式化规则,而不是您可能在其他系统中常见的YYYY-MM-DD这样的符号。Go语言使用一个固定的参考日期和时间作为模板,您需要通过这个参考日期中的各个组成部分来构建您想要的格式。

这个参考日期就是:2006年01月02日15时04分05秒。 您可以使用这个参考日期中的数字来代表您希望输出的日期时间单位:

  • 年份2006
  • 月份01 (代表月份的数字,不足两位补零) 或 Jan (代表月份的英文缩写)
  • 日期02 (代表日期的数字,不足两位补零)
  • 小时15 (24小时制) 或 03 (12小时制)
  • 分钟04 (不足两位补零)
  • 秒数05 (不足两位补零)

您可以将这些参考数字与分隔符(如-/:、)以及中文字符(如)组合起来,以生成各种所需的日期时间格式。

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

格式字符串 示例输出 (以 2023年10月26日14时30分00秒 为例) 含义
"2006-01-02" 2023-10-26 年-月-日
"2006/01/02" 2023/10/26 年/月/日
"2006年01月02日" 2023年10月26日 中文年-月-日
"01-02" 10-26 月-日
"15:04" 14:30 24小时制 时:分
"15:04:05" 14:30:00 24小时制 时:分:秒
"2006-01-02 15:04:05" 2023-10-26 14:30:00 年-月-日 时:分:秒
"Mon Jan 2 15:04:05 MST 2006" Thu Oct 26 14:30:00 CST 2023 Go语言标准格式,包含星期、月份英文缩写和时区

实践案例:在文章模板中应用

在AnQiCMS的文章或产品列表中(通过archiveList标签获取),以及文章详情页(通过archiveDetail标签获取),每篇文章都会有CreatedTime(文章创建/发布时间)和UpdatedTime(文章最后更新时间)这两个字段,它们都是以时间戳形式提供的。

假设您在一个文章列表页循环显示文章,并且您已经将文章数据赋值给了archives变量,那么在循环体item中,您可以这样格式化时间:

{% archiveList archives with type="page" limit="10" %}
    {% for item in archives %}
    <article>
        <h3><a href="{{ item.Link }}">{{ item.Title }}</a></h3>
        <p>{{ item.Description }}</p>
        <div class="meta">
            <span>发布于:{{ stampToDate(item.CreatedTime, "2006年01月02日 15:04") }}</span>
            <span>更新于:{{ stampToDate(item.UpdatedTime, "2006-01-02") }}</span>
            <span>阅读量:{{ item.Views }}</span>
        </div>
    </article>
    {% empty %}
    <p>暂时没有文章。</p>
    {% endfor %}
{% endarchiveList %}

在上面的例子中:

  • {{ stampToDate(item.CreatedTime, "2006年01月02日 15:04") }} 会将文章的创建时间格式化为“2023年10月26日 14:30”这样的中文年月日时分格式。
  • {{ stampToDate(item.UpdatedTime, "2006-01-02") }} 会将文章的更新时间格式化为“2023-10-26”这样的标准日期格式。

同样地,在文章详情页,您可以使用archive变量来直接调用当前文章的时间戳字段:

<section>
    <h1>{{ archive.Title }}</h1>
    <div class="article-info">
        <span>发布日期:{{ stampToDate(archive.CreatedTime, "2006-01-02 15:04") }}</span>
        <span>更新日期:{{ stampToDate(archive.UpdatedTime, "2006-01-02 15:04:05") }}</span>
        <span>浏览次数:{{ archive.Views }}</span>
    </div>
    <div class="article-content">
        {{ archive.Content|safe }}
    </div>
</section>

注意事项与小贴士

  1. Go语言格式的独特性:请

相关文章

如何在 AnQiCMS 网站中显示后台管理的友情链接列表?

在 AnQiCMS 网站中显示后台管理的友情链接列表,是一个非常实用的功能,它不仅有助于提升网站的 SEO 效果,也能为访问者提供更多有价值的外部资源。AnQiCMS 提供了一套简洁高效的机制来管理和展示这些链接,让即使是初次接触的用户也能轻松上手。 要实现友情链接的展示,我们主要分两步进行:首先,在 AnQiCMS 的后台管理系统中配置和维护友情链接;其次

2025-11-07

AnQiCMS 模板如何获取并显示某个单页面的详细内容和Banner图?

在安企CMS中,要获取并显示特定单页面的详细内容及其关联的Banner图,主要涉及理解单页面的管理方式和掌握模板标签的灵活运用。AnQiCMS 提供了直观的后台管理界面和强大的模板引擎,让这项工作变得简单高效。 ### 深入了解安企CMS中的单页面 安企CMS的“单页面”功能专为那些结构固定、内容相对独立、无需频繁更新的页面设计,例如“关于我们”、“联系方式”、“服务介绍”等。在后台

2025-11-07

如何在 AnQiCMS 模板中显示网站的所有单页面列表?

在网站运营中,我们经常需要创建一些独立的页面,比如“关于我们”、“联系方式”、“服务条款”或者一些专题介绍页面。这些页面通常被称为“单页面”,它们内容固定,不属于常规的文章或产品分类,但却是网站不可或缺的一部分。 当你的网站上积累了大量的单页面时,你可能会希望在一个特定的位置,例如网站底部、侧边栏,甚至是一个专门的页面上,集中展示这些单页面的列表,方便访客浏览和查找。AnQiCMS

2025-11-07

AnQiCMS 如何获取并显示某个分类的详细信息,如分类标题、描述和缩略图?

在安企CMS中,获取并展示某个分类的详细信息是构建动态网站不可或缺的一部分,无论是用于创建分类列表、分类专题页,还是在文章详情页中展示所属分类的信息,安企CMS都提供了简洁而强大的模板标签来实现。 <h3>深入理解 `categoryDetail` 标签</h3> 安企CMS的模板系统采用了类似Django的语法,其中 `categoryDetail`

2025-11-07

如何在 AnQiCMS 模板中显示文章的自定义字段内容(如作者、来源)?

AnQiCMS以其灵活的内容模型和强大的模板标签系统,为网站内容的个性化展示提供了极大的便利。在网站运营中,我们常常需要为文章、产品或其他内容添加一些标准字段之外的信息,例如文章的作者、内容来源、产品批次号、或特定的SEO信息等。这些非标准化的信息,AnQiCMS称之为“自定义字段”,它们能够让你的网站内容更加专业、详尽,并满足特定的业务需求。 ### 理解自定义字段的价值 自定义字段的引入

2025-11-07

AnQiCMS 模板如何实现文章内容的图片懒加载效果以优化性能?

在数字时代,网站的访问速度已成为衡量用户体验和搜索引擎排名的关键指标之一。图片作为网页内容的重要组成部分,往往也是影响页面加载速度的主要因素。当一个页面包含大量高清图片时,浏览器在渲染页面前需要加载所有图片资源,这无疑会大大增加用户的等待时间。为了解决这一问题,图片懒加载(Lazy Loading)技术应运而生。 图片懒加载的核心思想是延迟加载非当前视口(即用户当前屏幕可见区域)内的图片

2025-11-07

如何在 AnQiCMS 文章详情页中自动生成并显示内容目录(ContentTitles)?

## 在 AnQiCMS 文章详情页中自动生成并显示内容目录(ContentTitles)? 对于长篇内容,一个清晰的内容目录(或称“文章大纲”、“章节导航”)能够极大地提升用户的阅读体验。它不仅能帮助读者快速了解文章结构,还能让他们直接跳转到感兴趣的章节,从而提高内容的可读性和用户满意度。AnQiCMS 充分考虑到了这一需求,在文章详情页中提供了一种便捷的方式来自动生成并展示内容目录

2025-11-07

AnQiCMS 模板如何根据Tag ID获取并显示相关的文章列表?

内容管理系统中,Tag(标签)扮演着重要的角色。它们不仅能帮助我们灵活地组织内容,将横跨不同分类但主题相近的文章关联起来,还能有效提升网站的内链结构和用户体验。当用户对某个特定主题感兴趣时,通过点击一个 Tag,就能方便地查阅所有相关的文章。AnQiCMS 提供了一套直观而强大的模板标签,让您能够轻松地根据 Tag ID 获取并展示这些相关的文章列表。 ### 理解 AnQiCMS 中的

2025-11-07