datetimeフィールドのDjangoモデルがあります。保存されると、DBに保存されている日時フィールドはタイムゾーン情報を失うため、ナイーブ日時として保存されます。一般的に、Djangoはテンプレートのdatetimeフィールドをレンダリングするときに自動的にそれを変換するので、これは問題ではありません。Django datetimeフィールド - ビューのタイムゾーンに変換
しかし、ビューはどうですか?私はdatetimeサーバー側の文字列表現が必要だとしましょう。夏/冬の時間によって、私のタイムゾーンはGTM + 1またはGMT + 2になる可能性があります。
ビューでローカルtz変換を適用するにはどうすればよいですか?私はピッツといくつかの方法を試しました。いいえ成功は、OMEエントリはGMTにGMT + 1等に変換されていない+ 2 :(
例:
system_tz = pytz.timezone('Europe/Berlin')
local_dt = item.created_at.astimezone(system_tz)
local_dt = system_tz.normalize(local_dt)
追加情報:。
- ジャンゴ1.8.7
- 設定。 .USE_TZ = True
- MySQL
- なぜ私はこれをやっているのですか?AJAXを介して要求に応じてすべての行をロードするテーブルがあるためです。 strftime()でdatetime値を準備してから、クライアントに送る必要があります。
同じ結果です。一部のエントリはGMT + 1に変換され、他のエントリはGMT + 2に変換されます。たぶん私のタイムゾーンはDSTなので、今日はすべてGMT + 1になるはずです。 – pisapapiros
pisapapiros 2016-03-20(時間変更前)はUTC + 1、2016-03-30(時間変更後)はUTC + 2です。http://www.timeanddate.com/time/zone/germany/berlin – vsd
ああ、それです!私は最終的に私の心を乱し終わったあまりにも多くのことを試みたが、出力は正しかった!それを整理するのを助けてくれてありがとうVladimir – pisapapiros