mirror of
https://github.com/python/cpython.git
synced 2025-07-23 03:05:38 +00:00
Issue #23517: fromtimestamp() and utcfromtimestamp() methods of
datetime.datetime now round microseconds to nearest with ties going away from zero (ROUND_HALF_UP), as Python 2 and Python older than 3.3, instead of rounding towards -Infinity (ROUND_FLOOR).
This commit is contained in:
parent
0fa5ef72b7
commit
2ec5bd6fb2
4 changed files with 14 additions and 8 deletions
|
@ -1847,6 +1847,7 @@ class TestDateTime(TestDate):
|
|||
zero = fts(0)
|
||||
self.assertEqual(zero.second, 0)
|
||||
self.assertEqual(zero.microsecond, 0)
|
||||
one = fts(1e-6)
|
||||
try:
|
||||
minus_one = fts(-1e-6)
|
||||
except OSError:
|
||||
|
@ -1857,22 +1858,22 @@ class TestDateTime(TestDate):
|
|||
self.assertEqual(minus_one.microsecond, 999999)
|
||||
|
||||
t = fts(-1e-8)
|
||||
self.assertEqual(t, minus_one)
|
||||
self.assertEqual(t, zero)
|
||||
t = fts(-9e-7)
|
||||
self.assertEqual(t, minus_one)
|
||||
t = fts(-1e-7)
|
||||
self.assertEqual(t, minus_one)
|
||||
self.assertEqual(t, zero)
|
||||
|
||||
t = fts(1e-7)
|
||||
self.assertEqual(t, zero)
|
||||
t = fts(9e-7)
|
||||
self.assertEqual(t, zero)
|
||||
self.assertEqual(t, one)
|
||||
t = fts(0.99999949)
|
||||
self.assertEqual(t.second, 0)
|
||||
self.assertEqual(t.microsecond, 999999)
|
||||
t = fts(0.9999999)
|
||||
self.assertEqual(t.second, 0)
|
||||
self.assertEqual(t.microsecond, 999999)
|
||||
self.assertEqual(t.second, 1)
|
||||
self.assertEqual(t.microsecond, 0)
|
||||
|
||||
def test_insane_fromtimestamp(self):
|
||||
# It's possible that some platform maps time_t to double,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue