2
1

More than 3 years have passed since last update.

DjangoでDateTimeFieldの書式を変換する方法

Posted at

Djangoにて取得した日付をフォーマットして表示させたい

Djangoのmodels.pyにて
datetime.now()でなくtimezone.now()を使用する際、

date = models.DateTimeField('日付',default=timezone.now())

とすると書式は
2020-12-08 21:12:24.333404+00:00
のようになる。

Webアプリケーション上で12/08/20のようにあらわしたいとき

date = models.DateTimeField(datetime.now().strftime('%m%d%y %H:%M'))

としてしまうと、

ValidationError [u"'12/08/2020' value has an invalid date format. It must be in YYYY-MM-DD format."]

というエラーが表示される。

解決方法

htmlで取得した日付を表示する際に、下記のようにしてフォーマットを指定できる。

<div>{{ item.ans_date|date:"m/d/y H:i" }}</div>

この場合は、"01/01/20 02:41" のように表示される。

その他、12h表記だったり先頭に0を追加しない、年号を4桁表示などしたい場合は以下のページを参考されたし。
https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#date

それでは、良いDjangoライフを!

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1