Djangoで
TypeError: can't subtract offset-naive and offset-aware datetimes
というエラーが出たので、解決しました。
Djangoではない場合の解決方法に下に書きました。
offset-naive, offset-awareとは
naive
とは、TimeZone知らずの日付
aware
とは、TimeZoneがわかっている日付
ということです。
Djangoで出た場合の解決方法
Djangoで出た場合は、おそらく片方は
datetime.datetime.now()
datetime.dateitme(2023,11,15)
とかで、timezoneがないデータを使用していると思います。
そんな場合は、djangoがutilを用意してくれているので、
それを使います。
from django.utils import timezone
timezone.now()
timezone.make_aware(datetime.dateitme(2023,11,15))
そうするとsettings.pyの
TIME_ZONE = 'Asia/Tokyo'
が反映されます。
Djangoではない場合にawareな日付にする
import pytz
tz = pytz.timezone('Asia/Tokyo')
datetime_aware = tz.localize(datetime.dateitme(2023,11,15))