]> granicus.if.org Git - python/commit
Issue #23517: Fix rounding in fromtimestamp() and utcfromtimestamp() methods
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 18 Sep 2015 12:42:05 +0000 (14:42 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Fri, 18 Sep 2015 12:42:05 +0000 (14:42 +0200)
commit511491ade0bb77febb176bc75f049797f0c71ed0
tree1981db4c2c00eef86f32c03589174f98e46df857
parente3bcbd2bbade81a3591d69f607e1722c6016a489
Issue #23517: Fix rounding in fromtimestamp() and utcfromtimestamp() methods
of datetime.datetime: microseconds are now rounded to nearest with ties going
to nearest even integer (ROUND_HALF_EVEN), instead of being rounding towards
zero (ROUND_DOWN). It's important that these methods use the same rounding
mode than datetime.timedelta to keep the property:

   (datetime(1970,1,1) + timedelta(seconds=t)) == datetime.utcfromtimestamp(t)

It also the rounding mode used by round(float) for example.

Add more unit tests on the rounding mode in test_datetime.
Lib/datetime.py
Lib/test/datetimetester.py
Misc/NEWS
Modules/_datetimemodule.c