[Datetime-SIG] Implementing tzinfo for all valid datetimes (was Re: PEP-431/495)
tim.peters at gmail.com
Mon Aug 24 17:04:18 CEST 2015
[Chris Angelico <rosuav at gmail.com>]
> tzdata can't accurately represent future timestamps anyway, as they
> can change with barely a week's notice (cf Egypt and DST, and North
> Korea moving half an hour away from Japan);
Of course not. "Reasonable guess" means a guess based on all current
knowledge. And that's what zoneinfo intends to supply with its TZ
rules for instants beyond the explicit transitions. As time goes on,
the TZ rules will need to be used for the present and the past too in
_many_ cases, because they pretty obviously don't intend to generate
any explicit transitions beyond 2037 ever again, except in cases where
a TZ rule is inadequate.
> the past, however, we should be able to be sure of.
Oh no. Get the zoneinfo source and study it. They're very open about
that there's nothing "sure" about the vast bulk of it (which is
historical transitions). Note especially the "Errors in the tz
database arise from many sources" section of the Theory file; e.g.,
just one of those:
* Most of the pre-1970 data entries come from unreliable sources, often
astrology books that lack citations and whose compilers evidently
invented entries when the true facts were unknown, without
reporting which entries were known and which were invented.
These books often contradict each other or give implausible entries,
and on the rare occasions when they are checked they are
typically found to be incorrect.
And they list 17 other significant sources of errors. For the vast
bulk of historical times, the only real advantage of zoneinfo is to
enable all clients to report the _same_ fictions. For recent and
future times, zoneinfo has a crushing advantage: it's the only source
of timezone info that's aggressively kept up-to-date by bona fide
timezone wonks ;-) That's its real value - it could lose the
historical stuff and be just as valuable to almost everyone.
More information about the Datetime-SIG