如何在模板中格式化显示文章的发布时间,例如“2023年6月1日”?

📅 👁️ 63

在运营网站时,文章的发布时间往往是用户关注的重要信息之一。一个清晰、易读的时间格式不仅能提升用户体验,也有助于网站内容的专业度。安企CMS作为一款高效、可定制的内容管理系统,提供了灵活的方式来控制模板中各类信息的显示,包括文章的发布时间。

安企CMS的模板系统采用了类似Django的简洁语法,变量通常通过双花括号{{变量}}来引用,而逻辑控制则使用{% 标签 %}这样的结构。文章的发布时间在系统中通常以时间戳(一个表示时间的数字序列)的形式存储。这意味着我们需要一个方法将这个原始的时间戳转换成我们日常习惯阅读的日期格式,例如“2023年6月1日”。

要实现这一点,安企CMS提供了一个非常实用的内置标签:stampToDate

掌握 stampToDate 标签

stampToDate 标签专门用于将时间戳格式化为可读的日期和时间字符串。它的基本用法非常直观: {{stampToDate(时间戳, "格式")}}

这里的关键在于第二个参数——“格式”。安企CMS的stampToDate标签遵循Go语言的时间格式化规则。与许多系统使用YYYY-MM-DD这样的占位符不同,Go语言的时间格式化是基于一个特定的参考时间点:2006年01月02日 15点04分05秒 -0700 MST。您只需根据这个参考时间,将其中的年、月、日、时、分、秒替换成您想要的显示样式即可。

例如,如果您想显示“2023年6月1日”,那么参考时间中的“2006”对应年份,“01”对应月份,“02”对应日期,您只需要将这些部分替换成中文字符或您希望的顺序。

从何获取文章发布时间?

在安企CMS的模板中,您可以通过以下方式获取文章的原始发布时间(时间戳):

  • 文章详情页: 直接使用 archive.CreatedTime。这里的archive通常是当前文章详情页面的数据对象。
  • 文章列表页:{% for item in archives %}循环中,使用 item.CreatedTime

这两个字段都将返回一个10位的时间戳。

实用格式化示例

现在,我们结合stampToDate标签和Go语言的格式化规则,来实现各种日期显示效果:

  1. 显示为“2023年6月1日”:

    {{stampToDate(archive.CreatedTime, "2006年01月02日")}}
    

    这里,2006代表年份,01代表月份,02代表日期,我们用中文字符“年”、“月”、“日”来连接它们。

  2. 显示为“2023-06-01”:

    {{stampToDate(archive.CreatedTime, "2006-01-02")}}
    
  3. 显示为“2023/06/01 15:30”:

    {{stampToDate(archive.CreatedTime, "2006/01/02 15:04")}}
    

    15代表小时(24小时制),04代表分钟。

  4. 只显示日期“06月01日”:

    {{stampToDate(archive.CreatedTime, "01月02日")}}
    
  5. 显示为“6月1日, 2023” (英文常见格式):

    {{stampToDate(archive.CreatedTime, "Jan _2, 2006")}}
    

    注意:Jan 代表月份的缩写,_2 代表日期(如果是个位数则前面有空格)。

整合到实际模板中

让我们看看这些格式化方法如何在实际的模板代码中应用。

在文章详情页模板 (detail.html) 中:

<article class="article-detail">
    <h1>{{archive.Title}}</h1>
    <div class="article-meta">
        <span>发布于:{{stampToDate(archive.CreatedTime, "2006年01月02日")}}</span>
        <span>浏览量:{{archive.Views}}</span>
        <span>分类:<a href="{{archive.Category.Link}}">{{archive.Category.Title}}</a></span>
    </div>
    <div class="article-content">
        {{archive.Content|safe}}
    </div>
</article>

在文章列表页模板 (list.html) 中:

<ul class="article-list">
    {% archiveList articles with type="page" limit="10" %}
        {% for item in articles %}
        <li>
            <h3><a href="{{item.Link}}">{{item.Title}}</a></h3>
            <p class="summary">{{item.Description}}</p>
            <div class="meta">
                <span>发布时间:{{stampToDate(item.CreatedTime, "2006年01月02日")}}</span>
                <span>阅读量:{{item.Views}}</span>
            </div>
        </li>
        {% empty %}
        <li>暂无文章内容。</li>
        {% endfor %}
    {% endarchiveList %}
