def test_fromtimestamp(self): DAY = 86400 HOUR = 3600 TZ_CEST = udatetime.TZFixedOffset(60 * 2) for t in range(0, DAY - (2 * HOUR), HOUR): dt = datetime.fromtimestamp(t) udt = udatetime.fromtimestamp(t) self.assertIsInstance(udt, datetime) self.assertEqual(udt.year, dt.year) self.assertEqual(udt.month, dt.month) self.assertEqual(udt.day, dt.day) self.assertEqual(udt.hour, dt.hour) self.assertEqual(udt.minute, dt.minute) self.assertEqual(udt.second, dt.second) self.assertEqual(udt.microsecond, dt.microsecond) self.assertEqual(udt.utcoffset(), timedelta(0)) self.assertEqual(udt.dst(), NO_DST) for t in range(0, DAY, HOUR): dt = datetime.fromtimestamp(t, TZ_CEST) udt = udatetime.fromtimestamp(t, TZ_CEST) self.assertIsInstance(udt, datetime) self.assertEqual(udt.year, dt.year) self.assertEqual(udt.month, dt.month) self.assertEqual(udt.day, dt.day) self.assertEqual(udt.hour, dt.hour) self.assertEqual(udt.minute, dt.minute) self.assertEqual(udt.second, dt.second) self.assertEqual(udt.microsecond, dt.microsecond) self.assertEqual(udt.utcoffset(), timedelta(hours=2)) self.assertEqual(udt.dst(), NO_DST) for t in range(0, DAY * -1, HOUR * -1): dt = datetime.fromtimestamp(t, TZ_CEST) udt = udatetime.fromtimestamp(t, TZ_CEST) self.assertIsInstance(udt, datetime) self.assertEqual(udt.year, dt.year) self.assertEqual(udt.month, dt.month) self.assertEqual(udt.day, dt.day) self.assertEqual(udt.hour, dt.hour) self.assertEqual(udt.minute, dt.minute) self.assertEqual(udt.second, dt.second) self.assertEqual(udt.microsecond, dt.microsecond) self.assertEqual(udt.utcoffset(), timedelta(hours=2)) self.assertEqual(udt.dst(), NO_DST)
def test_fromtimestamp(self): DAY = 86400 HOUR = 3600 TZ_CEST = udatetime.TZFixedOffset(60 * 2) for t in range(0, DAY - (2 * HOUR), HOUR): dt = datetime.fromtimestamp(t) udt = udatetime.fromtimestamp(t) self.assertIsInstance(udt, datetime) self.assertEqual(udt.year, dt.year) self.assertEqual(udt.month, dt.month) self.assertEqual(udt.day, dt.day) # missing hour for local CEST timezone with datetime, # bug of datetime.datetime? # self.assertEqual(udt.hour, dt.hour + 1) self.assertEqual(udt.minute, dt.minute) self.assertEqual(udt.second, dt.second) self.assertEqual(udt.microsecond, dt.microsecond) for t in range(0, DAY, HOUR): dt = datetime.fromtimestamp(t, TZ_CEST) udt = udatetime.fromtimestamp(t, TZ_CEST) self.assertIsInstance(udt, datetime) self.assertEqual(udt.year, dt.year) self.assertEqual(udt.month, dt.month) self.assertEqual(udt.day, dt.day) self.assertEqual(udt.hour, dt.hour) self.assertEqual(udt.minute, dt.minute) self.assertEqual(udt.second, dt.second) self.assertEqual(udt.microsecond, dt.microsecond) for t in range(0, DAY * -1, HOUR * -1): dt = datetime.fromtimestamp(t, TZ_CEST) udt = udatetime.fromtimestamp(t, TZ_CEST) self.assertIsInstance(udt, datetime) self.assertEqual(udt.year, dt.year) self.assertEqual(udt.month, dt.month) self.assertEqual(udt.day, dt.day) self.assertEqual(udt.hour, dt.hour) self.assertEqual(udt.minute, dt.minute) self.assertEqual(udt.second, dt.second) self.assertEqual(udt.microsecond, dt.microsecond)
def ensure_datetime(o): if o is None: return None if isinstance(o, datetime): return o if isinstance(o, date): return datetime.combine(o, datetime.min.time(), tzinfo=timezone.utc) if isinstance(o, (int, float)): return udatetime.fromtimestamp(o, tz=udatetime.TZFixedOffset(0)) if isinstance(o, date): o = datetime.combine(o, datetime.min.time()) try: return udatetime.from_string(o) except Exception: return o
def _udatetime(): return udatetime.fromtimestamp(TIME)
def udatetime_fromtimestamp(): udatetime.fromtimestamp(TIME)
def udatetime_fromtimestamp(): udatetime.fromtimestamp(TIME)
def unix2datetime(u): return udatetime.fromtimestamp(u / 1000.0, tz=UTC) + timedelta(hours=0)
def test_precision(self): t = 1469897308.549871 dt = datetime.fromtimestamp(t) udt = udatetime.fromtimestamp(t) self.assertEqual(udt.microsecond, dt.microsecond)
def test_precision(self): t = 1469897308.549871 dt = datetime.fromtimestamp(t) udt = udatetime.fromtimestamp(t) self.assertEqual(udt.microsecond, dt.microsecond)