`stampToDate`标签如何格式化时间戳,以用户友好的方式显示日期和时间?

📅 👁️ 53

在安企CMS的日常内容运营中,我们经常需要将发布时间、更新时间等原始的时间戳数据,以用户更习惯、更易读的方式展现出来。原始的时间戳,例如1609470335这样的纯数字序列,对普通用户来说毫无意义。为了解决这个问题,安企CMS提供了一个非常实用的模板标签——stampToDate,它能够帮助我们将这些数字时间戳转化为格式清晰、用户友好的日期和时间显示。

stampToDate:让时间戳变得可读

stampToDate标签的核心作用,就是将一个10位或13位(如果内部处理为毫秒)的Unix时间戳,按照我们指定的格式进行美化输出。这极大地提升了网站内容的专业度和用户体验。想象一下,如果文章的发布时间只显示一串数字,用户可能会感到困惑。而如果显示为“2023年10月27日 10:30”或“10/27/2023”,则一目了然。

它的使用方式非常直观:{{stampToDate(时间戳, "格式")}}。这里,你需要提供两个参数:

  1. 时间戳: 通常是AnQiCMS中CreatedTimeUpdatedTime这类字段返回的数字。
  2. 格式: 这部分是定义你希望日期时间如何显示的“模板”。

深入理解格式化规则:Go语言的特殊“魔法数字”

安企CMS的stampToDate标签在格式化时,遵循Go语言独特的时间格式化规则。与我们可能熟悉的YYYY-MM-DDHH:MM:SS等占位符不同,Go语言使用一个固定的参考时间——2006年01月02日 15时04分05秒(也称作“魔法数字”或“参考时间”)作为模板。

理解这个参考时间的关键在于,其中每个数字或部分都代表了一个特定的时间组成部分:

  • 2006 代表年份 (Year)
  • 01 代表月份 (Month),带前导零
  • 02 代表日期 (Day),带前导零
  • 15 代表小时 (Hour),24小时制,带前导零
  • 04 代表分钟 (Minute),带前导零
  • 05 代表秒 (Second),带前导零

如果你想要显示其他格式,只需要用这些“魔法数字”的对应部分来构建你的格式字符串即可。例如,如果你想显示“年份-月份-日期”,那么格式字符串就是"2006-01-02"

常用格式化示例

下面是一些常见的格式化方式,以及它们对应的格式字符串和显示效果:

  • 只显示日期(年-月-日): {{stampToDate(item.CreatedTime, "2006-01-02")}} 例如:2023-10-27

  • 显示完整日期和时间: {{stampToDate(item.UpdatedTime, "2006-01-02 15:04:05")}} 例如:2023-10-27 10:30:00

  • 中文日期和时间格式: {{stampToDate(archive.CreatedTime, "2006年01月02日 15时04分")}} 例如:2023年10月27日 10时30分

  • 自定义分隔符的日期: {{stampToDate(item.CreatedTime, "2006/01/02")}} 例如:2023/10/27

  • 只显示小时和分钟: {{stampToDate(item.CreatedTime, "15:04")}} 例如:10:30

  • 显示星期几(英文): {{stampToDate(item.CreatedTime, "Mon Jan 02 2006")}} 例如:Fri Oct 27 2023 (这里的Mon代表星期,Jan代表月份的英文简写,02是日期)

在模板中的实际应用

在安企CMS的模板中,我们通常会在循环文档列表(例如archiveList)或显示文档详情(例如archiveDetail)时用到stampToDate标签。

例如,在一个文章列表页,你可能这样显示每篇文章的发布时间:

{% archiveList archives with type="page" limit="10" %}
    {% for item in archives %}
    <div class="article-card">
        <h3><a href="{{item.Link}}">{{item.Title}}</a></h3>
        <p class="meta-info">
            发布于:{{ stampToDate(item.CreatedTime, "2006年01月02日 15:04") }}
            浏览量:{{item.Views}}
        </p>
        <p>{{item.Description}}</p>
    </div>
    {% endfor %}
{% endarchiveList %}

而在文章详情页,显示文章的更新时间可以这样:

<article>
    <h1>{% archiveDetail with name="Title" %}</h1>
    <div class="article-meta">
        发布时间:{{ stampToDate(archive.CreatedTime, "2006-01-02 15:04:05") }}
        更新时间:{{ stampToDate(archive.UpdatedTime, "2006-01-02 15:04:05") }}
        浏览量:{% archiveDetail with name="Views" %}
    </div>
    <div class="article-content">
        {% archiveDetail articleContent with name="Content" %}{{articleContent|safe}}
    </div>
</article>

通过合理运用stampToDate标签及其格式化规则,我们可以确保网站上的时间信息始终以清晰、专业且用户友好的方式呈现,从而提升整体的用户体验。


