--- DateTime.py.ORIG Fri Apr 28 10:13:18 2000 +++ DateTime.py Fri Apr 28 11:25:12 2000 @@ -179,7 +179,7 @@ 'GMT-0300','GMT-0400','GMT-0500','GMT-0600','GMT-0700', 'GMT-0800','GMT-0900','GMT-1000','GMT-1100','GMT-1200', 'GMT+1', - 'UT','BST','CDT','MEST','SST','FST','WADT','EADT','NZDT', + 'UT','BST','CDT','CEST','MEST','SST','FST','WADT','EADT','NZDT', 'WET','WAT','AT','AST','NT','IDLW','CET','MET', 'MEWT','SWT','FWT','EET','BT','ZP4','ZP5','ZP6', 'WAST','CCT','JST','EAST','GST','NZT','NZST','IDLE'] @@ -254,7 +254,7 @@ 'us/samoa':'US/Samoa', 'ut':'Universal', - 'bst':'GMT+1', 'cdt':'GMT+2', 'mest':'GMT+2', 'sst':'GMT+2', + 'bst':'GMT+1', 'cdt':'GMT+2', 'cest':'GMT+2', 'mest':'GMT+2', 'sst':'GMT+2', 'fst':'GMT+2', 'wadt':'GMT+8', 'eadt':'GMT+11', 'nzdt':'GMT+13', 'wet':'GMT', 'wat':'GMT-1', 'at':'GMT-2', 'ast':'GMT-4', 'nt':'GMT-11', 'idlw':'GMT-12', 'cet':'GMT+1', 'met':'GMT+1', @@ -484,12 +484,16 @@ elif not args: # Current time, exp in local timezone - t,tz=time(),self._localzone + t=time() ms=(t-int(t)) yr,mo,dy,hr,mn,sc=gmtime(int(t))[:6] s=(hr/24.0+mn/1440.0+(sc+ms)/86400.0) d=(self._julianday(yr,mo,dy)-jd1901)+s - yr,mo,dy,hr,mn,sc=localtime(t)[:6] + yr,mo,dy,hr,mn,sc,wd,jd,ds=localtime(t) + if not ds: + tz=self._localzone + else: + tz=self._localdszone sc=sc+ms elif ac==1: @@ -539,12 +543,16 @@ else: # Seconds from epoch, gmt - t,tz=arg,self._localzone + t=arg ms=(t-int(t)) yr,mo,dy,hr,mn,sc=gmtime(int(t))[:6] s=(hr/24.0+mn/1440.0+(sc+ms)/86400.0) d=(self._julianday(yr,mo,dy)-jd1901)+s - yr,mo,dy,hr,mn,sc=localtime(t)[:6] + yr,mo,dy,hr,mn,sc,wd,jd,ds=localtime(t) + if not ds: + tz=self._localzone + else: + tz=self._localdszone sc=sc+ms elif ac==2: @@ -691,7 +699,8 @@ except: try: t=time() - localzone=float(int(mktime(gmtime(t))) - int(t)) + t0=mktime(list(gmtime(t))[:-1]+[0]) + localzone=float(int(t0) - int(t)) offset=(-localzone/(60*60)) majorOffset=int(offset) if majorOffset != 0 : @@ -701,6 +710,22 @@ lz='%s%0.02d%0.02d' % (m, majorOffset, minorOffset) _localzone=_cache._zmap[lower('GMT%s' % lz)] except: _localzone='' + + try: _localdszone=_cache._zmap[lower(tzname[1])] + except: + try: + t=time() + t0=mktime(list(gmtime(t))[:-1]+[1]) + localzone=float(int(t0) - int(t)) + offset=(-localzone/(60*60)) + majorOffset=int(offset) + if majorOffset != 0 : + minorOffset=abs(int((offset % majorOffset) * 60.0)) + else: minorOffset = 0 + m=majorOffset >= 0 and '+' or '' + lz='%s%0.02d%0.02d' % (m, majorOffset, minorOffset) + _localdszone=_cache._zmap[lower('GMT%s' % lz)] + except: _localdszone='' _tzinfo =_cache()