Commit 5b6e49a1 authored by Farhaan Bukhsh's avatar Farhaan Bukhsh Committed by Alexander Belopolsky

bpo-30516: Fix documentation issue with -timedelta in datetime (GH-7348)

This commit fixes the -timedelta overfllow issue not documented properly.
Signed-off-by: default avatarFarhaan Bukhsh <farhaan.bukhsh@gmail.com>
parent a390cb6b
...@@ -241,7 +241,7 @@ Supported operations: ...@@ -241,7 +241,7 @@ Supported operations:
+--------------------------------+-----------------------------------------------+ +--------------------------------+-----------------------------------------------+
| ``t1 = t2 - t3`` | Difference of *t2* and *t3*. Afterwards *t1* | | ``t1 = t2 - t3`` | Difference of *t2* and *t3*. Afterwards *t1* |
| | == *t2* - *t3* and *t2* == *t1* + *t3* are | | | == *t2* - *t3* and *t2* == *t1* + *t3* are |
| | true. (1) | | | true. (1)(6) |
+--------------------------------+-----------------------------------------------+ +--------------------------------+-----------------------------------------------+
| ``t1 = t2 * i or t1 = i * t2`` | Delta multiplied by an integer. | | ``t1 = t2 * i or t1 = i * t2`` | Delta multiplied by an integer. |
| | Afterwards *t1* // i == *t2* is true, | | | Afterwards *t1* // i == *t2* is true, |
...@@ -317,6 +317,11 @@ Notes: ...@@ -317,6 +317,11 @@ Notes:
>>> print(_) >>> print(_)
-1 day, 19:00:00 -1 day, 19:00:00
(6)
The expression ``t2 - t3`` will always be equal to the expression ``t2 + (-t3)`` except
when t3 is equal to ``timedelta.max``; in that case the former will produce a result
while the latter will overflow.
In addition to the operations listed above :class:`timedelta` objects support In addition to the operations listed above :class:`timedelta` objects support
certain additions and subtractions with :class:`date` and :class:`.datetime` certain additions and subtractions with :class:`date` and :class:`.datetime`
objects (see below). objects (see below).
...@@ -513,8 +518,6 @@ Notes: ...@@ -513,8 +518,6 @@ Notes:
:const:`MINYEAR` or larger than :const:`MAXYEAR`. :const:`MINYEAR` or larger than :const:`MAXYEAR`.
(2) (2)
This isn't quite equivalent to date1 + (-timedelta), because -timedelta in
isolation can overflow in cases where date1 - timedelta does not.
``timedelta.seconds`` and ``timedelta.microseconds`` are ignored. ``timedelta.seconds`` and ``timedelta.microseconds`` are ignored.
(3) (3)
...@@ -961,8 +964,6 @@ Supported operations: ...@@ -961,8 +964,6 @@ Supported operations:
Computes the datetime2 such that datetime2 + timedelta == datetime1. As for Computes the datetime2 such that datetime2 + timedelta == datetime1. As for
addition, the result has the same :attr:`~.datetime.tzinfo` attribute as the input addition, the result has the same :attr:`~.datetime.tzinfo` attribute as the input
datetime, and no time zone adjustments are done even if the input is aware. datetime, and no time zone adjustments are done even if the input is aware.
This isn't quite equivalent to datetime1 + (-timedelta), because -timedelta
in isolation can overflow in cases where datetime1 - timedelta does not.
(3) (3)
Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined only if Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined only if
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment