[Python-checkins] python/dist/src/Doc/lib tzinfo-examples.py,1.2,1.3

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
2003年1月03日 14:27:00 -0800


Update of /cvsroot/python/python/dist/src/Doc/lib
In directory sc8-pr-cvs1:/tmp/cvs-serv19643/python/Doc/lib
Modified Files:
	tzinfo-examples.py 
Log Message:
Replaced the flawed "local time" example tzinfo class with the guts
of Guido's later Local.py (from the datetime sandbox).
Index: tzinfo-examples.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/tzinfo-examples.py,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** tzinfo-examples.py	2 Jan 2003 21:28:07 -0000	1.2
--- tzinfo-examples.py	3 Jan 2003 22:26:57 -0000	1.3
***************
*** 3,6 ****
--- 3,8 ----
 ZERO = timedelta(0)
 
+ # A UTC class.
+ 
 class UTC(tzinfo):
 """UTC"""
***************
*** 15,23 ****
 return ZERO
 
 class FixedOffset(tzinfo):
 """Fixed offset in minutes east from UTC."""
 
 def __init__(self, offset, name):
! self.__offset = offset
 self.__name = name
 
--- 17,31 ----
 return ZERO
 
+ utc = UTC()
+ 
+ # A class building tzinfo objects for fixed-offset time zones.
+ # Note that FixedOffset(0, "UTC") is a different way to build a
+ # UTC tzinfo object.
+ 
 class FixedOffset(tzinfo):
 """Fixed offset in minutes east from UTC."""
 
 def __init__(self, offset, name):
! self.__offset = timdelta(minutes = offset)
 self.__name = name
 
***************
*** 31,52 ****
 return ZERO
 
! import time
 
! class LocalTime(tzinfo):
! """Local time as defined by the operating system."""
 
! def _isdst(self, dt):
! t = (dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second,
! -1, -1, -1)
! # XXX This may fail for years < 1970 or >= 2038
! t = time.localtime(time.mktime(t))
! return t.tm_isdst > 0
 
 def utcoffset(self, dt):
 if self._isdst(dt):
! return timedelta(seconds=-time.timezone)
 else:
! return timedelta(seconds=-time.altzone)
 
 def tzname(self, dt):
! return time.tzname[self._isdst(dt)]
--- 39,78 ----
 return ZERO
 
! # A class capturing the platform's idea of local time.
 
! import time as _time
 
! STDOFFSET = timedelta(seconds = -_time.timezone)
! if _time.daylight:
! DSTOFFSET = timedelta(seconds = -_time.altzone)
! else:
! DSTOFFSET = STDOFFSET
! 
! DSTDIFF = DSTOFFSET - STDOFFSET
! 
! class LocalTimezone(tzinfo):
 
 def utcoffset(self, dt):
 if self._isdst(dt):
! return DSTOFFSET
 else:
! return STDOFFSET
! 
! def dst(self, dt):
! if self._isdst(dt):
! return DSTDIFF
! else:
! return ZERO
 
 def tzname(self, dt):
! return _time.tzname[self._isdst(dt)]
! 
! def _isdst(self, dt):
! tt = (dt.year, dt.month, dt.day,
! dt.hour, dt.minute, dt.second,
! dt.weekday(), 0, -1)
! stamp = _time.mktime(tt)
! tt = _time.localtime(stamp)
! return tt.tm_isdst > 0
! 
! Local = LocalTimezone()

AltStyle によって変換されたページ (->オリジナル) /