Replaced the flawed "local time" example tzinfo class with the guts
of Guido's later Local.py (from the datetime sandbox).
diff --git a/Doc/lib/tzinfo-examples.py b/Doc/lib/tzinfo-examples.py
index 868755a..92f298c 100644
--- a/Doc/lib/tzinfo-examples.py
+++ b/Doc/lib/tzinfo-examples.py
@@ -2,6 +2,8 @@
 
 ZERO = timedelta(0)
 
+# A UTC class.
+
 class UTC(tzinfo):
     """UTC"""
 
@@ -14,11 +16,17 @@
     def dst(self, dt):
         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 = offset
+        self.__offset = timdelta(minutes = offset)
         self.__name = name
 
     def utcoffset(self, dt):
@@ -30,23 +38,41 @@
     def dst(self, dt):
         return ZERO
 
-import time
+# A class capturing the platform's idea of local time.
 
-class LocalTime(tzinfo):
-    """Local time as defined by the operating system."""
+import time as _time
 
-    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
+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 timedelta(seconds=-time.timezone)
+            return DSTOFFSET
         else:
-            return timedelta(seconds=-time.altzone)
+            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)]
+        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()