[New-bugs-announce] [issue11576] timedelta subtraction glitch on big timedelta values

Enrico Zini report at bugs.python.org
Wed Mar 16 19:32:54 CET 2011

New submission from Enrico Zini <enrico at enricozini.org>:


I was testing edge case behaviour of some code of mine and stumbled into this unexpected domain error from timedelta:

  >>> from datetime import *
  >>> timedelta(999999999, 86399, 999999) - timedelta(999999999, 86399, 999998)
  Traceback (most recent call last):
    File "<stdin>", line 1, in ?
  OverflowError: days=-1000000000; must have magnitude <= 999999999

The expected result is of course timedelta(0, 0, 1):

  >>> timedelta(999999999, 86399, 999998) + timedelta(0, 0, 1)
  datetime.timedelta(999999999, 86399, 999999)

Both time deltas are within the range documented in

I could reproduce it on 2.6.6 and 3.1.3. I don't have access to other python versions.



Note: I reported it 4 years ago in the Debian BTS (http://bugs.debian.org/408872) but I noticed now that the Debian maintainer doesn't seem to have bothered forwarding it here :(

messages: 131155
nosy: enrico
priority: normal
severity: normal
status: open
title: timedelta subtraction glitch on big timedelta values
type: behavior
versions: Python 2.5, Python 2.6, Python 2.7, Python 3.1

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list