【Django初学者向け】 dateフィルタで日付の表示形式を変更する方法

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2021年12月)

「HTMLテンプレートで日付の表示方法を変更したい!」

「dateフィルタってどうやって使うの?」

というDjango初学者の方へ向けての記事となります

当記事を通じて、

  • 日付をお好きな方法で表示できる「dateフィルタ」について

を徹底解説します

通常、DateTimeフィールドをテンプレートで表示すると、

と表示されます

dateフィルタの書き方からご紹介していきます

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間17万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

dateフィルタの書き方

{{ date変数|date: “表示形式” }}

DateTimeもしくはDateフィールドの変数を、お好きな「表示形式」で表示する方法です

例えば、年数のみで表示したい場合は、

{{ date変数|date: "Y" }}

とすると、

2021

年数だけ表示されます

日付と文字列を組み合わせることもできます

{{ date変数|date: "j日だよ!" }}

22日だよ!

日付に加えて、入力した文字列も一緒に表示されます

上記の例では「Y」や「j」をフォーマット文字と言い、年や日にちに置き換えられて表示されるものになります

次章で代表的なフォーマット文字をご紹介します

代表的なフォーマット文字

Y4桁“2021”
y2桁“21”
mゼロ詰め“01” – “12”
n“1” – “12”
Fテキスト形式“1月”-“12月”
曜日l(エル)テキスト形式“月曜日”
dゼロ詰め“01” – “31”
j“1” – “31”
H24時間表記
(ゼロ詰め)
“00” – “23”
G24時間表記“1” – “23”
h12時間表記
(ゼロ詰め)
“00” – “12”
g12時間表記“1” – “12”
iゼロ詰め“00” – “59”
sゼロ詰め“00” – “59”

これらのフォーマット文字と表示したい文字列を組み合わせことで、任意の値が表示されます

テキスト形式の時はsettings.pyのTIME_ZONEの設定に合わせて表示されるよ!

まとめ

日付の表示形式を変更するには、

{{ date変数|date: “表示形式” }}

とすることを覚えておきましょう!

フォーマット文字には様々な種類がありますので、覚えるのも大変です

必要なときは当ブログにいつでも戻ってきてください!

最後までご覧いただきありがとうございました!

タイトルとURLをコピーしました