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

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

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

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

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

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

当記事を通じて、

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

を徹底解説します

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

と表示されます

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

運営者プロフィール

運営者プロフィールアイコン

現在はIT企業のプロダクトマネージャーとして、個人向け/社内向けシステムなど、複数のシステム開発・運営に携わっています。

Webサイト構築やECサイトの開発経験に加えて、PythonなどのプログラミングやSalesforceなどのクラウドアプリケーションに関する幅広い知識・経験を活かして「プログラミング初心者がスムーズに学べるサイト」を目指しています。

Githubでは、趣味で作成したアプリなどを公開しています。

https://github.com/Yulikepython/

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

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

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

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

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

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をコピーしました