[tz] Converting cities to tz identifiers (tangent)
guy at alum.mit.edu
Wed Feb 21 01:06:07 UTC 2018
> On Feb 20, 2018, at 3:23 PM, John Hawkinson <jhawk at MIT.EDU> wrote:
> (multiple replies inline)
> Guy Harris <guy at alum.mit.edu> wrote on Tue, 20 Feb 2018
> at 15:04:11 -0800 in <91FA6B60-4729-4B8D-80F9-2E79851A8D76 at alum.mit.edu>:
>> What is meant by "the US Eastern time zone"? The zone that, barring
>> adjustments such as Daylight Savings Time, is 5 hours west of UTC -
>> and that may include locations that do make DST adjustments and
>> locations that don't?
> I think it generally means the region as defined in 15 USC 260a et seq.
15 USC 260a:
(a) Duration of period; State exemption
During the period commencing at 2 o’clock antemeridian on the second Sunday of March of each year and ending at 2 o’clock antemeridian on the first Sunday of November of each year, the standard time of each zone established by sections 261 to 264 of this title, as modified by section 265 of this title, shall be advanced one hour and such time as so advanced shall for the purposes of such sections 261 to 264, as so modified, be the standard time of such zone during such period; however, (1) any State that lies entirely within one time zone may by law exempt itself from the provisions of this subsection providing for the advancement of time, but only if that law provides that the entire State (including all political subdivisions thereof) shall observe the standard time otherwise applicable during that period, and (2) any State with parts thereof in more than one time zone may by law exempt either the entire State as provided in (1) or may exempt the entire area of the State lying within any time zone.
(b) State laws superseded
It is hereby declared that it is the express intent of Congress by this section to supersede any and all laws of the States or political subdivisions thereof insofar as they may now or hereafter provide for advances in time or changeover dates different from those specified in this section.
15 USC 261:
For the purpose of establishing the standard time of the United States, the territory of the United States shall be divided into nine zones in the manner provided in this section. Except as provided in section 260a(a) of this title, the standard time of the first zone shall be Coordinated Universal Time retarded by 4 hours; that of the second zone retarded by 5 hours; that of the third zone retarded by 6 hours; that of the fourth zone retarded by 7 hours; that of the fifth zone retarded  8 hours; that of the sixth zone retarded by 9 hours; that of the seventh zone retarded by 10 hours; that of the eighth zone retarded by 11 hours; and that of the ninth zone shall be Coordinated Universal Time advanced by 10 hours. The limits of each zone shall be defined by an order of the Secretary of Transportation, having regard for the convenience of commerce and the existing junction points and division points of common carriers engaged in interstate or foreign commerce, and any such order may be modified from time to time. As used in sections 261 to 264 of this title, the term “interstate or foreign commerce” means commerce between a State, the District of Columbia, the Commonwealth of Puerto Rico, or any possession of the United States and any place outside thereof.
15 USC 263:
The standard time of the first zone shall be known and designated as Atlantic standard time; that of the second zone shall be known and designated as eastern standard time; that of the third zone shall be known and designated as central standard time; that of the fourth zone shall be known and designated as mountain standard time; that of the fifth zone shall be known and designated as Pacific standard time; that of the sixth zone shall be known and designated as Alaska standard time; that of the seventh zone shall be known and designated as Hawaii-Aleutian standard time; that of the eighth zone shall be known and designated as Samoa standard time; and that of the ninth zone shall be known as Chamorro standard time.
so Eastern standard time is UTC retarded by 5 hours, and, in that time zone, the daylight saving time rules, advancing the time (to UTC retarded by 4 hours) during part of the year, are as specified in 260a *unless* either
1) a state entirely within that zone says "no DST here"
2) a state in more than one time zone either says "no DST anywhere here" or "no DST in the part that's in one of those time zones".
So "US Eastern time" is 5 hours retarded from UTC during the period from 2 o’clock antemeridian on the first Sunday of November to just before 2 o’clock antemeridian on the second Sunday of March of the next year, and may be 5 hours retarded from UTC or 4 hours retarded from UTC during the remaining period, depending on whether you're in a part of that zone that decided not to observe DST.
Currently, there are no tz regions that are in the US Eastern time zone where DST is not observed, so America/New_York could be used in the US Eastern time zone if historical information and possible future behavior doesn't matter. There is no tz region that could handle the US Mountain time zone, however, because Arizona, which is in the Mountain time zone, does not observe DST, and Colorado, which is also in the Mountain time zone, does observe DST.
There's also a tzdb id "EST" which is 5 hours retarded from UTC all year around and a tzdb id "EST5EDT" which is "5 hours retarded from UTC plus the US DST rules since the beginning of time":
# From Arthur David Olson, 2005-12-19
# We generate the files specified below to guard against old files with
# obsolete information being left in the time zone binary directory.
# We limit the list to names that have appeared in previous versions of
# this time zone package.
# We do these as separate Zones rather than as Links to avoid problems if
# a particular place changes whether it observes DST.
# We put these specifications here in the northamerica file both to
# increase the chances that they'll actually get compiled and to
# avoid the need to duplicate the US rules in another file.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone EST -5:00 - EST
Zone MST -7:00 - MST
Zone HST -10:00 - HST
Zone EST5EDT -5:00 US E%sT
Zone CST6CDT -6:00 US C%sT
Zone MST7MDT -7:00 US M%sT
Zone PST8PDT -8:00 US P%sT
>> If so, then all that asking for "the US Eastern time zone" will get
>> you is "5 hours west of UTC"; it won't get you any rules for
>> adjustments, because not all locations in the Eastern time zone will
>> necessarily follow the same rules.
> Well, that's certainly not true in the tz project. It'll get you America/New_York,
In what way does asking for "the US Eastern time zone" get you America/New_York in the tz project? What part of the tz database tie America/New_York, and no other tz region, to "the US Eastern time zone"?
> which gets you the NYC rules. (Now, maybe that is what's wanted, maybe it's not. In my case particular case, it's fine, because I'm not concerned with history.)
>> The tzdb is not currently the place to ask about "the US Eastern
>> time zone",
> That is not the question I'm asking, however:
I wasn't replying to you, I was replying to Paul Ganssle, who had said "It does seem like there are times where the time zone you want is "the US Eastern time zone..."
>> because it doesn't have any mechanism to ask what the
>> UTC offset of the "US Eastern time zone" is.
> Sure it does. The answer is just more approximate than some people (you?) might like, but is perfectly fine for others' purposes (mine own).
So what is this mechanism?
More information about the tz