django store to databaseは現地時間より8時間短い?(2021-05-12更新)
2022-03-02 05:52:02
djangoのデータベースへの保存は、現地時間より8時間短い?
著者は、以前のバージョンの Django ではタイムゾーンの制限はなかったはずで、データベースに保存されるのは通常ローカルタイムだと推測しています。
Django でデータベースに保存される時刻は常に UTC です。このとき、settings が
TIME_ZONE = 'UTC'
USE_TZ = True
datetime.datetime.now() で取得した時刻は、Django によって UTC 時刻としてデータベースに保存されます。もし、この設定を
TIME_ZONE = 'Asia/Shanghai'
USE_TZ = True
再び datetime.datetime.now() を使って時間を取得すると、 django はこの時間を東部8時間として扱いますが、 jango はこの時間をデータベースに保存されている UTC 時間に変換して、時刻を読み取ったり、直接 UTC 時間に従って読み出したりします。
テンプレート表示時間
USE_TZ=True、TIME_ZONE='Asia/Shanghai'を設定すると、データベースにはUTC時間が格納されていても、TIME_ZONEに示されたローカルタイムで表示されます。
ご提案
時間の統一を図るため、開発時にはUTC時間を使用するようにした方がよい。
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
時間を取得する場合、 django.util.timezone.now() を使用することができます。これは、必要な UTC 時間を満たすためと、ページが正しい時間を表示するために使用されます。
最新の
今回は、Web上で設定する新しい方法を見つけたので、AdvancedからserverTimezoneを探す必要はないのですが
つまり、URLの後に
- <入力 サーバータイムゾーン=GMT%2B8
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例