如何格式化时间戳,以友好的日期时间格式显示内容发布日期?

📅 👁️ 78

在网站运营中,内容发布日期不仅仅是一个时间标记,它更是访客获取信息时效性的重要依据。一个清晰、易读的日期格式,能显著提升用户体验,让您的网站内容显得更加专业和贴心。

然而,在安企CMS(AnQiCMS)这样功能强大的内容管理系统中,发布日期在数据库中通常以“时间戳”(timestamp)的形式存储,这通常是一串难以直接理解的数字。例如,您可能会看到 1609470335 这样的数字,而不是我们习惯的 2021年1月1日。这时,我们就需要对这些时间戳进行格式化,将它们转化为对人类友好的日期时间格式。

幸运的是,安企CMS为此提供了一个极其便捷且灵活的内置模板标签,让这个过程变得轻而易举。

告别数字海洋:认识 stampToDate 标签

安企CMS的模板系统采用了类似Django模板引擎的语法,其中一个核心亮点就是 stampToDate 标签。这个标签专为将时间戳转换为我们熟悉的日期时间格式而设计。

它的基本使用方式非常直观:

{{ stampToDate(时间戳, "格式") }}

这里有两个关键部分:

  1. 时间戳: 这是您从内容数据中获取的原始时间戳,通常是一个10位或13位的数字。在安企CMS的模板中,文章或产品的发布时间通常通过 item.CreatedTime 获取,更新时间则是 item.UpdatedTime。这些字段会直接提供时间戳数值。

  2. 格式: 这是一串字符串,用于告诉系统您希望日期时间以何种具体形式展示。安企CMS底层基于Go语言开发,因此这里的格式字符串遵循Go语言独特的日期时间格式化约定。

理解Go语言的日期格式化“魔术数字”

Go语言在日期时间格式化上有一个非常巧妙的约定:它不使用类似 Y-m-d 这样的占位符,而是通过一个固定的参考日期时间——“2006-01-02 15:04:05”——来构建格式。您只需要用这个参考日期中的年、月、日、时、分、秒等元素,替换成您想要的显示方式,系统就能自动识别并应用。

让我们通过一些例子来理解这个“魔术数字”的用法:

  • 显示年份、月份和日期(例如:2023-10-26) 如果您希望显示 年-月-日 的格式,可以这样写:"2006-01-02"

    • {{ stampToDate(item.CreatedTime, "2006-01-02") }} 可能会输出 2023-10-26
  • 中文友好格式(例如:2023年10月26日) 如果您想要更符合中文阅读习惯的格式,只需将参考日期中的连字符替换成中文即可:"2006年01月02日"

    • {{ stampToDate(item.CreatedTime, "2006年01月02日") }} 可能会输出 2023年10月26日
  • 包含时间(例如:2023-10-26 14:30) 想要精确到小时和分钟?在格式字符串中加入时间部分的“魔术数字”:"2006-01-02 15:04"

    • {{ stampToDate(item.CreatedTime, "2006-01-02 15:04") }} 可能会输出 2023-10-26 14:30
  • 只显示时间(例如:14:30:55) 如果您只需要显示时间,格式可以简化为:"15:04:05"

    • {{ stampToDate(item.CreatedTime, "15:04:05") }} 可能会输出 14:30:55
  • 自定义分隔符(例如:2023/10/26) 您可以根据需求自由更改日期元素之间的分隔符:"2006/01/02"

    • {{ stampToDate(item.CreatedTime, "2006/01/02") }} 可能会输出 2023/10/26

这个“魔术数字”的奥秘在于,2006 代表年份,01 代表月份,02 代表日期,15 代表24小时制的小时,04 代表分钟,05 代表秒。您只需记住这个日期时间,并根据它来“构建”您想要的任何输出格式。

动手实践:在您的安企CMS模板中应用

现在,我们来看如何在实际的安企CMS模板中运用 stampToDate 标签。

假设您正在编辑一个文章详情页的模板(例如 article/detail.htmlarchive/detail.html),并希望显示文章的发布日期和更新日期:

