問題タブ [django-timezone]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Django datetimefield タイムゾーン対応 CET
この投稿を見ました データベースに保存すると、Djangoはタイムゾーン対応のDateTimeFieldを破損していますか? しかし、特に pytz と mysql を使用しており、pytz を使用せずに SQLite を使用している場合はそうではありません (影響がある場合に備えて)。
私は次のモデルを持っています
そして、次のようにデータを挿入します。
printステートメントは正しい出力を提供しますが、データベース(SQLite)を見るとわかります2016-01-10 23:00:00
私のdjango設定は言う
取得したデータの取得:
指定した別の形式でデータを保存するのはなぜですか? Djangoがタイムゾーン対応に設定されている場合、UTCタイムゾーンが返されるのはなぜですか? 挿入する前に、日時オブジェクトは次のように言います。datetime.datetime(2016, 1, 11, 0, 0, tzinfo=<DstTzInfo 'CET' CET+1:00:00 STD>)
更新-
ここTIME_ZONE
で Django のドキュメントに記載されているようにデータベースを 設定することで、その間に回避策を見つけました。これにより、データベースの正しいタイムゾーン/日付が得られますが、そのドキュメントによると、DBはDjango によって管理されているため、必要ありません。
これにより、日時を UTC ではなく現地時間で保存するサードパーティ データベースとのやり取りが可能になります。DST の変更に関する問題を回避するには、Django によって管理されるデータベースに対してこのオプションを設定しないでください。
Djangoがデータベースに保存するときに CET タイムゾーンの datetime オブジェクトを UTC に変換する理由はまだ不明ですが、取得時に CET に戻すほどスマートではありません。
python - タイムゾーンを使用してDjango日時フィールドが更新されない
問題:-
instance.created_at を「US/Alaska」に変換すると、出力は 2016-02-06 12:42:22.552000-09:00 になります。しかし、上記のシグナルのように client_date と display_date をアラスカと等しくすると、新しく更新されたアラスカの値が保存されず、5 時間を追加して instance.created_at の値で client_date と display_date が更新されます。client_date と display_date をアラスカのタイムゾーンで更新する必要があります。
instance.save() を呼び出しても、postgres データベースには影響しません。問題は何ですか?アラスカの値を更新しないのはなぜですか? デフォルトのタイムゾーンを使用して値を更新する代わりに、djangoが新しい値を更新しないようにするようなものはありますか?
python - Django 1.9 にアップグレードした後のタイムゾーンの問題
私はDjango 1.8.5でテストを行いましたが、合格しました。ここは
ただし、Django 1.9 にアップグレードすると、このテストで次のエラーが発生します。
関連するuser_returns_from_vacation
コードは次のとおりです。
更新: F() 式を削除して for ループに置き換えると、このエラーは消えます。そのようです:
1.9 のリリース ノートで、タイムゾーンに依存しないデータベース (SQLite など、私がテストを実行したもの) に TIME_ZONE 属性が追加されていることに気付きました。タイムゾーンを DB 構成に追加しようとしましたが、問題は解決しません。何か案は?これがsettings.pyのタイムゾーン関連の設定です
django - Django 設定 USE_TZ、TIME_ZONE、および Django Rest フレームワーク
Djangoのチュートリアルに、以下のような記述がある。
TIME_ZONE
...
USE_TZ が False の場合、これは Django がすべての日時を保存するタイム ゾーンです。USE_TZ が True の場合、これは Django がテンプレートに日時を表示し、フォームに入力された日時を解釈するために使用するデフォルトのタイム ゾーンです。
...
django rest フレームワークがリクエストからナイーブな日時データを取得するとき。次に、Djangoはこの素朴な日時を解釈して、TIME_ZONE設定のローカル日時を認識しますか? それが正しければ、それはどのように機能しますか?
前もって感謝します!
django - 「tzinfo」を置き換えて、現地時間で印刷すると、6 分修正されます
タイムゾーンなしの DataTimeField を作成しています。すぐに、この TZ を「手動で」編集し、ローカル TZ で値を読み取るように依頼します。最終結果を参照してください 6 分を修正 !
論理:
注: アイデアは、これが 2 段階で発生するということです。まず、TimeZone の作成をベンチに置いておきたいと思います。次に、ユーザーの TimeZone をユーザーに表示したいと思います。この場合、両方のユーザーが同じ地域でした。
ごめんなさい、私の英語
@ user6897474 からの応答に続いて、実践して、次の解決策を得ました。
保存する前に、POST および serializabel ファイルの日時を取得しています。次の手順を実行します。
tzinfo = None を置き換えます。次のエラーで問題が発生しないことを保証します。
ナイーブな日時ではありません (tzinfo は既に設定されています)
python - Django タイムゾーンと Postgresql
私はこの質問が初めて議論されたことを知っていますが、私は問題に固執し、少し混乱しました.
したがって、時間内にリマインダーを送信する必要があるセロリ タスクがあります。
私の設定では:
たとえば、次のようなモデルがあります。
これは単純化されたモデルで、より多くのフィールドがありますが、DateTime フィールド内に配置する際に問題があります。
それで、私はdjangoシェルを開いて、次のような時間を取得します:
次のように UTC で適切な時刻を示します。
しかし、コンソールからタスクを実行し、印刷を設定するか、ipdb でデバッグを試みると、上記の時間で取得できます。
だから、私はそれがどのように進んでいるのか理解できません。もちろん、この場合、日時を正しく比較することはできません。
Django 1.8 と DB PostgreSQL
django - タイムゾーン対応の日付オブジェクトで日付形式を設定する
%d-%m-%Y"
次のコードでこの形式の日付を取得したい:
私のsettings.pyには、次の設定があります。
しかし今、私は日付2012-12-02を取得しています。%d-%m-%Y
テストクライアントで日付をフォーマットで取得する正しい方法は何ですか。
python - Django: 現地時間の代わりに gmt 時間をデータベース テーブルに保存する
私の顧客モデルには、作成時刻と更新時刻を格納するための 2 つの日時フィールドがあります。
顧客を作成すると、データベースに現地時間が保存されます。API を介してこの顧客データを取得すると、日時が gmt 時間で返されます。これで問題ありません。しかし、データベースに gmt 時間を保存したいと思います。現地時間をデータベースに保存することはお勧めできません。
settings.pyファイルの日付設定は
「pip install pytz」モジュールを既にインストールしており、データベースは postgresql です。