如何在AnqiCMS模板中动态获取并显示当前年份或其他时间信息?

📅 👁️ 75

在网站运营中,我们经常需要在页面上动态地展示当前的年份、日期或时间,比如页脚的版权信息、文章的发布或更新时间等。这些信息如果手动更新,不仅耗时耗力,还容易出错。幸运的是,AnqiCMS 提供了简洁高效的方法,让您在模板中轻松实现这些动态时间信息的获取和显示。

动态获取并显示当前年份或其他时间信息

在 AnqiCMS 模板中,要获取并显示当前年份或任意格式的当前时间,我们可以使用内置的 {% now %} 标签。这个标签非常直接,它会根据您指定的格式,输出服务器当前的日期和时间。

例如,如果您想在网站的页脚显示当前的年份,可以这样使用:

© {% now "2006" %} 您的网站名称。保留所有权利。

这里的 "2006" 并不是随意的一个年份,而是 Golang 语言中定义时间格式的一种特殊参考。如果您希望显示当前完整的日期,例如 2023-10-26,则可以这样写:

今天日期:{% now "2006-01-02" %}

如果需要显示更详细的时间信息,例如 2023-10-26 15:30:00

当前时间:{% now "2006-01-02 15:04:05" %}

{% now %} 标签的灵活性在于它可以根据您提供的 Golang 时间格式字符串,输出任何您想要的当前时间表示形式。

格式化已有的时间戳

除了显示当前时间,更常见的需求是格式化网站内容(如文章、产品)中已存储的时间戳。AnqiCMS 在文档详情、列表等标签中,会提供 CreatedTimeUpdatedTime 这样的时间戳字段。这些字段通常是 10 位的 Unix 时间戳,为了让它们以更易读的格式展示给用户,我们可以使用 {{ stampToDate(时间戳, "格式") }} 这个模板函数。

例如,在一篇博客文章的详情页,您可能想显示其发布日期和时间:

发布于:{{ stampToDate(archive.CreatedTime, "2006年01月02日 15:04") }}

这会把 archive.CreatedTime 这个时间戳转换成 2023年10月26日 15:30 这样的格式。同样地,如果您想展示更新时间:

最后更新:{{ stampToDate(archive.UpdatedTime, "2006-01-02 15:04:05") }}

深入理解Golang时间格式化规则

AnqiCMS 模板中日期和时间的格式化,都遵循 Golang 语言的特定规则。这与我们常用的 YYYY-MM-DD 模式有所不同,初次接触可能会觉得有些特别。

Golang 使用一个固定的参考时间 2006-01-02 15:04:05.999999999 -0700 MST 来定义时间格式。您需要将这个参考时间中的各个部分替换为您希望的格式,而不是使用占位符。

以下是一些常用的参考映射:

  • 年份: 2006 -> YYYY (四位数年份)
  • 月份: 01 -> MM (两位数月份,不足补零) 或 Jan (英文缩写) 或 January (英文全称)
  • 日期: 02 -> DD (两位数日期,不足补零)
  • 小时: 15 -> HH (24小时制) 或 03 (12小时制) 或 3 (无前导零12小时制)
  • 分钟: 04 -> MM (两位数分钟,不足补零)
  • 秒数: 05 -> SS (两位数秒数,不足补零)
  • 星期: Mon (英文缩写) 或 Monday (英文全称)
  • 上午/下午: PM (与 3 小时制结合使用)

掌握了这个映射关系,您就可以非常灵活地组合出各种时间格式。例如:

  • "2006/01/02" -> 2023/10/26
  • "01-02" -> 10-26 (仅显示月日)
  • "15:04" -> 15:30 (仅显示时分)
  • "Monday, Jan 2, 2006" -> Thursday, Oct 26, 2023 (英文星期、月份)

实际应用场景

  • 页脚版权信息:确保每年都能自动更新,无需手动修改模板文件。
    
    <p>&copy; {% now "2006" %} {{ system.SiteName }} 版权所有。</p>
    
  • 文章或产品详情页的时间戳:清晰地展示内容的发布或最近更新日期,提升用户体验和内容时效性。
    
    <p>发布时间:{{ stampToDate(archive.CreatedTime, "2006年01月02日") }}</p>
    {% if archive.UpdatedTime > archive.CreatedTime %}
    <p>最后更新:{{ stampToDate(archive.UpdatedTime, "2006-01-02 15:04") }}</p>
    {% endif %}
    
  • 任何需要动态日期信息的展示:例如,显示活动开始日期、系统运行时间等。

通过 {% now %} 标签和 {{ stampToDate() }} 函数,结合 Golang 灵活的时间格式化规则,AnqiCMS 让动态时间信息的展示变得简单而强大。无论是在网站的每个角落展示版权年份,还是精确到秒的内容发布时间,您都能轻松实现,并确保这些信息始终保持最新和准确。

常见问题 (FAQ)

1. 为什么我使用 {% now "YYYY" %} 无法显示当前年份?

这是因为 AnqiCMS 的时间格式化遵循 Golang 语言的规则,而不是常见的 YYYY-MM-DDYYYY 占位符模式。在 Golang 中,您需要使用一个固定的参考时间 2006-01-02 15:04:05 来定义您的格式。所以,要显示当前年份,应该使用 {% now "2006" %}

2. {{ stampToDate(item.CreatedTime, "...") }} 报错,是什么原因?

