[解決済み】ナイーブとアウェアを比較できない datetime.now() <= challenge.datetime_end
2022-04-02 19:01:04
質問
比較演算子を使って、現在の日時とモデルで指定された日時を比較しようとしています。
if challenge.datetime_start <= datetime.now() <= challenge.datetime_end:
でスクリプトがエラーになる。
TypeError: can't compare offset-naive and offset-aware datetimes
モデルはこのような感じです。
class Fundraising_Challenge(models.Model):
name = models.CharField(max_length=100)
datetime_start = models.DateTimeField()
datetime_end = models.DateTimeField()
また、djangoはロケールの日付と時刻を使用しています。
私が見つけられなかったのは、django が DateTimeField() に使用するフォーマットです。 それは素朴なものですか、それとも意識したものですか? そして、どうすれば datetime.now() がロケールの日時を認識できるようになるのでしょうか?
解決方法は?
デフォルトでは
datetime
オブジェクトは
naive
をPythonで使用する場合、両者をナイーブにするか、または認識させる必要があります。
datetime
オブジェクトを作成します。これを実現するためには
import datetime
import pytz
utc=pytz.UTC
challenge.datetime_start = utc.localize(challenge.datetime_start)
challenge.datetime_end = utc.localize(challenge.datetime_end)
# now both the datetime objects are aware, and you can compare them
注:この場合
ValueError
もし
tzinfo
がすでに設定されています。もし、それがよくわからない場合は、そのまま
start_time = challenge.datetime_start.replace(tzinfo=utc)
end_time = challenge.datetime_end.replace(tzinfo=utc)
ところで、UNIXタイムスタンプをdatetime.datetimeオブジェクトでフォーマットすると、タイムゾーン情報を含めて次のようになります。
d = datetime.datetime.utcfromtimestamp(int(unix_timestamp))
d_with_tz = datetime.datetime(
year=d.year,
month=d.month,
day=d.day,
hour=d.hour,
minute=d.minute,
second=d.second,
tzinfo=pytz.UTC)
関連
-
任意波形を生成してtxtで保存するためのPython実装
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み] オフセット無視のデータタイムとオフセット考慮のデータタイムを引き算できない
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] JavaScriptで2つの日付を比較する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】Django: ImproperlyConfigured: SECRET_KEY 設定は空であってはならない
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み] オフセット無視のデータタイムとオフセット考慮のデータタイムを引き算できない