Author: Amaury Forgeot d'Arc <amaur...@gmail.com> Branch: Changeset: r52341:8a9843bb99ad Date: 2012-02-10 01:19 +0100 http://bitbucket.org/pypy/pypy/changeset/8a9843bb99ad/
Log: datetime.utcfromtimestamp() used to store microseconds as floats. diff --git a/lib_pypy/datetime.py b/lib_pypy/datetime.py --- a/lib_pypy/datetime.py +++ b/lib_pypy/datetime.py @@ -1520,7 +1520,7 @@ def utcfromtimestamp(cls, t): "Construct a UTC datetime from a POSIX timestamp (like time.time())." t, frac = divmod(t, 1.0) - us = round(frac * 1e6) + us = int(round(frac * 1e6)) # If timestamp is less than one microsecond smaller than a # full second, us can be rounded up to 1000000. In this case, @@ -2125,3 +2125,7 @@ pretty bizarre, and a tzinfo subclass can override fromutc() if it is. """ +if not hasattr(_time, '__datetime__dict'): + _time.__datetime__dict = globals() +else: + globals().update(_time.__datetime__dict) diff --git a/pypy/module/test_lib_pypy/test_datetime.py b/pypy/module/test_lib_pypy/test_datetime.py --- a/pypy/module/test_lib_pypy/test_datetime.py +++ b/pypy/module/test_lib_pypy/test_datetime.py @@ -22,3 +22,7 @@ del os.environ["TZ"] else: os.environ["TZ"] = prev_tz + +def test_utcfromtimestamp_microsecond(): + dt = datetime.datetime.utcfromtimestamp(0) + assert isinstance(dt.microsecond, int) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit