(最終更新月: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: “表示形式” }}
とすることを覚えておきましょう!
フォーマット文字には様々な種類がありますので、覚えるのも大変です
必要なときは当ブログにいつでも戻ってきてください!
最後までご覧いただきありがとうございました!
✔当ブログは以下のような方に向けて書かれています
「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」
✔当ブログ掲載の記事
- Djangoで作る日報アプリ開発
- WebアプリをWeb上に公開する方法
- Webアプリ開発に必要なそのほかの情報

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。