summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Bishop <stuart@stuartbishop.net>2015-02-16 15:16:41 +0700
committerStuart Bishop <stuart@stuartbishop.net>2015-02-16 15:16:41 +0700
commit929aa8e49c0bf5eda3aee43ff8b363f211b27542 (patch)
tree27113b62a60b32b4d20a7630bd88bea7450402c2
parent50bdf7085de25aa884f93381b4558c10ab08a359 (diff)
downloadpytz-929aa8e49c0bf5eda3aee43ff8b363f211b27542.tar.gz
Import IANA 2015a
-rw-r--r--elsie.nci.nih.gov/src/Makefile18
-rw-r--r--elsie.nci.nih.gov/src/NEWS52
-rw-r--r--elsie.nci.nih.gov/src/antarctica9
-rw-r--r--elsie.nci.nih.gov/src/asia28
-rw-r--r--elsie.nci.nih.gov/src/backward2
-rw-r--r--elsie.nci.nih.gov/src/backzone24
-rw-r--r--elsie.nci.nih.gov/src/checklinks.awk19
-rw-r--r--elsie.nci.nih.gov/src/checktab.awk4
-rw-r--r--elsie.nci.nih.gov/src/europe29
-rwxr-xr-x[-rw-r--r--]elsie.nci.nih.gov/src/leap-seconds.list24
-rw-r--r--elsie.nci.nih.gov/src/leapseconds.awk9
-rw-r--r--elsie.nci.nih.gov/src/localtime.c69
-rw-r--r--elsie.nci.nih.gov/src/northamerica27
-rw-r--r--elsie.nci.nih.gov/src/southamerica17
-rw-r--r--elsie.nci.nih.gov/src/tz-art.htm4
-rw-r--r--elsie.nci.nih.gov/src/tz-link.htm7
-rw-r--r--elsie.nci.nih.gov/src/tzselect.ksh16
-rw-r--r--elsie.nci.nih.gov/src/zone.tab2
-rw-r--r--elsie.nci.nih.gov/src/zone1970.tab2
19 files changed, 242 insertions, 120 deletions
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
index 0980e7b..17c0466 100644..100755
--- 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
@@ -236,6 +236,20 @@ detzcode64(const char *const codep)
}
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)
{
register struct state * const sp = lclptr;
@@ -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.</td></tr>
<li>
An episode of <em>The Adventures of Superman</em> 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.
</li>
<li>
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 @@
<meta http-equiv="Content-type" content='text/html; charset="UTF-8"'>
<meta name="DC.Creator" content="Eggert, Paul">
<meta name="DC.Contributor" content="Olson, Arthur David">
-<meta name="DC.Date" content="2014-11-09">
+<meta name="DC.Date" content="2015-01-29">
<meta name="DC.Description"
content="Sources of information about time zones and daylight saving time">
<meta name="DC.Identifier"
@@ -47,7 +47,7 @@ title="Berkeley Software Distribution">BSD</abbr></a>,
<a href="https://cygwin.com">Cygwin</a>,
<a href="http://www.delorie.com/djgpp/"><abbr
title="DJ's GNU Programming Platform">DJGPP</abbr></a>,
-<a href="http://en.wikipedia.org/wiki/Symbian">Symbian</a>,
+<a href="http://en.wikipedia.org/wiki/MINIX">MINIX</a>,
<a href="http://en.wikipedia.org/wiki/WebOS"><abbr
title="Web Operating System">webOS</abbr></a>,
<a href="http://ibm.com/aix"><abbr
@@ -245,8 +245,7 @@ href="http://www.w3.org/RDF/"><abbr
title="Resource Description Framework">RDF</abbr></a>-based calendar
and group scheduling systems, and has a <a
href="http://www.w3.org/2002/12/cal/#tzd">workspace on time zone
-data</a> converted from <code><abbr>tz</abbr></code>. An earlier <a
-href="http://www.w3.org/2000/01/foo">schema</a> was sketched out.</li>
+data</a> converted from <code><abbr>tz</abbr></code>.</li>
</ul>
<h2>Other <code><abbr>tz</abbr></code> compilers</h2>
<ul>
diff --git a/elsie.nci.nih.gov/src/tzselect.ksh b/elsie.nci.nih.gov/src/tzselect.ksh
index 029abcd..3acdebd 100644
--- a/elsie.nci.nih.gov/src/tzselect.ksh
+++ b/elsie.nci.nih.gov/src/tzselect.ksh
@@ -228,10 +228,10 @@ output_distances='
# case of the Vicenty formula for distances on ellipsoids.
function gcdist(lat1, long1, lat2, long2, dlong, x, y, num, denom) {
dlong = long2 - long1
- x = cos (lat2) * sin (dlong)
- y = cos (lat1) * sin (lat2) - sin (lat1) * cos (lat2) * cos (dlong)
- num = sqrt (x * x + y * y)
- denom = sin (lat1) * sin (lat2) + cos (lat1) * cos (lat2) * cos (dlong)
+ x = cos(lat2) * sin(dlong)
+ y = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(dlong)
+ num = sqrt(x * x + y * y)
+ denom = sin(lat1) * sin(lat2) + cos(lat1) * cos(lat2) * cos(dlong)
return atan2(num, denom)
}
# Parallel distance between points with given latitude and longitude.
@@ -240,12 +240,12 @@ output_distances='
# I.e., it considers longitudes to be further apart if they are
# nearer the equator.
function pardist(lat1, long1, lat2, long2) {
- return abs (long1 - long2) * min (cos (lat1), cos (lat2))
+ return abs(long1 - long2) * min(cos(lat1), cos(lat2))
}
# The distance function is the sum of the great-circle distance and
# the parallel distance. It could be weighted.
function dist(lat1, long1, lat2, long2) {
- return gcdist (lat1, long1, lat2, long2) + pardist (lat1, long1, lat2, long2)
+ return gcdist(lat1, long1, lat2, long2) + pardist(lat1, long1, lat2, long2)
}
BEGIN {
coord_lat = convert_latitude(coord)
@@ -328,7 +328,7 @@ while
tzname = "[^-+,0-9][^-+,0-9][^-+,0-9]+"
time = "[0-2]?[0-9](:[0-5][0-9](:[0-5][0-9])?)?"
offset = "[-+]?" time
- date = "(J?[0-9]+|M[0-9]+\.[0-9]+\.[0-9]+)"
+ date = "(J?[0-9]+|M[0-9]+\\.[0-9]+\\.[0-9]+)"
datetime = "," date "(/" time ")?"
tzpattern = "^(:.*|" tzname offset "(" tzname \
"(" offset ")?(" datetime datetime ")?)?)$"
@@ -504,7 +504,7 @@ Universal Time is now: $UTdate."
?*%%) echo >&2 " $country";;
%?*%?*) echo >&2 " coord $coord$newline $region";;
%%?*) echo >&2 " coord $coord";;
- +) echo >&2 " TZ='$TZ'"
+ *) echo >&2 " TZ='$TZ'"
esac
echo >&2 ""
echo >&2 "Therefore TZ='$TZ' will be used.$extra_info"
diff --git a/elsie.nci.nih.gov/src/zone.tab b/elsie.nci.nih.gov/src/zone.tab
index a7373f1..f418e7f 100644
--- a/elsie.nci.nih.gov/src/zone.tab
+++ b/elsie.nci.nih.gov/src/zone.tab
@@ -274,7 +274,7 @@ MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MW -1547+03500 Africa/Blantyre
MX +1924-09909 America/Mexico_City Central Time - most locations
-MX +2105-08646 America/Cancun Central Time - Quintana Roo
+MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo
MX +2058-08937 America/Merida Central Time - Campeche, Yucatan
MX +2540-10019 America/Monterrey Mexican Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas away from US border
MX +2550-09730 America/Matamoros US Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas near US border
diff --git a/elsie.nci.nih.gov/src/zone1970.tab b/elsie.nci.nih.gov/src/zone1970.tab
index e971bc7..5da0200 100644
--- a/elsie.nci.nih.gov/src/zone1970.tab
+++ b/elsie.nci.nih.gov/src/zone1970.tab
@@ -233,7 +233,7 @@ MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MX +1924-09909 America/Mexico_City Central Time - most locations
-MX +2105-08646 America/Cancun Central Time - Quintana Roo
+MX +2105-08646 America/Cancun Eastern Standard Time - Quintana Roo
MX +2058-08937 America/Merida Central Time - Campeche, Yucatán
MX +2540-10019 America/Monterrey Mexican Central Time - Coahuila, Durango, Nuevo León, Tamaulipas away from US border
MX +2550-09730 America/Matamoros US Central Time - Coahuila, Durango, Nuevo León, Tamaulipas near US border