web-dev-qa-db-ja.com

Jekyllの日付フォーマットはどのように機能しますか?

Jekyllを使用して簡単なサイトを生成しています。

日付フィールドを12 September 2011形式で表示したい。

いくつかの創造的なグーグルを介して、少し日付形式の操作を見つけましたが、月の名前を取得するようには思われません。私が持っているのは{{ page.date| date: "%m-%d-%Y" }}で、09-12-2011として出力されますが、探しているものとはまったく異なります。

ジキルで名前として月を取得する方法はありますか?

または、それを除いて、日付属性のドキュメントはありますか?

89
Michael

溶液

この出力フィルター:

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

次のような形式の日付を生成します。

9 September 2013

マイナス(-) の前に %-dその日。これがないと、10未満の数字の先頭にゼロが付きます(例:09 September 2013)。

個々の日付フォーマットトークンの詳細については、 「出力タグとフィルターの出力」ドキュメントページ を参照してください。

詳細情報

Jekyll日付フォーマットの例の大規模なセット をまとめました。いくつかの形式の例を提供し、任意の方法で形式を設定するのに十分な詳細を提供する必要があります。以下に例を示します。

  • 2013-09-23
  • 2013年9月23日
  • 2013年9月23日
  • 2013年7月4日(つまり、「7月」ではなく「ジュリ」のような他の言語に名前を変更する)。

楽しい!

152
Alan W. Smith

ジキルは液体にフィルター拡張を追加します。 here を参照してください。 date_to_long_stringフィルターを実行するだけで、希望の日付形式を表示できます。

リンクから:


日付から長い文字列

長い形式で日付をフォーマットします。 「2011年1月27日」。

{{ site.time | date_to_long_string }} => 17 November 2008

13
Mike Vormwald

「完全な月名(「January」)」を意味する「%B」を試してください

日付を文字列に変換するために通常使用される関数strftimeのドキュメントを検索します。

3
theomega

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を出力します。

3
Colin

カスタムソリューションが必要な場合に備えて、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>
2
lifeisfoo

つかいます {{ page.date| date: "%d %B %Y" }}2011年9月12日などの日付については、 Jekyll Date Formatting のニースおよびクイックフォーマットガイドを参照してください

2
SACn