2013-07-22 25 views
1

我查看過所有的東西,但是找不到任何東西。我知道我可以將日期格式設置爲2013年1月12日,但我如何添加「th」,因此它會是「2013年1月12日」?它還需要弄清楚它是否應該使用「nd」或「st」來代替。如何在使用Jekyll的號碼後正確顯示帶有th/st/nd的日期?

+0

另請參閱:[在Liquid/Jekyll(例如1st,3rd和4th)]中的日期格式設置](http://stackoverflow.com/q/18892909/102401)。 –

回答

1

我寫了這個液體片段,不需要插件即可生成「有序」日期。

{% 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」,「第二」,等等字符串,它還會從各月的朔日前導零。日期,生產是這樣的:

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。