diff -r cb911e1fb3dc Lib/datetime.py --- a/Lib/datetime.py Wed Feb 25 18:14:47 2015 +0200 +++ b/Lib/datetime.py Wed Feb 25 12:16:43 2015 -0500 @@ -515,8 +515,9 @@ self._seconds * other, self._microseconds * other) if isinstance(other, float): + ms = timedelta(microseconds=1) a, b = other.as_integer_ratio() - return self * a / b + return timedelta(microseconds=self // ms * a / b) return NotImplemented __rmul__ = __mul__