diff --git a/adafruit_datetime.py b/adafruit_datetime.py index b430f40..cb4fef9 100755 --- a/adafruit_datetime.py +++ b/adafruit_datetime.py @@ -1285,15 +1285,15 @@ def _fromtimestamp(cls, t, utc, tz): """ if isinstance(t, float): frac, t = _math.modf(t) + us = round(frac * 1e6) + if us >= 1000000: + t += 1 + us -= 1000000 + elif us < 0: + t -= 1 + us += 1000000 else: - frac = 0 - us = round(frac * 1e6) - if us >= 1000000: - t += 1 - us -= 1000000 - elif us < 0: - t -= 1 - us += 1000000 + us = 0 if utc: raise NotImplementedError(