Jekyll 日期格式化是如何工作的?

发布于 2024-12-04 01:09:47 字数 294 浏览 2 评论 0 原文

我正在使用 Jekyll 生成一个简单的网站。

我希望日期字段以 2011 年 9 月 12 日 格式显示。

通过一些创造性的谷歌搜索,我发现了一些日期格式操作,但似乎没有任何东西能让我得到月份名称。我所拥有的是 {{ page.date| date: "%m-%d-%Y" }},这让我输出为 09-12-2011,但并不完全是我想要的。

有没有办法让 Jekyll 中的月份作为名称?

或者,除此之外,是否有日期属性的任何文档?

I'm using Jekyll to generate a simple site.

I want the date field to display in the format 12 September 2011.

I've found, through some creative googling, a bit of date-format manipulation, but nothing that seems to get me the month name. What I have is {{ page.date| date: "%m-%d-%Y" }}, which gets me output as 09-12-2011, but isn't quite what I'm looking for.

Is there any way to get the month as a name in Jekyll?

Or, barring that, is there any documentation for the date attribute?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

过期情话 2024-12-11 01:09:47

解决方案

此输出过滤器:

{{ page.date | date: "%-d %B %Y" }}

生成格式如下的日期:

9 September 2013

确保不要错过表示当天的 %-d 前面的减号 (-)。如果没有它,十以下的数字将有前导零(例如09 September 2013)。

有关各个日期格式标记的详细信息,请参阅 Liquid "Output标签和过滤器”文档页面

更多信息

我整理了大量 Jekyll 日期格式示例。它提供了多种格式的示例,并且应该提供足够的详细信息,以便以您想要的任何方式进行格式化。一些示例包括:

  • 2013-09-23 2013
  • 年9月23日 2013年
  • 9月23日 2013年7
  • 月4日(即将名称更改为其他语言,例如“Juli”而不是“July”)。

享受!

Solution

This output filter:

{{ page.date | date: "%-d %B %Y" }}

produces dates formatted like:

9 September 2013

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:

  • 2013-09-23
  • September 23, 2013
  • Sept. 23rd, 2013
  • 4 Juli 2013 (i.e. changing names to other languages like "Juli" instead of "July").

Enjoy!

说好的呢 2024-12-11 01:09:47

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

っ左 2024-12-11 01:09:47

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 output April 24th, 2018.

{{ page.date | date_to_string: "ordinal", "US" }} will output Apr 24th, 2018.

{{ page.date | date_to_long_string: "ordinal" }} will output 24th April 2018.

{{ page.date | date_to_string: "ordinal" }} will output 24th Apr 2018.

甜扑 2024-12-11 01:09:47

如果您想要自定义解决方案,您可以编写一个 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< 的文件中即可/code> 并根据需要在模板中使用它:

<time datetime="{{page.date | html5date}}">{{page.date | italianDate}}</time>

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):

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)

Just save this to a file like _plugins/italian_dates.rb and use it as you need in templates:

<time datetime="{{page.date | html5date}}">{{page.date | italianDate}}</time>
梦屿孤独相伴 2024-12-11 01:09:47

尝试使用“%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.

北城半夏 2024-12-11 01:09:47

使用 {{ 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文