/ / Djangoタイムゾーンの同じ日のdiffは0ではありません - django、datetime、django-timezone

Djangoのtimezoneの同じ日のdiffは0ではありません - django、datetime、django-timezone

テスト機能

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は0

から 基本的な時間と日付

正規化された日の値が指定された範囲外の場合、 OverflowErrorが発生します。

負の値の正規化は最初は驚くかもしれないことに注意してください。 例えば、

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

だから、それは既知のオーバーフローエラーのように見えます。