我正在使用Jekyll生成一个简单的网站。
我希望日期字段以格式显示12 September 2011
。
通过一些创造性的搜索,我发现了一些日期格式的操作,但是似乎没有什么让我知道月份的名称。我所拥有的是{{ page.date| date: "%m-%d-%Y" }}
,它使我的输出为09-12-2011
,但与我要找的东西不完全相同。
有什么方法可以在Jekyll中获得月份的名称?
或者,除此以外,是否有任何有关date属性的文档?
我正在使用Jekyll生成一个简单的网站。
我希望日期字段以格式显示12 September 2011
。
通过一些创造性的搜索,我发现了一些日期格式的操作,但是似乎没有什么让我知道月份的名称。我所拥有的是{{ page.date| date: "%m-%d-%Y" }}
,它使我的输出为09-12-2011
,但与我要找的东西不完全相同。
有什么方法可以在Jekyll中获得月份的名称?
或者,除此以外,是否有任何有关date属性的文档?
Answers:
此输出过滤器:
{{ page.date | date: "%-d %B %Y" }}
产生日期格式如下:
9 September 2013
确保不要错过当天-
前面的减号()%-d
。没有它,低于10的数字将带有前导零(例如09 September 2013
)。
有关各个日期格式标记的详细信息,请参见“输出标签和过滤器”液体文档页面。。
我整理了一大堆Jekyll日期格式示例。它提供了几种格式的示例,并应提供足够的详细信息以您希望的任何方式进行格式化。一些示例包括:
请享用!
plus: '0'
。使用:{{ page.date | date: "%-m-%d-%Y" }}
。请注意和之间的连字符%
::%-m
。
%-m
。干净得多。我已经更新了答案以反映这一点,并将尽快更新我的参考帖子。
Jekyll 3.8开箱即用地支持顺序日期。要输出月份,请使用其中之一。
{{ page.date | date_to_long_string: "ordinal", "US" }}
将输出April 24th, 2018
。
{{ page.date | date_to_string: "ordinal", "US" }}
将输出Apr 24th, 2018
。
{{ page.date | date_to_long_string: "ordinal" }}
将输出24th April 2018
。
{{ page.date | date_to_string: "ordinal" }}
将输出24th Apr 2018
。
万一您需要自定义解决方案,可以编写一个Jekyll插件来根据需要设置日期格式,如下所示(此示例适用于意大利日期):
module Jekyll
module ItalianDates
MONTHS = {"01" => "gennaio", "02" => "febbraio", "03" => "marzo",
"04" => "aprile", "05" => "maggio", "06" => "giugno",
"07" => "luglio", "08" => "agosto", "09" => "settembre",
"10" => "ottobre", "11" => "novembre", "12" => "dicembre"}
# http://man7.org/linux/man-pages/man3/strftime.3.html
def italianDate(date)
day = time(date).strftime("%e") # leading zero is replaced by a space
month = time(date).strftime("%m")
year = time(date).strftime("%Y")
day+' '+MONTHS[month]+' '+year
end
def html5date(date)
day = time(date).strftime("%d")
month = time(date).strftime("%m")
year = time(date).strftime("%Y")
year+'-'+month+'-'+day
end
end
end
Liquid::Template.register_filter(Jekyll::ItalianDates)
只需将其保存到类似的文件中_plugins/italian_dates.rb
,然后在模板中根据需要使用即可:
<time datetime="{{page.date | html5date}}">{{page.date | italianDate}}</time>
date_to_string
和date_to_xmlschema
(见jekyllrb.com/docs/templates)