我环顾四周,但在这上面找不到任何东西。我知道我可以格式化日期,例如“2013年1月12日”,但我如何添加“th”,所以它将是“2013年1月12日”?它还需要弄清楚它是否应该使用“nd”或“st”。
答案 0 :(得分:1)
您不能单独使用Liquid,但您可以编写Liquid标签以所需格式显示日期。 :)
来自ActiveSupport的 You should take a look at the #ordinalize method来创建您自己的(或require
库)。包裹它around a Liquid Tag,你应该好好去。
答案 1 :(得分:1)
我写了这个Liquid片段,无需插件即可生成“ordinalized”日期。
{% assign d = page.date | date: "%d" | plus:'0' %}
{{ 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" }}
代码不仅添加“st”,“nd”等字符串,还会删除每个月前九天的前导零。日期产生如下:
July 4th, 2013
如果您对其他日期格式选项感兴趣,我还会将此full set of Jekyll Liquid date formatting examples放在一起。它包含几个有用选项的片段,例如:“2013-09-23”,“2013年9月23日”和“2013年9月23日”。
注意:该代码被拆分为多行,以使其在此答案中可读。您可能希望将其移动到一行以避免生产中出现空白问题。我不知道我使用的任何版本的具体版本,但代码适用于运行OS X 10.8.5的Mac:Ruby 2.0.0p247 - Jekyll 1.2.1 - liquid 2.5.2。 < / p>