{# 假设当前页面的文章数据可以通过 archive 变量直接访问 #}
<article>
    <h1>{{ archive.Title }}</h1>
    <div class="post-meta">
        <span>发布于:{{ stampToDate(archive.CreatedTime, "2006年01月02日 15:04") }}</span>
        {# 您可能希望更新时间只显示日期,或者只在有更新时才显示 #}
        {% if archive.UpdatedTime and archive.UpdatedTime != archive.CreatedTime %}
        <span>最近更新:{{ stampToDate(archive.UpdatedTime, "2006-01-02") }}</span>
        {% endif %}
    </div>
    <div class="post-content">
        {{ archive.Content|safe }}
    </div>
</article>

如果您是在文章列表页(例如 article/list.htmlarchive/list.html),需要遍历多篇文章并显示它们的发布日期,情况也同样简单:

”`twig {% archiveList archives with type=“page” limit=“10” %}

{% for item in archives %}
    <div class="archive-item">
        <h2><a href="{{ item.Link }}">{{ item.Title }}</a></h2>
        <p class="summary">{{ item.Description }}</p>
        <div class="info">
            <span>分类:{% categoryDetail with name="Title" id=item.CategoryId %}

相关文章

如何在表格或列表循环中,控制元素的奇偶行显示不同样式?

在网站设计与内容展示中,为了提升用户阅读体验,让信息呈现更为清晰,我们常常需要对表格或列表中的奇数行和偶数行施加不同的样式。这种视觉上的区分不仅能打破内容的单调感,更能显著提高数据的可读性。在AnQiCMS中,借助其灵活强大的模板引擎,实现这一效果是相当直接且便捷的。 ### 核心理念:`for`循环与行计数器 AnQiCMS的模板系统采用了类似Django模板引擎的语法

2025-11-09

如何在模板中判断变量是否存在,并根据结果动态显示内容?

在 AnQiCMS 中构建一个充满活力的网站,内容管理不仅仅是发布信息,更关乎如何智能地呈现这些信息。想象一下,如果您的网站能够根据数据的实际情况,灵活地调整展示方式,比如有图片就显示图片,没有就显示一段替代文字;有相关文章就推荐,没有就友好地提示“暂无相关内容”,这将大大提升用户体验,让网站看起来更专业、更流畅。 而实现这种智能动态展示的关键,就在于如何在模板中判断一个变量是否存在

2025-11-09

如何实现基于用户组权限,显示或隐藏部分内容(如VIP专属内容)?

在网站运营中,根据用户身份提供差异化的内容服务,是提升用户体验、实现内容变现的常见策略。安企CMS(AnQiCMS)凭借其灵活的用户组管理和VIP系统,能够帮助我们轻松实现基于用户权限的内容显示或隐藏。 本文将深入探讨如何利用安企CMS的这一功能,为您的网站打造专属的VIP内容或根据用户等级展示不同信息。 ## 巧妙运用安企CMS用户组权限,打造内容差异化体验 想象一下

2025-11-09

如何使用`archiveList`标签按浏览量或发布时间排序显示文章列表?

在网站运营中,如何高效地展示和组织内容,往往直接关系到用户体验和内容的传播效果。AnQiCMS 提供了一系列强大且灵活的模板标签,让内容管理者可以轻松地控制文章的展示方式。今天,我们就来聊聊如何使用 `archiveList` 标签,根据文章的浏览量或发布时间来排序显示文章列表。 ### 理解 `archiveList` 标签 `archiveList` 标签是 AnQiCMS

2025-11-09

如何在网站首页自定义显示Banner轮播图片?

在网站运营中,首页Banner轮播图片是吸引访客目光、传达核心信息的重要组成部分。安企CMS(AnQiCMS)深知这一需求,提供了灵活便捷的方式,让您能够轻松在网站首页自定义显示这些关键的视觉元素。 ### 准备工作:在后台管理您的Banner图片 首先,我们需要确保用于轮播的图片已经上传并妥善管理。安企CMS通常会在后台提供专门的“Banner管理”功能区域

2025-11-09

如何在前端页面上显示网站的友情链接列表?

在网站运营中,友情链接一直是提升网站权重、增加外部流量和增强用户信任度的重要手段。如果您正在使用安企CMS(AnQiCMS)管理您的网站,并且希望在前端页面上展示友情链接列表,您会发现这个过程出乎意料的简单和高效。安企CMS以其简洁的设计和强大的功能,让内容管理变得轻松,友情链接的展示也不例外。 接下来,我们就一起看看如何在安企CMS中实现友情链接的展示。 ### 第一步

2025-11-09

如何利用面包屑导航标签,在页面顶部显示当前位置路径?

在网站运营中,清晰的导航路径对于用户体验和搜索引擎优化都至关重要。当用户在网站深层页面浏览时,一个直观的“您在这里”提示能让他们迅速定位,并轻松返回上级目录。这种辅助导航方式,我们称之为面包屑导航。安企CMS(AnQiCMS)内置了强大的面包屑导航标签,让开发者和内容运营者可以非常便捷地在页面顶部显示当前位置路径。 ### 什么是面包屑导航,以及它为何重要? 面包屑导航(Breadcrumb

2025-11-09

如何在自定义页面中显示单页面的内容、标题和图片?

在网站运营中,我们常常需要为特定的内容创建独特的展示方式,比如为某个产品特色、服务介绍或公司简介设计一个独一无二的落地页。安企CMS(AnQiCMS)以其灵活的内容模型和高度定制化的特性,让这一切变得非常简单。今天,我们就来聊聊如何在自定义页面中,轻松展示单页面的内容、标题和图片,让你的网站内容呈现更具个性化。 ### 理解安企CMS的“单页面” 首先

2025-11-09