]> granicus.if.org Git - python/commitdiff
Issue #22117: Fix rounding of fromtimestamp() methods of datetime.datetime and
authorVictor Stinner <victor.stinner@gmail.com>
Sun, 29 Mar 2015 23:10:14 +0000 (01:10 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Sun, 29 Mar 2015 23:10:14 +0000 (01:10 +0200)
datetime.time: round towards minus infinity ("floor") instead of rounding
towards zero ("down").

Modules/_datetimemodule.c

index c3e54f7af43530d198617d7df8630ae5c127853f..ab2acae662e883fa759ddd55ea9b79f154d636d4 100644 (file)
@@ -2463,7 +2463,7 @@ date_local_from_object(PyObject *cls, PyObject *obj)
     struct tm *tm;
     time_t t;
 
-    if (_PyTime_ObjectToTime_t(obj, &t, _PyTime_ROUND_DOWN) == -1)
+    if (_PyTime_ObjectToTime_t(obj, &t, _PyTime_ROUND_FLOOR) == -1)
         return NULL;
 
     tm = localtime(&t);
@@ -4095,7 +4095,8 @@ datetime_from_timestamp(PyObject *cls, TM_FUNC f, PyObject *timestamp,
     time_t timet;
     long us;
 
-    if (_PyTime_ObjectToTimeval(timestamp, &timet, &us, _PyTime_ROUND_DOWN) == -1)
+    if (_PyTime_ObjectToTimeval(timestamp,
+                                &timet, &us, _PyTime_ROUND_FLOOR) == -1)
         return NULL;
     assert(0 <= us && us <= 999999);