I found a solution: http://groups.google.com/group/comp.lang.python/browse_thread/thread/aea64448eaca4778/250e908652e2646d
If I use datetime.now(tz=tz) instead of datetime(Y,M,D,h,m,s, tzinfo=tz), it works. On Jul 3, 4:18 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > Nah, it's got to be something more than that. A bunch of them are > screwed up. It's showing America/Saskatchewan as UTC-06:59. > > I think there's something wrong with my code. I've put it up at a > pastebin so that it's easier to read. > > http://pastebin.ca/1061776 > > On Jul 2, 11:22 am, Mensanator <[EMAIL PROTECTED]> wrote: > > > On Jul 2, 12:43 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > > > > I'm trying to write some code to deal with world timezones, and I'm > > > getting a strange result. America/Iqaluit should not be showing up in > > > UTC+00:00, but it is. Can anyone see what's wrong with this code? > > > > import time > > > from datetime import datetime > > > import os > > > import pytz > > > > def getZoneNamesOnThisComputer(): > > > for i in pytz.all_timezones: > > > if os.path.exists( os.path.join('/tmp/usr/share/zoneinfo/', > > > i)): > > > yield i > > > > def getZonesGroupedByOffset(): > > > '''return a dict of all the zone names , grouped by their offset > > > eg: > > > {'-0400': ['America/Blanc-Sablon', 'Etc/GMT+4'], > > > '+0000': ['America/Iqaluit', 'Etc/GMT', 'Europe/Belfast', 'GB', > > > 'GMT'], > > > ... > > > } > > > ''' > > > Y,M,D,h,m,s = time.localtime()[:6] > > > > zonesGroupedByOffset = {} > > > > for name in getZoneNamesOnThisComputer(): > > > tz = pytz.timezone(name) > > > now = datetime(Y,M,D,h,m,s, tzinfo=tz) > > > # strfime returns a string like "-0800" or "+0430" or "0000" > > > offsetKey = now.strftime('%z') > > > if not zonesGroupedByOffset.has_key(offsetKey): > > > zonesGroupedByOffset[offsetKey] = [] > > > zonesGroupedByOffset[offsetKey].append(name) > > > return zonesGroupedByOffset > > > > z = getZonesGroupedByOffset() > > > print z['+0000'] > > > > # Why is America/Iqaluit showing up here??? > > > The database contains an error. Shit happens, deal with it. > > -- http://mail.python.org/mailman/listinfo/python-list