From 5b6e49a1393b3e2313471696e3568e26296137b4 Mon Sep 17 00:00:00 2001 From: Farhaan Bukhsh Date: Thu, 5 Jul 2018 00:12:05 +0530 Subject: [PATCH] bpo-30516: Fix documentation issue with -timedelta in datetime (GH-7348) This commit fixes the -timedelta overfllow issue not documented properly. Signed-off-by: Farhaan Bukhsh --- Doc/library/datetime.rst | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst index 1ac2570eae..53c181c401 100644 --- a/Doc/library/datetime.rst +++ b/Doc/library/datetime.rst @@ -241,7 +241,7 @@ Supported operations: +--------------------------------+-----------------------------------------------+ | ``t1 = t2 - t3`` | Difference of *t2* and *t3*. Afterwards *t1* | | | == *t2* - *t3* and *t2* == *t1* + *t3* are | -| | true. (1) | +| | true. (1)(6) | +--------------------------------+-----------------------------------------------+ | ``t1 = t2 * i or t1 = i * t2`` | Delta multiplied by an integer. | | | Afterwards *t1* // i == *t2* is true, | @@ -317,6 +317,11 @@ Notes: >>> print(_) -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 certain additions and subtractions with :class:`date` and :class:`.datetime` objects (see below). @@ -513,8 +518,6 @@ Notes: :const:`MINYEAR` or larger than :const:`MAXYEAR`. (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. (3) @@ -961,8 +964,6 @@ Supported operations: Computes the datetime2 such that datetime2 + timedelta == datetime1. As for 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. - This isn't quite equivalent to datetime1 + (-timedelta), because -timedelta - in isolation can overflow in cases where datetime1 - timedelta does not. (3) Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined only if -- 2.40.0