summaryrefslogtreecommitdiffstats
path: root/Lib/datetime.py
diff options
context:
space:
mode:
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>2011-04-06 00:07:38 (GMT)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>2011-04-06 00:07:38 (GMT)
commitb6f5ec737008f5c739ba3c667e1ae01b8625488b (patch)
treec42061761133138a6e7b2a0d00d5eb50a3ab52c3 /Lib/datetime.py
parent04026cf56c32e89e4af4da6ac6068c6e5dd3c098 (diff)
downloadcpython-b6f5ec737008f5c739ba3c667e1ae01b8625488b.zip
cpython-b6f5ec737008f5c739ba3c667e1ae01b8625488b.tar.gz
cpython-b6f5ec737008f5c739ba3c667e1ae01b8625488b.tar.bz2
Issue #11576: Fixed timedelta subtraction glitch on big timedelta values
Diffstat (limited to 'Lib/datetime.py')
-rw-r--r--Lib/datetime.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/datetime.py b/Lib/datetime.py
index 47e54ec..1ae7cb5 100644
--- a/Lib/datetime.py
+++ b/Lib/datetime.py
@@ -485,7 +485,11 @@ class timedelta:
def __sub__(self, other):
if isinstance(other, timedelta):
- return self + -other
+ # for CPython compatibility, we cannot use
+ # our __class__ here, but need a real timedelta
+ return timedelta(self._days - other._days,
+ self._seconds - other._seconds,
+ self._microseconds - other._microseconds)
return NotImplemented
def __rsub__(self, other):