From 929aa8e49c0bf5eda3aee43ff8b363f211b27542 Mon Sep 17 00:00:00 2001 From: Stuart Bishop Date: Mon, 16 Feb 2015 15:16:41 +0700 Subject: Import IANA 2015a --- elsie.nci.nih.gov/src/Makefile | 18 +++++---- elsie.nci.nih.gov/src/NEWS | 52 +++++++++++++++++++++++++ elsie.nci.nih.gov/src/antarctica | 9 +++-- elsie.nci.nih.gov/src/asia | 28 ++++--------- elsie.nci.nih.gov/src/backward | 2 +- elsie.nci.nih.gov/src/backzone | 24 +++++++++++- elsie.nci.nih.gov/src/checklinks.awk | 19 +++++++++ elsie.nci.nih.gov/src/checktab.awk | 4 -- elsie.nci.nih.gov/src/europe | 29 +++++++------- elsie.nci.nih.gov/src/leap-seconds.list | 24 ++++++++---- elsie.nci.nih.gov/src/leapseconds.awk | 9 +++++ elsie.nci.nih.gov/src/localtime.c | 69 ++++++++++++++++----------------- elsie.nci.nih.gov/src/northamerica | 27 +++++++++++-- elsie.nci.nih.gov/src/southamerica | 17 +++++--- elsie.nci.nih.gov/src/tz-art.htm | 4 +- elsie.nci.nih.gov/src/tz-link.htm | 7 ++-- elsie.nci.nih.gov/src/tzselect.ksh | 16 ++++---- elsie.nci.nih.gov/src/zone.tab | 2 +- elsie.nci.nih.gov/src/zone1970.tab | 2 +- 19 files changed, 242 insertions(+), 120 deletions(-) create mode 100644 elsie.nci.nih.gov/src/checklinks.awk mode change 100644 => 100755 elsie.nci.nih.gov/src/leap-seconds.list diff --git a/elsie.nci.nih.gov/src/Makefile b/elsie.nci.nih.gov/src/Makefile index cb86051..9b38e79 100644 --- a/elsie.nci.nih.gov/src/Makefile +++ b/elsie.nci.nih.gov/src/Makefile @@ -5,7 +5,7 @@ PACKAGE= tzcode # Version numbers of the code and data distributions. -VERSION= 2014j +VERSION= 2015a # Email address for bug reports. BUGEMAIL= tz@iana.org @@ -359,7 +359,7 @@ TABDATA= iso3166.tab leapseconds $(ZONETABLES) LEAP_DEPS= leapseconds.awk leap-seconds.list DATA= $(YDATA) $(NDATA) backzone $(TABDATA) \ leap-seconds.list yearistype.sh -AWK_SCRIPTS= checktab.awk leapseconds.awk +AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) @@ -468,7 +468,7 @@ tzselect: tzselect.ksh <$? >$@ chmod +x $@ -check: check_character_set check_white_space check_sorted \ +check: check_character_set check_white_space check_links check_sorted \ check_tables check_web check_character_set: $(ENCHILADA) @@ -484,9 +484,9 @@ check_character_set: $(ENCHILADA) ! grep -Env $(VALID_LINE) $(ENCHILADA) check_white_space: $(ENCHILADA) - ! grep -n ' '$(TAB_CHAR) $(ENCHILADA) - ! grep -n '[[:space:]]$$' $(ENCHILADA) - ! grep -n "$$(printf '[\f\r\v]\n')" $(ENCHILADA) + ! grep -En ' '$(TAB_CHAR)"|$$(printf '[\f\r\v]')" $(ENCHILADA) + ! grep -n '[[:space:]]$$' \ + $$(ls $(ENCHILADA) | grep -Fvx leap-seconds.list) CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } @@ -500,6 +500,9 @@ check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab $(AWK) '/^[^#]/ $(CHECK_CC_LIST)' zone1970.tab | \ LC_ALL=C sort -cu +check_links: checklinks.awk $(TDATA) + $(AWK) -f checklinks.awk $(TDATA) + check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES) for tab in $(ZONETABLES); do \ $(AWK) -f checktab.awk -v zone_table=$$tab $(PRIMARY_YDATA) \ @@ -662,7 +665,8 @@ zic.o: private.h tzfile.h version.h .KEEP_STATE: .PHONY: ALL INSTALL all -.PHONY: check check_character_set check_public check_sorted check_tables +.PHONY: check check_character_set check_links +.PHONY: check_public check_sorted check_tables .PHONY: check_time_t_alternatives check_web check_white_space clean clean_misc .PHONY: install maintainer-clean names posix_packrat posix_only posix_right .PHONY: public right_only right_posix signatures tarballs typecheck diff --git a/elsie.nci.nih.gov/src/NEWS b/elsie.nci.nih.gov/src/NEWS index 98b6e8c..0f58238 100644 --- a/elsie.nci.nih.gov/src/NEWS +++ b/elsie.nci.nih.gov/src/NEWS @@ -1,5 +1,57 @@ News for the tz database +Release 2015a - 2015-01-29 22:35:20 -0800 + + Changes affecting future time stamps + + The Mexican state of Quintana Roo, represented by America/Cancun, + will shift from Central Time with DST to Eastern Time without DST + on 2015-02-01 at 02:00. (Thanks to Steffen Thorsen and Gwillim Law.) + + Chile will not change clocks in April or thereafter; its new standard time + will be its old daylight saving time. This affects America/Santiago, + Pacific/Easter, and Antarctica/Palmer. (Thanks to Juan Correa.) + + New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49. + (Thanks to Tim Parenti.) + + Changes affecting past time stamps + + Iceland observed DST in 1919 and 1921, and its 1939 fallback + transition was Oct. 29, not Nov. 29. Remove incorrect data from + Shanks about time in Iceland between 1837 and 1908. + + Some more zones have been turned into links, when they differed + from existing zones only for older time stamps. As usual, + these changes affect UTC offsets in pre-1970 time stamps only. + Their old contents have been moved to the 'backzone' file. + The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait, + and Asia/Muscat. + + Changes affecting code + + tzalloc now scrubs time zone abbreviations compatibly with the way + that tzset always has, by replacing invalid bytes with '_' and by + shortening too-long abbreviations. + + tzselect ports to POSIX awk implementations, no longer mishandles + POSIX TZ settings when GNU awk is used, and reports POSIX TZ + settings to the user. (Thanks to Stefan Kuhn.) + + Changes affecting build procedure + + 'make check' now checks for links to links in the data. + One such link (for Africa/Asmera) has been fixed. + (Thanks to Stephen Colebourne for pointing out the problem.) + + Changes affecting commentary + + The leapseconds file commentary now mentions the expiration date. + (Problem reported by Martin Burnicki.) + + Update Mexican Library of Congress URL. + + Release 2014j - 2014-11-10 17:37:11 -0800 Changes affecting current and future time stamps diff --git a/elsie.nci.nih.gov/src/antarctica b/elsie.nci.nih.gov/src/antarctica index 1deff8e..ebae994 100644 --- a/elsie.nci.nih.gov/src/antarctica +++ b/elsie.nci.nih.gov/src/antarctica @@ -47,8 +47,8 @@ Rule ChileAQ 2009 only - Mar Sun>=9 3:00u 0 - Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 - Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 - Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 - -Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S +Rule ChileAQ 2012 2015 - Apr Sun>=23 3:00u 0 - +Rule ChileAQ 2012 2014 - Sep Sun>=2 4:00u 1:00 S # Argentina - year-round bases # Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05 @@ -354,9 +354,10 @@ Zone Antarctica/Rothera 0 - zzz 1976 Dec 1 # # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Antarctica/Palmer 0 - zzz 1965 - -4:00 ArgAQ AR%sT 1969 Oct 5 + -4:00 ArgAQ AR%sT 1969 Oct 5 -3:00 ArgAQ AR%sT 1982 May - -4:00 ChileAQ CL%sT + -4:00 ChileAQ CL%sT 2015 Apr 26 3:00u + -3:00 - CLT # # # McMurdo Station, Ross Island, since 1955-12 diff --git a/elsie.nci.nih.gov/src/asia b/elsie.nci.nih.gov/src/asia index 1a2bd12..8f33b16 100644 --- a/elsie.nci.nih.gov/src/asia +++ b/elsie.nci.nih.gov/src/asia @@ -145,10 +145,7 @@ Zone Asia/Baku 3:19:24 - LMT 1924 May 2 4:00 Azer AZ%sT # Bahrain -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Bahrain 3:22:20 - LMT 1920 # Manamah - 4:00 - GST 1972 Jun - 3:00 - AST +# See Asia/Qatar. # Bangladesh # From Alexander Krivenyshev (2009-05-13): @@ -1731,9 +1728,7 @@ Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1 ############################################################################### # Kuwait -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Kuwait 3:11:56 - LMT 1950 - 3:00 - AST +# See Asia/Riyadh. # Laos # See Asia/Bangkok. @@ -1954,12 +1949,7 @@ Zone Asia/Kathmandu 5:41:16 - LMT 1920 5:45 - NPT # Nepal Time # Oman - -# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. - -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Muscat 3:54:24 - LMT 1920 - 4:00 - GST +# See Asia/Dubai. # Pakistan @@ -2453,6 +2443,7 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31 Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha 4:00 - GST 1972 Jun 3:00 - AST +Link Asia/Qatar Asia/Bahrain # Saudi Arabia # @@ -2479,6 +2470,8 @@ Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14 3:00 - AST +Link Asia/Riyadh Asia/Aden # Yemen +Link Asia/Riyadh Asia/Kuwait # Singapore # taken from Mok Ly Yng (2003-10-30) @@ -2767,6 +2760,7 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Dubai 3:41:12 - LMT 1920 4:00 - GST +Link Asia/Dubai Asia/Muscat # Oman # Uzbekistan # Byalokoz 1919 says Uzbekistan was 4:27:53. @@ -2851,10 +2845,4 @@ Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 Jul 1 7:00 - ICT # Yemen - -# Milne says 2:59:54 was the meridian of the saluting battery at Aden, -# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. - -# Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Aden 2:59:54 - LMT 1950 - 3:00 - AST +# See Asia/Riyadh. diff --git a/elsie.nci.nih.gov/src/backward b/elsie.nci.nih.gov/src/backward index 00cbfc4..3ceda88 100644 --- a/elsie.nci.nih.gov/src/backward +++ b/elsie.nci.nih.gov/src/backward @@ -5,7 +5,7 @@ # and their old names. Many names changed in late 1993. # Link TARGET LINK-NAME -Link Africa/Asmara Africa/Asmera +Link Africa/Nairobi Africa/Asmera Link Africa/Abidjan Africa/Timbuktu Link America/Argentina/Catamarca America/Argentina/ComodRivadavia Link America/Adak America/Atka diff --git a/elsie.nci.nih.gov/src/backzone b/elsie.nci.nih.gov/src/backzone index f100f8a..fc20ea5 100644 --- a/elsie.nci.nih.gov/src/backzone +++ b/elsie.nci.nih.gov/src/backzone @@ -60,6 +60,7 @@ Zone Africa/Asmara 2:35:32 - LMT 1870 2:35:32 - AMT 1890 # Asmara Mean Time 2:35:20 - ADMT 1936 May 5 # Adis Dera MT 3:00 - EAT +Link Africa/Asmara Africa/Asmera # Mali (southern) Zone Africa/Bamako -0:32:00 - LMT 1912 @@ -348,6 +349,17 @@ Zone Antarctica/McMurdo 0 - zzz 1956 12:00 NZ NZ%sT Link Antarctica/McMurdo Antarctica/South_Pole +# Yemen +# Milne says 2:59:54 was the meridian of the saluting battery at Aden, +# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. +Zone Asia/Aden 2:59:54 - LMT 1950 + 3:00 - AST + +# Bahrain +Zone Asia/Bahrain 3:22:20 - LMT 1920 # Manamah + 4:00 - GST 1972 Jun + 3:00 - AST + # India # # From Paul Eggert (2014-09-06): @@ -403,6 +415,16 @@ Zone Asia/Kashgar 5:03:56 - LMT 1928 # or Kashi or Kaxgar 5:00 - KAST 1980 May 8:00 PRC C%sT +# Kuwait +Zone Asia/Kuwait 3:11:56 - LMT 1950 + 3:00 - AST + + +# Oman +# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. +Zone Asia/Muscat 3:54:24 - LMT 1920 + 4:00 - GST + # India # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: # According to a Portuguese decree (1911-05-26) @@ -494,7 +516,7 @@ Zone Europe/Guernsey -0:09:19 - LMT 1913 Jun 18 # # AT4 of 1883 - The Statutory Time et cetera Act 1883 - # LMT Location - 54.1508N -4.4814E - Tynwald Hill ( Manx parliament ) -Zone Europe/Isle_of_Man -0:17:55 - LMT 1883 March 30 0:00s +Zone Europe/Isle_of_Man -0:17:55 - LMT 1883 Mar 30 0:00s 0:00 GB-Eire %s 1968 Oct 27 1:00 - BST 1971 Oct 31 2:00u 0:00 GB-Eire %s 1996 diff --git a/elsie.nci.nih.gov/src/checklinks.awk b/elsie.nci.nih.gov/src/checklinks.awk new file mode 100644 index 0000000..f57f736 --- /dev/null +++ b/elsie.nci.nih.gov/src/checklinks.awk @@ -0,0 +1,19 @@ +# Check links in tz tables. + +# Contributed by Paul Eggert. + +/^Link/ { used[$2] = 1 } +/^Zone/ { defined[$2] = 1 } + +END { + status = 0 + + for (tz in used) { + if (!defined[tz]) { + printf "%s: Link to non-zone\n", tz + status = 1 + } + } + + exit status +} diff --git a/elsie.nci.nih.gov/src/checktab.awk b/elsie.nci.nih.gov/src/checktab.awk index 0686399..9a452b6 100644 --- a/elsie.nci.nih.gov/src/checktab.awk +++ b/elsie.nci.nih.gov/src/checktab.awk @@ -17,10 +17,6 @@ BEGIN { if (zone_table == "zone1970.tab") { tztab["America/Antigua"] = 1 tztab["America/Cayman"] = 1 - tztab["Asia/Aden"] = 1 - tztab["Asia/Bahrain"] = 1 - tztab["Asia/Kuwait"] = 1 - tztab["Asia/Muscat"] = 1 tztab["Pacific/Midway"] = 1 tztab["Pacific/Saipan"] = 1 } diff --git a/elsie.nci.nih.gov/src/europe b/elsie.nci.nih.gov/src/europe index 5e78c54..60dfc1d 100644 --- a/elsie.nci.nih.gov/src/europe +++ b/elsie.nci.nih.gov/src/europe @@ -1407,35 +1407,32 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct # might be a reference to the Julian calendar as opposed to Gregorian, or it # might mean something else (???). # -# From Paul Eggert (2006-03-22): -# The Iceland Almanak, Shanks & Pottenger, and Whitman disagree on many points. -# We go with the Almanak, except for one claim from Shanks & Pottenger, namely -# that Reykavik was 21W57 from 1837 to 1908, local mean time before that. +# From Paul Eggert (2014-11-22): +# The information below is taken from the 1988 Almanak; see +# http://www.almanak.hi.is/klukkan.html # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Iceland 1917 1918 - Feb 19 23:00 1:00 S +Rule Iceland 1917 1919 - Feb 19 23:00 1:00 S Rule Iceland 1917 only - Oct 21 1:00 0 - -Rule Iceland 1918 only - Nov 16 1:00 0 - +Rule Iceland 1918 1919 - Nov 16 1:00 0 - +Rule Iceland 1921 only - Mar 19 23:00 1:00 S +Rule Iceland 1921 only - Jun 23 1:00 0 - Rule Iceland 1939 only - Apr 29 23:00 1:00 S -Rule Iceland 1939 only - Nov 29 2:00 0 - +Rule Iceland 1939 only - Oct 29 2:00 0 - Rule Iceland 1940 only - Feb 25 2:00 1:00 S -Rule Iceland 1940 only - Nov 3 2:00 0 - -Rule Iceland 1941 only - Mar 2 1:00s 1:00 S -Rule Iceland 1941 only - Nov 2 1:00s 0 - -Rule Iceland 1942 only - Mar 8 1:00s 1:00 S -Rule Iceland 1942 only - Oct 25 1:00s 0 - +Rule Iceland 1940 1941 - Nov Sun>=2 1:00s 0 - +Rule Iceland 1941 1942 - Mar Sun>=2 1:00s 1:00 S # 1943-1946 - first Sunday in March until first Sunday in winter Rule Iceland 1943 1946 - Mar Sun>=1 1:00s 1:00 S -Rule Iceland 1943 1948 - Oct Sun>=22 1:00s 0 - +Rule Iceland 1942 1948 - Oct Sun>=22 1:00s 0 - # 1947-1967 - first Sunday in April until first Sunday in winter Rule Iceland 1947 1967 - Apr Sun>=1 1:00s 1:00 S -# 1949 Oct transition delayed by 1 week +# 1949 and 1967 Oct transitions delayed by 1 week Rule Iceland 1949 only - Oct 30 1:00s 0 - Rule Iceland 1950 1966 - Oct Sun>=22 1:00s 0 - Rule Iceland 1967 only - Oct 29 1:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Atlantic/Reykjavik -1:27:24 - LMT 1837 - -1:27:48 - RMT 1908 # Reykjavik Mean Time? +Zone Atlantic/Reykjavik -1:28 - LMT 1908 -1:00 Iceland IS%sT 1968 Apr 7 1:00s 0:00 - GMT diff --git a/elsie.nci.nih.gov/src/leap-seconds.list b/elsie.nci.nih.gov/src/leap-seconds.list old mode 100644 new mode 100755 index 0980e7b..17c0466 --- a/elsie.nci.nih.gov/src/leap-seconds.list +++ b/elsie.nci.nih.gov/src/leap-seconds.list @@ -47,7 +47,7 @@ # and can be ignored for many purposes. These differences # are tabulated in Circular T, which is published monthly # by the International Bureau of Weights and Measures -# (BIPM). See www.bipm.fr for more information. +# (BIPM). See www.bipm.org for more information. # # 3. The current definition of the relationship between UTC # and TAI dates from 1 January 1972. A number of different @@ -127,6 +127,15 @@ # with, since the difficulty of unambiguously representing the epoch # during the leap second does not arise. # +# Some systems implement leap seconds by amortizing the leap second +# over the last few minutes of the day. The frequency of the local +# clock is decreased (or increased) to realize the positive (or +# negative) leap second. This method removes the time step described +# above. Although the long-term behavior of the time scale is correct +# in this case, this method introduces an error during the adjustment +# period both in time and in frequency with respect to the official +# defintion of UTC. +# # Questions or comments to: # Judah Levine # Time and Frequency Division @@ -134,7 +143,7 @@ # Boulder, Colorado # Judah.Levine@nist.gov # -# Last Update of leap second values: 11 January 2012 +# Last Update of leap second values: 5 January 2015 # # The following line shows this last update date in NTP timestamp # format. This is the date on which the most recent change to @@ -142,7 +151,7 @@ # be identified by the unique pair of characters in the first two # columns as shown below. # -#$ 3535228800 +#$ 3629404800 # # The NTP timestamps are in units of seconds since the NTP epoch, # which is 1 January 1900, 00:00:00. The Modified Julian Day number @@ -190,10 +199,10 @@ # current -- the update time stamp, the data and the name of the file # will not change. # -# Updated through IERS Bulletin C48 -# File expires on: 28 June 2015 +# Updated through IERS Bulletin C49 +# File expires on: 28 December 2015 # -#@ 3644438400 +#@ 3660249600 # 2272060800 10 # 1 Jan 1972 2287785600 11 # 1 Jul 1972 @@ -221,6 +230,7 @@ 3345062400 33 # 1 Jan 2006 3439756800 34 # 1 Jan 2009 3550089600 35 # 1 Jul 2012 +3644697600 36 # 1 Jul 2015 # # the following special comment contains the # hash value of the data in this file computed @@ -236,4 +246,4 @@ # the hash line is also ignored in the # computation. # -#h a4862ccd c6f43c6 964f3604 85944a26 b5cfad4e +#h 45e70fa7 a9df2033 f4a49ab0 ec648273 7b6c22c diff --git a/elsie.nci.nih.gov/src/leapseconds.awk b/elsie.nci.nih.gov/src/leapseconds.awk index bb81e96..756391e 100644 --- a/elsie.nci.nih.gov/src/leapseconds.awk +++ b/elsie.nci.nih.gov/src/leapseconds.awk @@ -37,6 +37,11 @@ BEGIN { } /^ *$/ { next } + +/^#\tUpdated through/ || /^#\tFile expires on:/ { + last_lines = last_lines $0 "\n" +} + /^#/ { next } { @@ -64,3 +69,7 @@ BEGIN { } old_TAI_minus_UTC = TAI_minus_UTC } + +END { + printf "\n%s", last_lines +} diff --git a/elsie.nci.nih.gov/src/localtime.c b/elsie.nci.nih.gov/src/localtime.c index 63a1816..f44390a 100644 --- a/elsie.nci.nih.gov/src/localtime.c +++ b/elsie.nci.nih.gov/src/localtime.c @@ -235,6 +235,20 @@ detzcode64(const char *const codep) return result; } +static void +update_tzname_etc(struct state const *sp, struct ttinfo const *ttisp) +{ + tzname[ttisp->tt_isdst] = (char *) &sp->chars[ttisp->tt_abbrind]; +#ifdef USG_COMPAT + if (!ttisp->tt_isdst) + timezone = - ttisp->tt_gmtoff; +#endif +#ifdef ALTZONE + if (ttisp->tt_isdst) + altzone = - ttisp->tt_gmtoff; +#endif +} + static void settzname(void) { @@ -258,29 +272,25 @@ settzname(void) */ for (i = 0; i < sp->typecnt; ++i) { register const struct ttinfo * const ttisp = &sp->ttis[i]; - - tzname[ttisp->tt_isdst] = &sp->chars[ttisp->tt_abbrind]; + update_tzname_etc(sp, ttisp); } for (i = 0; i < sp->timecnt; ++i) { register const struct ttinfo * const ttisp = &sp->ttis[ sp->types[i]]; - - tzname[ttisp->tt_isdst] = - &sp->chars[ttisp->tt_abbrind]; + update_tzname_etc(sp, ttisp); #ifdef USG_COMPAT if (ttisp->tt_isdst) daylight = 1; - if (!ttisp->tt_isdst) - timezone = -(ttisp->tt_gmtoff); #endif /* defined USG_COMPAT */ -#ifdef ALTZONE - if (ttisp->tt_isdst) - altzone = -(ttisp->tt_gmtoff); -#endif /* defined ALTZONE */ } +} + +static void +scrub_abbrs(struct state *sp) +{ + int i; /* - ** Finally, scrub the abbreviations. ** First, replace bogus characters. */ for (i = 0; i < sp->charcnt; ++i) @@ -1204,7 +1214,9 @@ zoneinit(struct state *sp, char const *name) } else { int err = tzload(name, sp, true); if (err != 0 && name && name[0] != ':' && tzparse(name, sp, false)) - return 0; + err = 0; + if (err == 0) + scrub_abbrs(sp); return err; } } @@ -1316,16 +1328,17 @@ tzfree(timezone_t sp) ** freely called. (And no, the PANS doesn't require the above behavior, ** but it *is* desirable.) ** -** If successful and OFFSET is nonzero, +** If successful and SETNAME is nonzero, ** set the applicable parts of tzname, timezone and altzone; ** however, it's OK to omit this step if the time zone is POSIX-compatible, ** since in that case tzset should have already done this step correctly. -** OFFSET's type is intfast32_t for compatibility with gmtsub. +** SETNAME's type is intfast32_t for compatibility with gmtsub, +** but it is actually a boolean and its value should be 0 or 1. */ /*ARGSUSED*/ static struct tm * -localsub(struct state const *sp, time_t const *timep, int_fast32_t offset, +localsub(struct state const *sp, time_t const *timep, int_fast32_t setname, struct tm *const tmp) { register const struct ttinfo * ttisp; @@ -1355,7 +1368,7 @@ localsub(struct state const *sp, time_t const *timep, int_fast32_t offset, if (newt < sp->ats[0] || newt > sp->ats[sp->timecnt - 1]) return NULL; /* "cannot happen" */ - result = localsub(sp, &newt, offset, tmp); + result = localsub(sp, &newt, setname, tmp); if (result) { register int_fast64_t newy; @@ -1393,26 +1406,12 @@ localsub(struct state const *sp, time_t const *timep, int_fast32_t offset, */ result = timesub(&t, ttisp->tt_gmtoff, sp, tmp); if (result) { - bool tm_isdst = ttisp->tt_isdst; - char *tm_zone = (char *) &sp->chars[ttisp->tt_abbrind]; - result->tm_isdst = tm_isdst; + result->tm_isdst = ttisp->tt_isdst; #ifdef TM_ZONE - result->TM_ZONE = tm_zone; + result->TM_ZONE = (char *) &sp->chars[ttisp->tt_abbrind]; #endif /* defined TM_ZONE */ - if (offset) { - /* Always set the tzname etc. vars whose values can easily - be determined, as it's too much trouble to tell whether - tzset has already done it correctly. */ - tzname[tm_isdst] = tm_zone; -#ifdef USG_COMPAT - if (!tm_isdst) - timezone = - ttisp->tt_gmtoff; -#endif -#ifdef ALTZONE - if (tm_isdst) - altzone = - ttisp->tt_gmtoff; -#endif - } + if (setname) + update_tzname_etc(sp, ttisp); } return result; } diff --git a/elsie.nci.nih.gov/src/northamerica b/elsie.nci.nih.gov/src/northamerica index c91430c..cb94c5e 100644 --- a/elsie.nci.nih.gov/src/northamerica +++ b/elsie.nci.nih.gov/src/northamerica @@ -124,7 +124,7 @@ Rule US 1918 1919 - Mar lastSun 2:00 1:00 D Rule US 1918 1919 - Oct lastSun 2:00 0 S Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace -Rule US 1945 only - Sep 30 2:00 0 S +Rule US 1945 only - Sep lastSun 2:00 0 S Rule US 1967 2006 - Oct lastSun 2:00 0 S Rule US 1967 1973 - Apr lastSun 2:00 1:00 D Rule US 1974 only - Jan 6 2:00 1:00 D @@ -2124,11 +2124,11 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20 # Mexico -# From Paul Eggert (2001-03-05): +# From Paul Eggert (2014-12-07): # The Investigation and Analysis Service of the # Mexican Library of Congress (MLoC) has published a # history of Mexican local time (in Spanish) -# http://www.cddhcu.gob.mx/bibliot/publica/inveyana/polisoc/horver/ +# http://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm # # Here are the discrepancies between Shanks & Pottenger (S&P) and the MLoC. # (In all cases we go with the MLoC.) @@ -2297,6 +2297,24 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20 # efecto desde las dos horas del segundo domingo de marzo y concluirá a # las dos horas del primer domingo de noviembre. +# From Steffen Thorsen (2014-12-08), translated by Gwillim Law: +# The Mexican state of Quintana Roo will likely change to EST in 2015. +# +# http://www.unioncancun.mx/articulo/2014/12/04/medio-ambiente/congreso-aprueba-una-hora-mas-de-sol-en-qroo +# "With this change, the time conflict that has existed between the municipios +# of Quintana Roo and the municipio of Felipe Carrillo Puerto may come to an +# end. The latter declared itself in rebellion 15 years ago when a time change +# was initiated in Mexico, and since then it has refused to change its time +# zone along with the rest of the country." +# +# From Steffen Thorsen (2015-01-14), translated by Gwillim Law: +# http://sipse.com/novedades/confirman-aplicacion-de-nueva-zona-horaria-para-quintana-roo-132331.html +# "...the new time zone will come into effect at two o'clock on the first Sunday +# of February, when we will have to advance the clock one hour from its current +# time..." +# +# Also, the new zone will not use DST. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mexico 1939 only - Feb 5 0:00 1:00 D Rule Mexico 1939 only - Jun 25 0:00 0 S @@ -2317,7 +2335,8 @@ Rule Mexico 2002 max - Oct lastSun 2:00 0 S Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56 -6:00 - CST 1981 Dec 23 -5:00 Mexico E%sT 1998 Aug 2 2:00 - -6:00 Mexico C%sT + -6:00 Mexico C%sT 2015 Feb 1 2:00 + -5:00 - EST # Campeche, Yucatán; represented by Mérida Zone America/Merida -5:58:28 - LMT 1922 Jan 1 0:01:32 -6:00 - CST 1981 Dec 23 diff --git a/elsie.nci.nih.gov/src/southamerica b/elsie.nci.nih.gov/src/southamerica index bdc29c2..3ab353e 100644 --- a/elsie.nci.nih.gov/src/southamerica +++ b/elsie.nci.nih.gov/src/southamerica @@ -1206,6 +1206,11 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914 # DST Start: first Saturday of September 2014 (Sun 07 Sep 2014 04:00 UTC) # http://www.diariooficial.interior.gob.cl//media/2014/02/19/do-20140219.pdf +# From Juan Correa (2015-01-28): +# ... today the Ministry of Energy announced that Chile will drop DST, will keep +# "summer time" (UTC -3 / UTC -5) all year round.... +# http://www.minenergia.cl/ministerio/noticias/generales/ministerio-de-energia-anuncia.html + # NOTE: ChileAQ rules for Antarctic bases are stored separately in the # 'antarctica' file. @@ -1247,8 +1252,8 @@ Rule Chile 2009 only - Mar Sun>=9 3:00u 0 - Rule Chile 2010 only - Apr Sun>=1 3:00u 0 - Rule Chile 2011 only - May Sun>=2 3:00u 0 - Rule Chile 2011 only - Aug Sun>=16 4:00u 1:00 S -Rule Chile 2012 max - Apr Sun>=23 3:00u 0 - -Rule Chile 2012 max - Sep Sun>=2 4:00u 1:00 S +Rule Chile 2012 2015 - Apr Sun>=23 3:00u 0 - +Rule Chile 2012 2014 - Sep Sun>=2 4:00u 1:00 S # IATA SSIM anomalies: (1992-02) says 1992-03-14; # (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1259,11 +1264,13 @@ Zone America/Santiago -4:42:46 - LMT 1890 -4:00 - CLT 1919 Jul 1 # Chile Time -4:42:46 - SMT 1927 Sep 1 # Santiago Mean Time -5:00 Chile CL%sT 1947 May 22 # Chile Time - -4:00 Chile CL%sT + -4:00 Chile CL%sT 2015 Apr 26 3:00u + -3:00 - CLT Zone Pacific/Easter -7:17:44 - LMT 1890 -7:17:28 - EMT 1932 Sep # Easter Mean Time - -7:00 Chile EAS%sT 1982 Mar 13 21:00 # Easter Time - -6:00 Chile EAS%sT + -7:00 Chile EAS%sT 1982 Mar 13 3:00u # Easter Time + -6:00 Chile EAS%sT 2015 Apr 26 3:00u + -5:00 - EAST # # Salas y Gómez Island is uninhabited. # Other Chilean locations, including Juan Fernández Is, Desventuradas Is, diff --git a/elsie.nci.nih.gov/src/tz-art.htm b/elsie.nci.nih.gov/src/tz-art.htm index fddcf81..d29ad0c 100644 --- a/elsie.nci.nih.gov/src/tz-art.htm +++ b/elsie.nci.nih.gov/src/tz-art.htm @@ -330,8 +330,8 @@ is available at IMDb.
  • An episode of The Adventures of Superman entitled "The Mysterious Cube," first aired 1958-02-24, had Superman convincing the controllers -of WWV to broadcast time signals five minutes ahead of actual time; -doing so got a crook trying to beat the statute of limitations to +of the Arlington Time Signal to broadcast ahead of actual time; +doing so got a crook trying to be declared dead to emerge a bit too early from the titular enclosure.
  • diff --git a/elsie.nci.nih.gov/src/tz-link.htm b/elsie.nci.nih.gov/src/tz-link.htm index 444ef94..092da5f 100644 --- a/elsie.nci.nih.gov/src/tz-link.htm +++ b/elsie.nci.nih.gov/src/tz-link.htm @@ -8,7 +8,7 @@ - + BSD, Cygwin, DJGPP, -Symbian, +MINIX, webOS, RDF-based calendar and group scheduling systems, and has a workspace on time zone -data converted from tz. An earlier schema was sketched out.
  • +data converted from tz.

    Other tz compilers