如何在模板中显示当前年份或指定格式的时间?

📅 👁️ 75

在网站运营中,常常需要让网页内容保持实时更新,或者精确展示特定事件的时间,无论是页脚的版权年份、文章的发布日期,还是产品的更新时间,这些动态的时间信息都能让网站显得更加专业和活跃。AnQiCMS 提供了非常灵活且直观的方式,让您轻松地在模板中显示当前年份或指定格式的时间。

接下来,我们将一起探索两种主要的方法,让您的 AnQiCMS 网站能够灵活展示各种时间信息。

一、显示当前年份或指定格式的实时时间:使用 {% now %} 标签

当您需要在网站的任何位置显示当前的年份,比如在网站页脚的版权声明中,或者在某个动态模块中显示当前的完整日期和时间时,AnQiCMS 提供了一个简洁的 {% now %} 标签。

这个标签专门用于获取并格式化当前的系统时间。

要显示当前的年份,您只需在模板文件中加入这一行代码:

{% now "2006" %}

这样,您的网站页脚就能自动更新为当前的年份,无需每年手动修改。

如果您需要显示更具体、更实时的日期或时间,比如:

  • 显示完整的当前日期(年-月-日):

    {% now "2006-01-02" %}
    

    效果:2023-10-27

  • 显示包含时分秒的当前时间:

    {% now "2006-01-02 15:04:05" %}
    

    效果:2023-10-27 10:30:15

通过调整 {% now %} 标签后的格式字符串,您可以让当前时间以任何您想要的样式呈现。

二、格式化已有时间戳:使用 {{ stampToDate() }} 标签

在 AnQiCMS 中,文章(archive)、评论(comment)或用户(user)等内容通常会存储发布时间或更新时间等信息,这些信息在数据库中一般以时间戳(timestamp)的形式存在。当您想在前端页面展示这些数据时,就需要将这些时间戳转换为易于阅读的日期或时间格式。

这时,{{ stampToDate() }} 这个内置函数就派上用场了。它能够接收一个时间戳和一个格式字符串,然后输出格式化后的时间。

例如,在文章详情页或文章列表页中,您想显示文章的发布日期:

{% archiveList archives with type="list" limit="10" %}
    {% for item in archives %}
        <div>
            文章标题:{{ item.Title }}<br>
            发布日期:{{ stampToDate(item.CreatedTime, "2006年01月02日") }}
        </div>
    {% endfor %}
{% endarchiveList %}

在这里,item.CreatedTime 就是文章的时间戳,"2006年01月02日" 则是我们希望的输出格式。如果文章的 CreatedTime 对应的时间是 2023-10-27 10:30:15,那么 stampToDate 函数会将其显示为 2023年10月27日

同样地,如果需要显示文章的更新时间,可以使用 item.UpdatedTime

更新时间:{{ stampToDate(item.UpdatedTime, "2006-01-02 15:04") }}

深入理解时间格式化:Golang 风格的“魔术数字”

您可能已经注意到,无论是 {% now %} 还是 {{ stampToDate() }},它们的时间格式字符串都使用了 2006-01-02 15:04:05 这样的数字组合,而不是常见的 YYYY-MM-DD 等。这其实是 AnQiCMS 基于 Go 语言开发的特性。Go 语言在进行时间格式化时,使用一个固定的参考时间点来定义格式,这个参考时间就是:

2006年1月2日 15点04分05秒 -0700 MST

您可以把这个日期和时间理解为一套“模板”,通过选择性地使用或组合其中的各个数字和字符,来构建您想要的日期时间格式。

以下是一些常用的对应关系和示例,帮助您快速掌握:

  • 年份: 2006 (四位数年份) 或 06 (两位数年份)
  • 月份: 01 (两位数月份), 1 (无前导零月份), Jan (月份缩写), January (月份全称)
  • 日期: 02 (两位数日期), 2 (无前导零日期)
  • 小时: 15 (24小时制), 03 (12小时制,带前导零), 3 (12小时制,无前导零)
  • 分钟: 04 (两位数分钟), 4 (无前导零分钟)
  • 秒数: 05 (两位数秒数), 5 (无前导零秒数)
  • 上下午标记: PMpm
  • 星期: Mon (星期缩写), Monday (星期全称)

更多格式化示例:

