/ / La zona horaria de Django el mismo día no es 0: django, datetime, django-timezone

La zona horaria de Django diff el mismo día no es 0 - django, datetime, django-timezone

función de prueba

from django.utils import timezone

def date_diff_now(date):
print(date)
print(timezone.now())
print(date - timezone.now())
print((date - timezone.now()).days)

Resultado

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

¿Por qué la diferencia entre 2 datetime en el mismo día no devuelve 0?

Respuestas

0 para la respuesta № 1

De Hora básica y fechas

Si el valor normalizado de días se encuentra fuera del rango indicado, OverflowError es elevado.

Tenga en cuenta que la normalización de valores negativos puede ser sorprendente al principio. Por ejemplo,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)

Así que parece un error conocido de desbordamiento.