def _timeZoneDiff():
offset = (time.timezone if (time.localtime().tm_isdst == 0)
else time.altzone)
return timedelta(hours=(offset/3600))
python类altzone()的实例源码
def _dateTimePropertyTest(self, prop, label, default):
offset = (time.timezone if (time.localtime().tm_isdst == 0)
else time.altzone)
timeDiff = timedelta(hours = (offset/3600))
values = {"0": default, "": default, "none": default,
"2010-4-20": default,
"2010-04-20 10:30:50":
datetime(2010, 4, 20, 10, 30, 50) - timeDiff}
self._propertyTest(prop, label, default, values)
def test_getDateTimeProperty(self):
timeDiff = timedelta(hours=((time.timezone if
(time.localtime().tm_isdst == 0) else
time.altzone)/3600))
getProp = self.league._getDateTimeProperty
assert_equals(getProp(datetime(2000, 4, 20, 10, 30, 50)),
datetime(2000, 4, 20, 10, 30, 50))
assert_equals(getProp(datetime.strftime(datetime(2000, 4, 20, 10, 30,
50),
self.league.TIMEFORMAT)),
datetime(2000, 4, 20, 10, 30, 50) - timeDiff)
def Time2Internaldate(date_time):
"""Convert date_time to IMAP4 INTERNALDATE representation.
Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'. The
date_time argument can be a number (int or float) representing
seconds since epoch (as returned by time.time()), a 9-tuple
representing local time (as returned by time.localtime()), or a
double-quoted string. In the last case, it is assumed to already
be in the correct format.
"""
if isinstance(date_time, (int, float)):
tt = time.localtime(date_time)
elif isinstance(date_time, (tuple, time.struct_time)):
tt = date_time
elif isinstance(date_time, str) and (date_time[0],date_time[-1]) == ('"','"'):
return date_time # Assume in correct format
else:
raise ValueError("date_time not of a known type")
dt = time.strftime("%d-%b-%Y %H:%M:%S", tt)
if dt[0] == '0':
dt = ' ' + dt[1:]
if time.daylight and tt[-1]:
zone = -time.altzone
else:
zone = -time.timezone
return '"' + dt + " %+03d%02d" % divmod(zone//60, 60) + '"'
def test_data_attributes(self):
time.altzone
time.daylight
time.timezone
time.tzname
def __init__(self):
super(tzlocal, self).__init__()
self._std_offset = datetime.timedelta(seconds=-time.timezone)
if time.daylight:
self._dst_offset = datetime.timedelta(seconds=-time.altzone)
else:
self._dst_offset = self._std_offset
self._dst_saved = self._dst_offset - self._std_offset
self._hasdst = bool(self._dst_saved)
def __init__(self):
super(tzlocal, self).__init__()
self._std_offset = datetime.timedelta(seconds=-time.timezone)
if time.daylight:
self._dst_offset = datetime.timedelta(seconds=-time.altzone)
else:
self._dst_offset = self._std_offset
self._dst_saved = self._dst_offset - self._std_offset
self._hasdst = bool(self._dst_saved)
def Time2Internaldate(date_time):
"""Convert date_time to IMAP4 INTERNALDATE representation.
Return string in form: '"DD-Mmm-YYYY HH:MM:SS +HHMM"'. The
date_time argument can be a number (int or float) representing
seconds since epoch (as returned by time.time()), a 9-tuple
representing local time (as returned by time.localtime()), or a
double-quoted string. In the last case, it is assumed to already
be in the correct format.
"""
if isinstance(date_time, (int, float)):
tt = time.localtime(date_time)
elif isinstance(date_time, (tuple, time.struct_time)):
tt = date_time
elif isinstance(date_time, str) and (date_time[0],date_time[-1]) == ('"','"'):
return date_time # Assume in correct format
else:
raise ValueError("date_time not of a known type")
dt = time.strftime("%d-%b-%Y %H:%M:%S", tt)
if dt[0] == '0':
dt = ' ' + dt[1:]
if time.daylight and tt[-1]:
zone = -time.altzone
else:
zone = -time.timezone
return '"' + dt + " %+03d%02d" % divmod(zone//60, 60) + '"'
def test_data_attributes(self):
time.altzone
time.daylight
time.timezone
time.tzname