</ul>
{% pagination pages with show="5" %}
    {# 这里是分页导航的代码 #}
{% endpagination %}

通过stampToDate标签,您可以灵活地控制文章发布时间的显示方式,使其完全符合您网站的设计风格和用户需求。安企CMS的这种设计哲学,让内容呈现变得既强大又易于上手。


常见问题 (FAQ)

1. 为什么安企CMS的时间格式化使用的是2006-01-02 15:04:05这样的字符串,而不是常见的YYYY-MM-DD

这是因为安企CMS是基于Go语言开发的,Go语言的时间格式化采用了一个特殊的参考时间点:Mon Jan 2 15:04:05 MST 2006。您需要将您想要显示的时间元素的参考值(例如,2006表示年份,01表示月份,02表示日期)替换成您希望的格式。例如,要显示“年-月-日”,您就写"2006-01-02"。虽然看起来有点独特,但一旦掌握了这个规律,会发现它非常灵活。

2. 除了文章的发布时间(CreatedTime),其他时间字段也能用stampToDate进行格式化吗?

当然可以。只要是安企CMS模板中获取到的10位时间戳字段,比如文章的更新时间archive.UpdatedTimeitem.UpdatedTime,或者是其他自定义字段中存储的时间戳,都可以通过stampToDate标签以同样的方式进行格式化。您只需要将相应的变量替换掉即可。

3. 我能否在同一篇文章或列表项中显示不同格式的发布时间?

完全可以。stampToDate标签可以多次使用,并且每次都可以指定不同的格式。例如,您可能希望在文章顶部显示一个简洁的日期“2023年6月1日”,而在文章底部显示包含具体时间的“2023-06-01 15:30:00”,只需在模板中分别调用{{stampToDate(archive.CreatedTime, "2006年01月02日")}}和`{{stampToDate(archive.CreatedTime, “

相关文章

如何在网站评论区显示用户提交的评论内容和头像?

在网站上展示用户评论是提升用户互动和内容活力的关键一环。对于使用安企CMS(AnQiCMS)的网站来说,其强大的模板标签系统让这一操作变得直观且灵活。本文将详细介绍如何在网站的评论区清晰地展示用户提交的评论内容,并配以他们独特的头像,从而丰富您的网站用户体验。 --- ### 理解安企CMS评论功能的基础 首先,我们需要了解评论内容在安企CMS中的基本运作方式

2025-11-07

怎样在搜索结果页显示文章的简介而不是全文?

在网站运营中,如何让用户在搜索结果页面快速了解文章内容,同时又不直接展示全文,这不仅关乎用户体验,更是搜索引擎优化(SEO)的关键一环。对于使用安企CMS(AnQiCMS)的朋友们来说,实现这一点非常灵活且高效。 通常,当我们希望在搜索结果页展示文章列表时,如果直接把文章的完整内容呈现出来,不仅会导致页面冗长,让用户难以快速浏览,还可能造成大量重复内容,对网站的SEO表现产生负面影响

2025-11-07

如何根据后台自定义内容模型字段在前台展示个性化信息?

## 揭秘安企CMS:如何巧妙运用后台自定义字段,打造前台个性化内容展示 在当今瞬息万变的数字世界里,网站不仅仅是信息的载体,更是品牌个性与用户体验的窗口。传统的网站内容管理系统(CMS)往往受限于固定的内容结构,难以满足千变万化的业务需求。然而,安企CMS(AnQiCMS)以其灵活的内容模型和强大的自定义字段功能,为网站运营者打开了全新的个性化内容展示之门。 想象一下

2025-11-07

如何在网站底部显示友情链接列表?

在网站运营中,友情链接是提升网站权重、增加外部流量和增强用户信任度的重要方式。安企CMS(AnQiCMS)提供了便捷的功能,让您可以轻松地在网站底部展示这些宝贵的外部链接。 ### 第一步:在后台管理中添加和配置友情链接 首先,我们需要在安企CMS的后台管理系统中添加和管理友情链接。这就像您为网站准备好要展示的内容列表一样。 1. **登录后台:** 使用您的管理员账号登录安企CMS后台

2025-11-07

如何在AnQiCMS中启用和配置网站留言表单并显示自定义字段?

在 AnQiCMS 中,建立一个能与访客互动、收集反馈的留言表单,并灵活配置自定义字段,是一项非常实用的功能。AnQiCMS 提供了简洁高效的方式来实现这一目标,无论是后台设置还是前端展示,都能轻松上手。 ### 后台启用和配置留言功能 通常,当你希望网站访客能与你取得联系,或者收集他们的反馈时,留言表单便是首选。在 AnQiCMS 中启用和配置留言功能,首先需要进入后台管理界面

2025-11-07

怎样在前台页面显示网站的Logo图片?

网站Logo是品牌形象的核心,它不仅提升了网站的专业度,也加深了用户对品牌的认知。在AnQiCMS中,将您的Logo图片展示在前台页面上是一个直观且灵活的过程,主要涉及后台设置和模板代码的调整。 ### 第一步:在AnQiCMS后台上传和配置您的Logo 在AnQiCMS中,管理网站的Logo图片非常便捷。首先,您需要将Logo图片上传到系统的后台。 进入后台管理界面后

2025-11-07

如何在模板中使用`tdk`标签显示当前页面的规范链接(Canonical URL)?

在网站运营中,我们都希望自己的内容能够被搜索引擎准确理解和高效收录。其中,Canonical URL(规范链接)是一个非常重要的概念。它能帮助我们解决因内容相似或可从多个URL访问而可能产生的重复内容问题,清晰地告诉搜索引擎哪个是内容的“主版本”,从而集中页面的排名权重,避免分散。 安企CMS作为一个高效、灵活的内容管理系统,充分考虑了SEO优化的需求,内置了强大的TDK(Title

2025-11-07

如何实现网站流量统计数据在后台以图表形式显示?

在网站运营中,了解并分析流量数据是制定有效策略、优化网站表现的关键环节。安企CMS(AnQiCMS)深知这一点,因此在后台提供了直观便捷的流量统计功能,让运营者能够以图表形式轻松掌握网站的各项数据,从而更好地驱动内容和营销决策。 安企CMS的流量统计功能旨在提供全面的网站表现视图。它不仅记录了用户的访问行为,还特别关注了搜索引擎爬虫的活动,这对于SEO工作至关重要。通过后台的数据统计模块

2025-11-07