[tz] TZDB use cases

Stephen Colebourne scolebourne at joda.org
Mon Oct 4 23:00:17 UTC 2021

On Sun, 3 Oct 2021 at 12:53, Eliot Lear via tz <tz at iana.org> wrote:
> For another, the same sort of contract could be
> made for Piscataway, NJ, or Niemes. Fr, for which there are no specific
> TZ definitions.

And Guy asks

> So what do those applications due for contracts that refer to "Frankfurt time"?

So, it turns out that there is, I believe, a critical difference here
between the US view of timezones and the European one. In the US,
timezones do not follow the boundary of the whole country, nor even
States. In Europe, by contrast, timezone boundaries are very much
driven by country boundaries.

Thus the answer for Frankfurt is that applications use the zone ID
associated with the country, Europe/Berlin, and applications accept
that this is not actually "Frankfurt Time", but a good enough
approximation. (Same with Nimes and Europe/Paris). Because there are a
limited set of countries, which (almost) all have an associated tz ID
and zone rules only change at the country-level, this works out just
fine. (Again, as mentioned before, if you want to be 100% correct, you
cannot rely on tzdb IDs for this, but most applications accept the
imperfection with tzdb IDs being good enough).

For the US, tzdb actually provides less ability to solve this problem.
Even if tzdb had an ID for each State, that would be insufficient to
cleanly map a location to a good enough ID. In the US, tzdb
effectively doesn't help a user find itz info for Piscataway, NJ -
something must *directly* connect Piscataway with America/New_York -
no other geographic hierarchy such as the State will do.

ie. in Europe, you can map location to country (typically easy to do)
and then country to timezone ID (easy) and be happy with the outcome.
In the US, you would need a direct mapping from location to timezone
for thousands of locations because there is no suitable intermediate
location hierarchy. An abstract region model is the only one that
really works for the US.

Why does this matter in this discussion? Well, one thing I don't want
to see in tzdb is an attempt to force the US model onto Europe. The
extra level of country implicit in the European zone IDs is really
useful to applications. And part of this discussion is to tease out
the implicit and make it explicit.


More information about the tz mailing list