是否可以在 Liquid 或 Jekyll 中将日期后缀添加到日期格式中?例如:1 月 23 日或 5 月 18 日。
我参考了Shopify wiki,但我很震惊地看到那里没有任何格式。当然应该是这么简单的事情吗?:/
是否可以在 Liquid 或 Jekyll 中将日期后缀添加到日期格式中?例如:1 月 23 日或 5 月 18 日。
我参考了Shopify wiki,但我很震惊地看到那里没有任何格式。当然应该是这么简单的事情吗?:/
Jekyll使用的 Liquid 模板引擎不提供开箱即用的排序能力(例如,将“1”变成“1st”,将“3”变成“3rd”)。但是,可以使用过滤器和标签来提供该功能。下面的代码片段生成月份中的日期,并附加了一个经过排序的字符串。它还会删除该月前 9 天的前导零。
{% assign d = page.date | date: "%-d" %}
{% case d %}
{% when "1" or "21" or "31" %}{{ d }}st
{% when "2" or "22" %}{{ d }}nd
{% when "3" or "23" %}{{ d }}rd
{% else %}{{ d }}th
{% endcase %}
对于包含月、日和年的完整日期,请使用以下命令:
{% assign d = page.date | date: "%-d" %}
{{ page.date | date: "%B" }}
{% case d %}{% when "1" or "21" or "31" %}{{ d }}st{% when "2" or "22" %}{{ d }}nd{% when "3" or "23" %}{{ d }}rd{% else %}{{ d }}th{% endcase %},
{{ page.date | date: "%Y" }}
产生如下输出:
September 21st, 2013
注意:代码被分成多行以便于阅读。它可以在 HTML 中很好地呈现,但在源代码中会有额外的空白。如果这让您感到困扰,只需将所有内容移到一行即可。
如果您对其他日期格式选项感兴趣,我创建了这个参考:Jekyll (and GitHub Pages) Liquid Date Formatting Examples