Skip to content
Advertisement

Why So Many IANA Time Zones Names?

Javascript allows you to see what time it is in another timezone if you specify the IANA given name of that timezone. For example:

JavaScript

Below you can see that IANA provides multiple names within each general timezone:

JavaScript

Why is that necessary?

For example, both America/Detroit and America/New_York are (generally) in the Eastern Time Zone. Why don’t these two locations share a single IANA timezone name?

Are there occations of the year where the time in New York is different from that of Detroit?

If not, then why allow more timezone names than the exact number of variances?

Advertisement

Answer

I’ll use your example:

For example, both America/Detroit and America/New_York are in the Eastern Time Zone. Why don’t these two locations share a single timezone name?

In the TZDB, the Zone entry for America/New_York looks like this:

JavaScript

While the Zone entry for America/Detroit looks like this:

JavaScript

To fully decipher this, one also needs the Rule entries for US, NYC, and Detroit (which I won’t copy/paste here, but you can follow the links).

As you can see, Detroit has had variations from New York, the last of which was in 1975 when Detroit started daylight saving time slightly later than most of the Eastern time zone (Apr 27 shown here vs Feb 23rd given by Rule US).

Since then however, they have been the same. The TZDB rules require a unique zone for areas that have agreed since 1970, and these areas have deviations in 1973 and 1975, thus they require unique zone identifiers.

One can see this difference in JavaScript like so:

JavaScript

Of course, if in your application, you never deal with dates going back that far, then you can just use America/New_York to represent the US Eastern time zone, and omit America/Detroit (and a few others) – but this is entirely your decision to make.

You may also be interested in reading the Theory file with in the tzdb itself, which explains the concepts and principles of the time zone database in a lot more detail.

Advertisement