[Datetime-SIG] Are there any "correct" implementations of tzinfo?

Tim Peters tim.peters at gmail.com
Sun Sep 13 21:00:33 CEST 2015

>> Hi, Laura!  By "zoneinfo" here, we mean the IANA (aka "Olson") time
>> zone database, which is ubiquitous on (at least) Linux:
>>    https://www.iana.org/time-zones
>>So "will a wrapping of zoneinfo handle XYZ?" isn't so much a question
>>about the wrapping as about what's in the IANA database.

> Then we had better be able to override it when it is wrong.

Anyone can write their own tzinfo implementing any rules they like,
and nobody is required to use anyone else's tzinfos.

That said, zoneinfo is the most extensive collection of time zone info
there is, so most people will probably use only that.

And that said, zoneinfo is inordinately concerned with recording
highly dubious guesses about what "the rules" were even over a century
ago.  Most people would probably be happy with a tzinfo that _only_
knew what "today's rules" are.  POSIX TZ rules give a simple way to
spell exactly that.  Simple, but annoyingly cryptic.  Gustavo's
`dateutil` already supplies a way to magically build a tzinfo
implementing a zone specified by a POSIX TZ rule string.  More obvious
ways to spell that are surely possible (like, for example, the obvious

Patches welcome ;-)

>> Best guess is that Creighton's rules are covered by that database's
>> America/Winnipeg entries.
>> # Saskatchewan
>> # Other western towns (e.g. Lloydminster) are like Edmonton.
>> # Matthews and Vincent (1998) write that Denare Beach and Creighton
>> # are like Winnipeg, in violation of Saskatchewan law.

> I think that this will work.
> Creighton is just across the border from Flin Flan, Manitoba.  Indeed I think
> the problem of 'drunken people from Manitoba trying to get one hours more
> drinking done and being a menace on the highway' may have fueled the
> 'we are going to have DST in violation of the law' movement in Creighton.


> But I am not sure how it is that a poor soul who just wants to print a
> railway schedule 'in local time' is supposed to know that Creighton is
> using Winnipeg time.

I'm not sure how that poor soul would get a railway schedule
manipulable in Python to begin with ;-)

If it's "a problem" for "enough" users of a computer system, a Linux
admin could simply make "America/Creighton" a link to the
"America/Winnipeg" tzfile.  But doing that for every nameable place on
Earth might be considered annoying.

To cover everyone, you may even need to specify a street address
within "a city":


Blame politicians for this.  I can assure you Guido is not responsible
for creating this mess ;-)

More information about the Python-list mailing list