通常出现这种错误,可能是 item.CreatedTime 变量本身不是一个有效的时间戳(例如它是空值、字符串类型或其他非数字类型),或者您尝试传入的第一个参数不是一个时间戳。请确保 stampToDate 函数的第一个参数是一个有效的 10 位或 13 位 Unix 时间戳。

3. 我能否显示英文的月份或星期几?

当然可以。Golang 的时间格式化支持多种英文表示。例如,要显示英文的月份缩写,可以使用 Jan;要显示英文的星期几,可以使用 MondayMon。例如:{{ stampToDate(archive.CreatedTime, "Monday, Jan 02, 2006") }} 会显示类似 Thursday, Oct 26, 2023 的格式。

相关文章

AnqiCMS的后台数据统计功能,如何在前台展示流量或爬虫访问数据图表?

了解网站的流量和用户行为,对于运营者来说至关重要。AnqiCMS作为一款高效的企业级内容管理系统,在后台提供了详尽的数据统计和爬虫监控功能。这些数据不仅能帮助我们分析网站表现,优化内容策略,更有潜力通过在前台以图表形式展示,为特定场景的用户或访客提供更直观的信息。 那么,如何将AnqiCMS后台的这些宝贵数据,巧妙地呈现在网站前台,以图表的形式直观展现呢

2025-11-09

如何在AnqiCMS模板中将URL字符串自动解析为可点击的a标签,以方便用户浏览?

在运营网站时,我们经常会在文章、产品描述或单页内容里添加一些网址,可能是推荐的外部资源,也可能是站内其他内容的引用。但如果这些网址只是纯文本显示,用户就得复制粘贴才能访问,既不方便,也影响阅读体验。 AnqiCMS 充分考虑到了这一点,为我们提供了非常便捷的方式,可以将内容中的纯文本网址自动转换为可点击的链接,大大提升用户浏览的便利性和网站的专业度。 ### 让内容里的网址自动“活”起来

2025-11-09

如何在AnqiCMS模板中截取字符串或HTML内容,并添加省略号以控制显示长度?

在网站运营中,内容的展示方式对用户体验和信息传达效率有着举足轻重的影响。无论是文章列表的简介、产品描述的摘要,还是其他需要预览的文本内容,合理控制其显示长度,并辅以省略号,不仅能保持页面整洁美观,还能引导用户点击查看更多详情。AnqiCMS 作为一个高效灵活的内容管理系统,提供了多种强大的模板标签和过滤器,让内容长度的控制变得异常简单且智能。 ### 为什么需要截取内容并添加省略号

2025-11-09

如何在AnqiCMS模板中判断字符串、数组或对象是否包含特定关键词,并基于此动态显示内容?

在AnqiCMS中,灵活地根据内容判断和动态展示信息,是提升网站用户体验和SEO效果的关键。想象一下,您的网站可以根据文章是否提及某个特定产品,自动显示相关的购买链接;或者根据用户所在的分类,推荐不同的侧边栏内容。这不仅让您的网站更智能,也大大提高了内容运营的效率。 AnqiCMS的模板引擎提供了强大的功能,帮助您轻松实现这些动态逻辑。它借鉴了Django模板引擎的语法

2025-11-09

安企CMS如何高效地在首页展示最新发布文章列表?

安企CMS如何高效地在首页展示最新发布文章列表? 在网站运营中,首页作为用户访问的第一站,其内容更新的活跃度往往决定了用户是否愿意停留和深入浏览。尤其对于内容型网站或企业博客来说,首页能动态展示最新发布的文章列表,不仅能第一时间向访客呈现新鲜内容,更是提升用户体验和搜索引擎友好度的关键。那么,在安企CMS(AnQiCMS)中,我们是如何高效地实现这一目标的呢

2025-11-09

如何使用安企CMS模板标签调用特定分类下的文章内容并进行分页显示?

在网站内容运营中,我们常常需要在一个页面集中展示某个特定分类下的文章列表,并且为了提供更好的用户体验和内容结构,通常还会配合分页功能。安企CMS提供了强大且易用的模板标签,能够帮助我们轻松实现这一需求。 ### 文章内容调用的核心:`archiveList`标签 要调用特定分类下的文章内容,安企CMS提供了`archiveList`这个核心标签。这个标签非常灵活

2025-11-09

安企CMS中,文章详情页面应如何正确显示文章标题、内容和相关信息?

安企CMS (AnQiCMS) 在内容管理方面提供了强大而灵活的功能,尤其是在构建文章详情页面时,能帮助我们高效地呈现高质量内容。一个设计良好的文章详情页,不仅能清晰地展示文章的核心信息,还能通过相关内容的推荐,有效提升用户的阅读体验和网站的粘性。 ### 文章标题与核心内容:页面的灵魂 在安企CMS中,文章详情页面的核心是文章标题和主体内容。它们是吸引读者、传递信息的基础

2025-11-09

多站点管理下,如何确保每个站点的独立内容能够正确显示?

安企CMS多站点独立内容显示实践:确保每个站点的专属风采 在当今瞬息万变的数字世界中,许多企业和内容运营者可能需要同时管理多个网站,无论是为了区分品牌、细分市场,还是满足不同的业务需求。安企CMS(AnQiCMS)凭借其强大的多站点管理功能,为这样的需求提供了高效便捷的解决方案。然而,多站点管理的核心挑战之一,是如何确保每个网站都能独立地显示其专属内容,互不干扰,呈现出独特的“专属风采”

2025-11-09