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 № 1Si 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.