Часовой пояс Django в тот же день diff не 0
Тестовая функция
from django.utils import timezone
def date_diff_now(date):
print(date)
print(timezone.now())
print(date - timezone.now())
print((date - timezone.now()).days)
Результат
2018-02-07 17:46:36.442314+00:00
2018-02-07 17:47:32.084900+00:00
-1 day, 23:59:04.357374
-1
Почему разница между 2 datetime в тот же день не возвращает 0?
1 ответ
Решение
Если нормализованное значение дней лежит за пределами указанного диапазона, повышается значение OverflowError.
Обратите внимание, что нормализация отрицательных значений может сначала удивить. Например,
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
Так что похоже на известную ошибку переполнения.