目标格式 格式字符串 示例输出(假设时间是 2023年10月27日 10点30分15秒
年月日(短横线) "2006-01-02" 2023-10-27
年月日(斜杠) "2006/01/02" 2023/10/27
月日年 "01/02/2006" 10/27/2023
日月年 "02/01/2006" 27/10/2023
中文年月日 "2006年01月02日" 2023年10月27日
时分秒(24小时制) "15:04:05" 10:30:15
时分(12小时制,带上午/下午) "03:04 PM" 10:30 AM
星期几 "Monday" Friday
完整的日期时间(含星期) "Monday, 02 Jan 2006 15:04" Friday, 27 Oct 2023 10:30

通过熟练运用这些“魔术数字”,您将能轻松应对各种日期时间显示需求。

总结

在 AnQiCMS 中,显示当前年份或指定格式的时间,主要依赖于 {% now %}{{ stampToDate() }} 这两个强大的标签。{% now %} 适用于获取实时的当前时间,而 {{ stampToDate() }} 则用于格式化内容中已有的时间戳。掌握 Go 语言风格的时间格式化规则,是灵活运用这些标签的关键。通过简单的代码,您可以让您的网站时间信息始终保持准确和美观。


常见问题 (FAQ)

  1. {% now %}{{ stampToDate() }} 有什么区别?
    • {% now %} 用于获取并显示当前服务器的实时日期和时间。它不依赖于任何现有数据,每次页面加载都会显示最新的时间。
    • {{ stampToDate() }} 用于格式化已存储在数据库中的时间戳。例如,文章的发布时间 archive.CreatedTime 或更新时间 archive.UpdatedTime 都是时间戳,需要通过 stampToDate() 进行格式化才能以人类可读的

相关文章

如何在模板中获取后台自定义的全局参数?

在安企CMS中,网站的灵活性和可维护性是其核心优势之一。内容运营者和开发者常常需要在不修改模板代码的情况下,动态调整网站的一些全局信息,比如公司名称、联系电话,甚至是某些营销活动链接。这些在后台自定义的全局参数,正是实现这种需求的关键。 今天,我们就来深入了解如何在安企CMS的模板中,轻松获取并展示这些在后台配置的自定义全局参数。 ### 为什么需要全局参数? 想象一下

2025-11-08

安企CMS如何自定义或覆盖页面中的JSON-LD结构化数据?

安企CMS在内容运营和搜索引擎优化方面一直致力于提供高效且灵活的解决方案。结构化数据,尤其是JSON-LD,是提升网站内容在搜索引擎中可见度的重要手段。它能帮助搜索引擎更准确地理解页面内容,从而有机会展示更丰富的搜索结果(即富媒体摘要),吸引更多用户点击。 安企CMS深知结构化数据的重要性,因此在系统设计上已经为您预置了部分默认的JSON-LD结构化数据。当您的网站发布文章、产品或单页面时

2025-11-08

如何显示首页或特定分组的Banner轮播图片?

网站首页和特定分组的Banner轮播图片,是网站吸引访客、展示核心内容的关键元素。一套管理便捷、显示灵活的系统,能让您的网站运营事半功倍。安企CMS(AnQiCMS)凭借其直观的设计和强大的模板标签功能,让您轻松驾驭这些视觉元素,无论是打造醒目的首页大图,还是为特定分类页面量身定制专属宣传图,都能游刃有余。 今天,我们就来深入了解如何在安企CMS中,让您的Banner轮播图片生动起来

2025-11-08

安企CMS如何实现多语言站点的语言切换功能?

当我们的网站旨在服务全球客户时,提供多语言支持就成为了一个不可或缺的功能。这不仅能帮助我们拓展国际市场,也能显著提升不同语言用户的访问体验。安企CMS(AnQiCMS)深知这一需求,因此将多语言支持作为其核心亮点之一,让我们可以轻松实现多语言站点的搭建与语言切换。 ## 安企CMS如何实现多语言站点的语言切换 要实现多语言站点的语言切换,主要涉及后台配置和前端模板的集成。AnQiCMS

2025-11-08

安企CMS如何自定义URL伪静态规则以优化SEO?

在网站运营中,网址结构不仅仅是访问页面的一串字符,它更是网站在搜索引擎中表现的关键因素之一。一个清晰、有意义且对搜索引擎友好的URL(统一资源定位符),能够显著提升网站的SEO效果,帮助内容更容易被发现和理解。安企CMS(AnQiCMS)深知这一点,因此在系统设计之初就融入了强大的伪静态和URL自定义功能,让网站运营者能够灵活地配置网址规则,以满足不同的SEO策略需求。 ###

2025-11-08

如何为文章、分类、单页面设置自定义URL别名?

在内容管理日益重要的今天,一个清晰、友好的URL地址,不仅能帮助搜索引擎更好地理解页面内容,提升网站的SEO表现,还能为用户提供更好的浏览体验,甚至有助于品牌传播。AnQiCMS深知这一点,并提供了强大而灵活的自定义URL别名功能,让您能够轻松为网站上的文章、分类、单页面乃至标签设置个性化的地址。 接下来,我们将一起探索如何在AnQiCMS中精细化管理这些URL别名。 ### 核心前提

2025-11-08

安企CMS如何对字符串进行大小写转换或首字母大写?

在网站内容运营中,文字的呈现方式往往影响着用户的阅读体验和品牌形象。无论是为了统一品牌风格、提升标题可读性,还是在特定场景下突出显示文本,对字符串进行大小写转换或首字母大写都是常见的需求。安企CMS(AnQiCMS)凭借其灵活的Django模板引擎语法,为我们提供了几种简洁高效的方法来处理这些字符串格式化任务。 这些操作无需复杂的后端代码修改,只需在模板文件中应用相应的过滤器,即可轻松实现

2025-11-08

如何在模板中截取字符串或HTML内容并添加省略号?

在运营网站时,我们经常会遇到这样的情况:一篇文章的摘要过长,导致页面布局混乱;产品描述虽然详尽,但在列表页却显得冗余;抑或是一个标题太长,挤占了其他元素的空间。这些看似细微的问题,却可能影响用户体验和页面的整体美观度。幸好,安企CMS(AnQiCMS)为我们提供了非常方便且强大的模板标签,可以轻松解决这些内容截取和添加省略号的需求,让我们的网站内容展示更加得体和专业

2025-11-08