changeset: 95261:6bae19f4e7b2 parent: 95259:c26b4b85dfc4 user: Victor Stinner date: Mon Mar 30 01:10:14 2015 +0200 files: Modules/_datetimemodule.c description: Issue #22117: Fix rounding of fromtimestamp() methods of datetime.datetime and datetime.time: round towards minus infinity ("floor") instead of rounding towards zero ("down"). diff -r c26b4b85dfc4 -r 6bae19f4e7b2 Modules/_datetimemodule.c --- a/Modules/_datetimemodule.c Mon Mar 30 01:02:57 2015 +0200 +++ b/Modules/_datetimemodule.c Mon Mar 30 01:10:14 2015 +0200 @@ -2463,7 +2463,7 @@ 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 @@ 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);