常见问题 (FAQ)

  1. 为什么我不能使用YYYY-MM-DD这样的格式占位符? 安企CMS的stampToDate标签采用Go语言的时间格式化标准,它不识别YMD等传统占位符。相反,你需要使用一个固定的参考时间(2006年01月02日 15时04分05秒)来构建你的格式字符串。例如,如果你想显示四位年份,就使用2006;想显示两位月份,就使用01,以此类推。

相关文章

`if`和`for`标签在AnQiCMS模板中,如何实现动态内容的条件显示和循环展示?

在安企CMS的模板世界中,`if`和`for`标签是构建动态、灵活页面的基石。它们赋予了模板根据不同数据条件显示内容,以及高效循环展示数据集的能力,让您的网站内容能够生动地呈现给访问者。安企CMS采用了类似Django的模板引擎语法,这使得熟悉网页开发的您能轻松上手,通过双花括号 `{{变量}}` 获取数据,而条件判断和循环控制则使用 `{% 标签 %}` 语法。 ### 使用 `if`

2025-11-08

`pagination`标签如何生成和控制网站内容的翻页显示效果?

在网站运营中,当内容数量庞大时,如何高效、美观地展示这些内容,同时确保用户能方便地浏览,是提升用户体验的关键。如果一股脑地将所有内容堆砌在同一页面,不仅加载缓慢,更会让访问者望而却步。此时,内容分页就显得尤为重要。它将海量信息拆分成若干小块,既减轻了页面加载负担,又让用户能够按照自己的节奏,一步步探索感兴趣的内容。AnQiCMS 提供了一个强大且灵活的 `pagination` 标签

2025-11-08

`tagList`和`tagDetail`标签如何实现基于标签的内容聚合和专题显示?

在内容管理与网站运营中,如何高效地组织和展示内容是提升用户体验与SEO表现的关键。安企CMS(AnQiCMS)提供了强大的标签功能,通过 `tagList` 和 `tagDetail` 这两个模板标签,可以轻松实现基于标签的内容聚合和专题显示,为网站带来更灵活的分类和更丰富的导航体验。 ### 标签在内容聚合中的作用 标签(Tag)是内容管理系统中的一种重要内容组织方式

2025-11-08

`pageList`和`pageDetail`标签如何管理和显示独立的单页面内容?

在网站运营中,除了动态更新的文章或商品列表,我们常常需要展示一些相对固定、独立的内容页面,例如“关于我们”、“联系方式”、“隐私政策”或“服务介绍”等。这些页面通常被称为“单页面内容”。AnQiCMS为我们管理和展示这些页面提供了强大而灵活的工具,特别是`pageList`和`pageDetail`这两个核心标签。 ### 单页面内容:网站的基石 单页面内容是网站不可或缺的一部分

2025-11-08

`system`、`contact`、`tdk`标签如何获取并显示网站的全局配置和SEO信息?

在安企CMS(AnQiCMS)的日常运营中,准确地在网站前端展示全局配置信息、联系方式以及精心优化的SEO元素,是提升用户体验和搜索引擎可见度的关键。幸运的是,AnQiCMS提供了几个直观且强大的模板标签,让用户可以轻松获取这些重要数据。本文将深入探讨`system`、`contact`和`tdk`这三个核心标签,帮助您将后台配置无缝集成到网站的各个页面。 ### 获取网站全局配置

2025-11-08

`breadcrumb`标签如何构建并显示用户当前页面在网站中的导航路径?

在网站建设和运营中,用户体验(UX)始终是核心。当访问者在您的网站上深入浏览时,一个清晰的导航路径能有效避免他们迷失方向,并快速了解当前位置。这就是“面包屑导航”(Breadcrumb Navigation)的价值所在。它不仅能提升用户体验,也是搜索引擎优化(SEO)的重要组成部分,帮助搜索引擎理解您网站的层级结构。 安企CMS深知这一点,因此提供了方便易用的`breadcrumb`标签

2025-11-08

AnQiCMS如何支持Markdown内容编辑,并在前端正确渲染显示数学公式和流程图?

AnQiCMS深知内容创作者对高效、灵活编辑工具的渴望。新版本引入Markdown编辑器,大大提升了内容发布的便捷性。更令人惊喜的是,AnQiCMS不仅支持基础Markdown语法,还能通过简单的配置,让复杂的数学公式和流程图在您的网站前端优雅地呈现。这对于需要展示专业知识、技术文档或教学内容的网站来说,无疑是一个强大的助力。 ### 开启Markdown编辑功能 首先

2025-11-08

AnQiCMS的内容设置中,如何精细控制图片的显示方式(如WebP、自动压缩、缩略图)?

在网站运营中,图片是吸引用户、传递信息的重要元素。然而,未经优化的图片也可能成为网站加载缓慢的元凶,进而影响用户体验和搜索引擎排名。安企CMS深知图片优化的重要性,因此提供了多项精细化的图片控制功能,帮助您在网站性能和视觉效果之间取得完美平衡。 ### 一、WebP:让图片轻盈提速的智能选择 WebP作为一种现代图片格式,在相同视觉质量下,其文件体积通常比JPEG小25-34%

2025-11-08