【发布时间】:2013-09-24 10:24:04
【问题描述】:
是否可以在 Liquid 或 Jekyll 中为日期格式添加月份后缀?例如:1 月 23 日或 5 月 18 日。
我提到了Shopify wiki,但我很震惊地看到那里没有适合它的格式。当然应该是这么简单的事情吗? :/
【问题讨论】:
是否可以在 Liquid 或 Jekyll 中为日期格式添加月份后缀?例如:1 月 23 日或 5 月 18 日。
我提到了Shopify wiki,但我很震惊地看到那里没有适合它的格式。当然应该是这么简单的事情吗? :/
【问题讨论】:
Jekyll 使用的 Liquid 模板引擎不提供开箱即用的排序功能(例如,将“1”转换为“1st”,将“3”转换为“3rd”)。但是,可以使用过滤器和标签来提供该功能。下面的 sn-p 生成月份编号,并附加了一个经过规范化的字符串。它还会删除该月前 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
【讨论】:
plus: '0'。使用:{{ page.date | date: "%-m-%d-%Y" }}。注意% 和 m 之间的连字符:%-m。
%-d 调用。感谢您提供更优雅的去除前导零的方法。