(最終更新月:2021年12月)
「HTMLテンプレートで日付の表示方法を変更したい!」
「dateフィルタってどうやって使うの?」
というDjango初学者の方へ向けての記事となります
当記事を通じて、
- 日付をお好きな方法で表示できる「dateフィルタ」について
を徹底解説します
通常、DateTimeフィールドをテンプレートで表示すると、
と表示されます
dateフィルタの書き方からご紹介していきます
dateフィルタの書き方
{{ date変数|date: “表示形式” }}
DateTimeもしくはDateフィールドの変数を、お好きな「表示形式」で表示する方法です
例えば、年数のみで表示したい場合は、
{{ date変数|date: "Y" }}
とすると、
2021
年数だけ表示されます
日付と文字列を組み合わせることもできます
{{ date変数|date: "j日だよ!" }}
22日だよ!
日付に加えて、入力した文字列も一緒に表示されます
上記の例では「Y」や「j」をフォーマット文字と言い、年や日にちに置き換えられて表示されるものになります
次章で代表的なフォーマット文字をご紹介します
代表的なフォーマット文字
年 | Y | 4桁 | “2021” |
年 | y | 2桁 | “21” |
月 | m | ゼロ詰め | “01” – “12” |
月 | n | “1” – “12” | |
月 | F | テキスト形式 | “1月”-“12月” |
曜日 | l(エル) | テキスト形式 | “月曜日” |
日 | d | ゼロ詰め | “01” – “31” |
日 | j | “1” – “31” | |
時 | H | 24時間表記 (ゼロ詰め) | “00” – “23” |
時 | G | 24時間表記 | “1” – “23” |
時 | h | 12時間表記 (ゼロ詰め) | “00” – “12” |
時 | g | 12時間表記 | “1” – “12” |
分 | i | ゼロ詰め | “00” – “59” |
秒 | s | ゼロ詰め | “00” – “59” |
これらのフォーマット文字と表示したい文字列を組み合わせることで、任意の値が表示されます
テキスト形式の時はsettings.pyのTIME_ZONEの設定に合わせて表示されるよ!
まとめ
日付の表示形式を変更するには、
{{ date変数|date: “表示形式” }}
とすることを覚えておきましょう!
フォーマット文字には様々な種類がありますので、覚えるのも大変です
必要なときは当ブログにいつでも戻ってきてください!
最後までご覧いただきありがとうございました!