def utcnow(cls): """Virtualized datetime.datetime.utcnow()""" tz = getattr(datetime.datetime, "localtz_override") or datetime_tz.localtz() now = super(virtual_datetime_tz_offset, cls).now() #print now.replace(tzinfo=tz), tz.utcoffset(now.replace(tzinfo=tz)) #print "utcnow", tz.localize(now).utcoffset() return now - tz.localize(now).utcoffset()
def test_switching_values(self): now = datetime_tz.datetime_tz.now() assert isinstance(now, datetime.datetime) assert isinstance(now, datetime_tz.datetime_tz) later = now + datetime.timedelta(hours=1) assert isinstance(later, datetime.datetime) assert isinstance(later, datetime_tz.datetime_tz) start = datetime.datetime.combine(now.date(), now.time()) assert isinstance(start, datetime.datetime) local_start = datetime_tz.localize(start) assert local_start == now assert isinstance(local_start, datetime_tz.datetime_tz) start_tz = datetime_tz.datetime_tz.combine(now.date(), now.time(), datetime_tz.localtz()) assert isinstance(start_tz, datetime_tz.datetime_tz) local_start_tz = datetime_tz.localize(start_tz) assert local_start_tz == now assert isinstance(local_start_tz, datetime_tz.datetime_tz) assert isinstance(datetime_tz.datetime_tz.min, datetime_tz.datetime_tz) assert isinstance(datetime_tz.datetime_tz.max, datetime_tz.datetime_tz) virtualtime.enable() now = datetime_tz.datetime_tz.now() assert isinstance(now, datetime.datetime) assert isinstance(now, datetime_tz.datetime_tz) later = now + datetime.timedelta(hours=1) assert isinstance(later, datetime.datetime) assert isinstance(later, datetime_tz.datetime_tz) start = datetime.datetime.combine(now.date(), now.time()) assert isinstance(start, datetime.datetime) local_start = datetime_tz.localize(start) assert local_start == now assert isinstance(local_start, datetime_tz.datetime_tz) start_tz = datetime_tz.datetime_tz.combine(now.date(), now.time(), datetime_tz.localtz()) assert isinstance(start_tz, datetime_tz.datetime_tz) local_start_tz = datetime_tz.localize(start_tz) assert local_start_tz == now assert isinstance(local_start_tz, datetime_tz.datetime_tz) assert isinstance(datetime_tz.datetime_tz.min, datetime_tz.datetime_tz) assert isinstance(datetime_tz.datetime_tz.max, datetime_tz.datetime_tz)