Jekyll 日期格式化是如何工作的?
我正在使用 Jekyll 生成一个简单的网站。
我希望日期字段以 2011 年 9 月 12 日
格式显示。
通过一些创造性的谷歌搜索,我发现了一些日期格式操作,但似乎没有任何东西能让我得到月份名称。我所拥有的是 {{ page.date| date: "%m-%d-%Y" }}
,这让我输出为 09-12-2011
,但并不完全是我想要的。
有没有办法让 Jekyll 中的月份作为名称?
或者,除此之外,是否有日期属性的任何文档?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
解决方案
此输出过滤器:
生成格式如下的日期:
确保不要错过表示当天的
%-d
前面的减号 (-
)。如果没有它,十以下的数字将有前导零(例如09 September 2013
)。有关各个日期格式标记的详细信息,请参阅 Liquid "Output标签和过滤器”文档页面。
更多信息
我整理了大量 Jekyll 日期格式示例。它提供了多种格式的示例,并且应该提供足够的详细信息,以便以您想要的任何方式进行格式化。一些示例包括:
享受!
Solution
This output filter:
produces dates formatted like:
Be sure not to miss the minus (
-
) in front of%-d
for the day. Without it, numbers below ten would have leading zeros (e.g.09 September 2013
).Details on the individual date formatting tokens can be found on the Liquid "Output tags and filters" documentation page.
More Info
I put together a large set of Jekyll date formatting examples. It provides examples for several formats and should provide enough detail to format in any way you'd like. Some examples include:
Enjoy!
Jekyll 在液体中添加了过滤器扩展。请参阅此处。您只需运行
date_to_long_string
过滤器即可显示所需的日期格式。从链接:
日期到长字符串
将日期格式化为长格式,例如“2011 年 1 月 27 日”。
{{ 站点时间 | date_to_long_string }}
=>;2008 年 11 月 17 日
Jekyll adds filter extensions to liquid. See here. You can display your desired date format by simply running the
date_to_long_string
filter.From the link:
Date to Long String
Format a date in long format e.g. “27 January 2011”.
{{ site.time | date_to_long_string }}
=>17 November 2008
Jekyll 3.8 支持开箱即用的序数日期。要输出月份,请使用其中之一。
{{ 页面.日期 | date_to_long_string: "ordinal", "US" }}
将输出2018 年 4 月 24 日
。{{ 页面.日期 | date_to_string: "ordinal", "US" }}
将输出2018 年 4 月 24 日
。{{ 页面.日期 | date_to_long_string: "ordinal" }}
将输出2018 年 4 月 24 日
。{{ 页面.日期 | date_to_string: "ordinal" }}
将输出2018 年 4 月 24 日
。Jekyll 3.8 supports ordinal dates out of the box. To output the month use one of these.
{{ page.date | date_to_long_string: "ordinal", "US" }}
will outputApril 24th, 2018
.{{ page.date | date_to_string: "ordinal", "US" }}
will outputApr 24th, 2018
.{{ page.date | date_to_long_string: "ordinal" }}
will output24th April 2018
.{{ page.date | date_to_string: "ordinal" }}
will output24th Apr 2018
.如果您想要自定义解决方案,您可以编写一个 Jekyll 插件来根据需要格式化日期,如下所示(此示例适用于意大利日期):
只需将其保存到类似
_plugins/italian_dates.rb< 的文件中即可/code> 并根据需要在模板中使用它:
Just in case you want a custom solution, you could write a Jekyll plugin to format a date as you want, like this (this example is for Italian dates):
Just save this to a file like
_plugins/italian_dates.rb
and use it as you need in templates:尝试使用“%B”(意思是“完整月份名称(``January'')”)
在文档中搜索 strftime,该函数通常用于将日期转换为字符串。
Try '%B' which means "The full month name (``January'')"
search the documentation for strftime, the function which is typically used for converting a date to string.
使用
{{ page.date| date: "%d %B %Y" }}
对于 2011 年 9 月 12 日 这样的日期,请参阅 Jekyll 日期格式Use
{{ page.date| date: "%d %B %Y" }}
for dates like 12 September 2011, refer to nice and quick formatting guide on Jekyll Date Formatting