解锁安企CMS时间魔法:CreatedTime 如何优雅格式化为“YYYY-MM-DD”
作为一位资深的网站运营专家,我深知内容的时效性和展示方式对用户体验至关重要。在安企CMS(AnQiCMS)这样一款基于Go语言、功能强大的内容管理系统中,我们不仅能高效管理内容,更能通过灵活的模板标签,将技术信息转化为用户友好的展示。今天,我们就来聊聊一个运营中常见的需求:如何将archiveDetail标签获取到的CreatedTime,格式化成简洁明了的“YYYY-MM-DD”日期形式。
安企CMS的模板哲学与时间戳的挑战
安企CMS的模板系统设计得非常灵活且对开发者友好,它采用了类似Django模板引擎的语法,让开发者能够以直观的方式控制页面内容的展示。在模板文件(通常以.html为后缀,存放于/template目录下)中,我们使用双花括号{{变量}}来输出变量,用{% 标签 %}来控制逻辑和调用功能。
当我们使用archiveDetail标签来获取某篇文档的详细信息时,例如文章的发布时间,其CreatedTime字段默认返回的是一个标准的Unix时间戳。这个时间戳通常是一串10位的数字(比如1609470335),虽然对计算机来说易于处理,但对于访客而言,直接显示这样的数字显然不够直观,也缺乏阅读美感。为了提升用户体验,我们自然希望将其转化为像“2023-10-26”这样清晰易读的日期格式。
掌握stampToDate:安企CMS的时间格式化利器
安企CMS深知这种格式化需求的重要性,因此内置了一个非常实用的辅助标签——stampToDate。这个标签专门用于将时间戳(stamp)转换(To)为指定格式的日期(Date)。
stampToDate标签的使用方式非常简洁明了,它需要两个核心参数:
时间戳(
timestamp):这是你需要转换的原始10位Unix时间戳,比如我们从archiveDetail获取到的CreatedTime。格式字符串(
format):这是一个定义输出日期格式的字符串。但这里有一个安企CMS(以及Go语言本身)特有的“魔法数字”约定:它不是我们通常理解的“YYYY-MM-DD”,而是Go语言的特定参考时间——2006-01-02 15:04:05。这个日期中的每一个数字和符号,都代表了时间格式的不同部分。2006代表年份YYYY01代表月份MM02代表日期DD15代表小时HH(24小时制)04代表分钟mm05代表秒ss
理解了这组“魔法数字”,我们就能随心所欲地组合出任何想要的日期格式。例如,如果我们要将时间戳格式化为“YYYY-MM-DD”,那么对应的格式字符串就是"2006-01-02"。
实战演练:一步步格式化CreatedTime
假设我们正在编辑一个文档详情页的模板文件(例如,在template/你的模板名称/模型名称/detail.html中),并且页面中已经通过上下文变量archive获取到了当前文档的所有详情数据。
获取
CreatedTime: 在文档详情页中,archive.CreatedTime会直接提供当前文档的创建时间戳。**应用