From 8d01e58d3f473100bffc535573c50bf0f7865179 Mon Sep 17 00:00:00 2001
From: Philip Paeps
Date: Tue, 2 Jul 2019 01:06:03 +0000
Subject: [PATCH 1/3] Import tzdata 2019b
---
Makefile | 45 +++++++---
NEWS | 104 +++++++++++++++++++++--
africa | 168 ++++++++++++++++++++++++++++++-------
antarctica | 14 ++--
asia | 216 ++++++++++++++++++++++++++----------------------
australasia | 112 ++++++++++++++++++-------
backzone | 2 +-
checktab.awk | 9 +-
europe | 110 +++++++++++++-----------
factory | 2 +-
northamerica | 165 ++++++++++++++++++++----------------
pacificnew | 2 +-
southamerica | 66 +++++++--------
systemv | 2 +-
theory.html | 26 +++---
version | 2 +-
zishrink.awk | 44 +++++-----
zone.tab | 5 +-
zone1970.tab | 3 +-
zoneinfo2tdf.pl | 2 +-
20 files changed, 719 insertions(+), 380 deletions(-)
diff --git a/Makefile b/Makefile
index 25f1d357867b..fec0a4f7eb36 100644
--- a/Makefile
+++ b/Makefile
@@ -35,11 +35,13 @@ DATAFORM= main
LOCALTIME= GMT
-# If you want something other than Eastern United States time as a template
-# for handling ruleless POSIX-style timezone environment variables,
+# The POSIXRULES macro controls interpretation of nonstandard and obsolete
+# POSIX-like TZ settings like TZ='EET-2EEST' that lack DST transition rules.
+# In the reference implementation, if you want something other than Eastern
+# United States time as a template for handling these settings, you can
# change the line below (after finding the timezone you want in the
# one of the $(TDATA) source files, or adding it to a source file).
-# A ruleless environment setting like TZ='CST6CDT' uses the rules in the
+# A setting like TZ='EET-2EEST' is supposed to use the rules in the
# template file to determine "spring forward" and "fall back" days and
# times; the environment variable itself specifies UT offsets of standard and
# daylight saving time.
@@ -49,6 +51,17 @@ LOCALTIME= GMT
# Use the command
# make zonenames
# to get a list of the values you can use for POSIXRULES.
+#
+# If POSIXRULES is empty, no template is installed; this is the intended
+# future default for POSIXRULES.
+#
+# Nonempty POSIXRULES is obsolete and should not be relied on, because:
+# * It does not work correctly in popular implementations such as GNU/Linux.
+# * It does not work in the tzdb implementation for timestamps after 2037.
+# * It is incompatible with 'zic -b slim' if POSIXRULES specifies transitions
+# at standard time or UT rather than at local time.
+# In short, software should avoid ruleless settings like TZ='EET-2EEST'
+# and so should not depend on the value of POSIXRULES.
POSIXRULES= America/New_York
@@ -231,6 +244,13 @@ LDLIBS=
# other than simply getting garbage data
# -DUSE_LTZ=0 to build zdump with the system time zone library
# Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below.
+# -DZIC_BLOAT_DEFAULT=\"slim\" to default zic's -b option to "slim", and
+# similarly for "fat". Fat TZif files work around incompatibilities
+# and bugs in some TZif readers, notably readers that mishandle 64-bit
+# data in TZif files. Slim TZif files are more efficient and do not
+# work around these incompatibilities and bugs. If not given, the
+# current default is "fat" but this is intended to change as readers
+# requiring fat files often mishandle timestamps after 2037 anyway.
# -DZIC_MAX_ABBR_LEN_WO_WARN=3
# (or some other number) to set the maximum time zone abbreviation length
# that zic will accept without a warning (the default is 6)
@@ -364,7 +384,9 @@ ZIC= $(zic) $(ZFLAGS)
# To shrink the size of installed TZif files,
# append "-r @N" to omit data before N-seconds-after-the-Epoch.
-# See the zic man page for more about -r.
+# You can also append "-b slim" if that is not already the default;
+# see ZIC_BLOAT_DEFAULT above.
+# See the zic man page for more about -b and -r.
ZFLAGS=
# How to use zic to install TZif files.
@@ -388,6 +410,9 @@ KSHELL= /bin/bash
# Name of curl , used for HTML validation.
CURL= curl
+# Name of GNU Privacy Guard , used to sign distributions.
+GPG= gpg
+
# The path where SGML DTDs are kept and the catalog file(s) to use when
# validating HTML 4.01. The default should work on both Debian and Red Hat.
SGML_TOPDIR= /usr
@@ -562,7 +587,9 @@ install: all $(DATA) $(REDO) $(MANS)
'$(DESTDIR)$(LIBDIR)' \
'$(DESTDIR)$(MANDIR)/man3' '$(DESTDIR)$(MANDIR)/man5' \
'$(DESTDIR)$(MANDIR)/man8'
- $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES) \
+ $(ZIC_INSTALL) -l $(LOCALTIME) \
+ `case '$(POSIXRULES)' in ?*) echo '-p';; esac \
+ ` $(POSIXRULES) \
-t '$(DESTDIR)$(TZDEFAULT)'
cp -f $(TABDATA) '$(DESTDIR)$(TZDIR)/.'
cp tzselect '$(DESTDIR)$(BINDIR)/.'
@@ -781,12 +808,6 @@ CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; }
check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab
$(AWK) '/^Link/ {print $$3}' backward | LC_ALL=C sort -cu
$(AWK) '/^Zone/ {print $$2}' backzone | LC_ALL=C sort -cu
- $(AWK) '/^[^#]/ {print $$1}' iso3166.tab | LC_ALL=C sort -cu
- $(AWK) '/^[^#]/ {print $$1}' zone.tab | LC_ALL=C sort -c
- $(AWK) '/^[^#]/ {print substr($$0, 1, 2)}' zone1970.tab | \
- LC_ALL=C sort -c
- $(AWK) '/^[^#]/ $(CHECK_CC_LIST)' zone1970.tab | \
- LC_ALL=C sort -cu
touch $@
check_links: checklinks.awk $(TDATA_TO_CHECK) tzdata.zi
@@ -1051,7 +1072,7 @@ tzdata$(VERSION).tar.gz.asc: tzdata$(VERSION).tar.gz
tzdata$(VERSION)-rearguard.tar.gz.asc: tzdata$(VERSION)-rearguard.tar.gz
tzdb-$(VERSION).tar.lz.asc: tzdb-$(VERSION).tar.lz
$(ALL_ASC):
- gpg2 --armor --detach-sign $?
+ $(GPG) --armor --detach-sign $?
TYPECHECK_CFLAGS = $(CFLAGS) -DTYPECHECK -D__time_t_defined -D_TIME_T
typecheck: typecheck_long_long typecheck_unsigned
diff --git a/NEWS b/NEWS
index 9d0e9c0ee3fa..8b05f8f13084 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,100 @@
News for the tz database
-Release 20198 - 2019-03-25 22:01:33 -0700
+Release 2019b - 2019-07-01 00:09:53 -0700
+
+ Briefly:
+ Brazil no longer observes DST.
+ 'zic -b slim' outputs smaller TZif files; please try it out.
+ Palestine's 2019 spring-forward transition was on 03-29, not 03-30.
+
+ Changes to future timestamps
+
+ Brazil has canceled DST and will stay on standard time indefinitely.
+ (Thanks to Steffen Thorsen, Marcus Diniz, and Daniel Soares de
+ Oliveira.)
+
+ Predictions for Morocco now go through 2087 instead of 2037, to
+ work around a problem on newlib when using TZif files output by
+ zic 2019a or earlier. (Problem reported by David Gauchard.)
+
+ Changes to past and future timestamps
+
+ Palestine's 2019 spring transition was 03-29 at 00:00, not 03-30
+ at 01:00. (Thanks to Sharef Mustafa and Even Scharning.) Guess
+ future transitions to be March's last Friday at 00:00.
+
+ Changes to past timestamps
+
+ Hong Kong's 1941-06-15 spring-forward transition was at 03:00, not
+ 03:30. Its 1945 transition from JST to HKT was on 11-18 at 02:00,
+ not 09-15 at 00:00. In 1946 its spring-forward transition was on
+ 04-21 at 00:00, not the previous day at 03:30. From 1946 through
+ 1952 its fall-back transitions occurred at 04:30, not at 03:30.
+ In 1947 its fall-back transition was on 11-30, not 12-30.
+ (Thanks to P Chan.)
+
+ Changes to past time zone abbreviations
+
+ Italy's 1866 transition to Rome Mean Time was on December 12, not
+ September 22. This affects only the time zone abbreviation for
+ Europe/Rome between those dates. (Thanks to Stephen Trainor and
+ Luigi Rosa.)
+
+ Changes affecting metadata only
+
+ Add info about the Crimea situation in zone1970.tab and zone.tab.
+ (Problem reported by Serhii Demediuk.)
+
+ Changes to code
+
+ zic's new -b option supports a way to control data bloat and to
+ test for year-2038 bugs in software that reads TZif files.
+ 'zic -b fat' and 'zic -b slim' generate larger and smaller output;
+ for example, changing from fat to slim shrinks the Europe/London
+ file from 3648 to 1599 bytes, saving about 56%. Fat and slim
+ files represent the same set of timestamps and use the same TZif
+ format as documented in tzfile(5) and in Internet RFC 8536.
+ Fat format attempts to work around bugs or incompatibilities in
+ older software, notably software that mishandles 64-bit TZif data
+ or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
+ Slim format is more efficient and does not work around 64-bit bugs
+ or obsolete TZ strings. Currently zic defaults to fat format
+ unless you compile with -DZIC_BLOAT_DEFAULT=\"slim\"; this
+ out-of-the-box default is intended to change in future releases
+ as the buggy software often mishandles timestamps anyway.
+
+ zic no longer treats a set of rules ending in 2037 specially.
+ Previously, zic assumed that such a ruleset meant that future
+ timestamps could not be predicted, and therefore omitted a
+ POSIX-like TZ string in the TZif output. The old behavior is no
+ longer needed for current tzdata, and caused problems with newlib
+ when used with older tzdata (reported by David Gauchard).
+
+ zic no longer generates some artifact transitions. For example,
+ Europe/London no longer has a no-op transition in January 1996.
+
+ Changes to build procedure
+
+ tzdata.zi now assumes zic 2017c or later. This shrinks tzdata.zi
+ by a percent or so.
+
+ Changes to documentation and commentary
+
+ The Makefile now documents the POSIXRULES macro as being obsolete,
+ and similarly, zic's -p POSIXRULES option is now documented as
+ being obsolete. Although the POSIXRULES feature still exists and
+ works as before, in practice it is rarely used for its intended
+ purpose, and it does not work either in the default reference
+ implementation (for timestamps after 2037) or in common
+ implementations such as GNU/Linux (for contemporary timestamps).
+ Since POSIXRULES was designed primarily as a temporary transition
+ facility for System V platforms that died off decades ago, it is
+ being decommissioned rather than institutionalized.
+
+ New info on Bonin Islands and Marcus (thanks to Wakaba and Phake Nick).
+
+
+Release 2019a - 2019-03-25 22:01:33 -0700
Briefly:
Palestine "springs forward" on 2019-03-30 instead of 2019-03-23.
@@ -481,7 +575,7 @@ Release 2018d - 2018-03-22 07:05:46 -0700
The code is a bit more portable to MS-Windows. Installers can
compile with -DRESERVE_STD_EXT_IDS on MS-Windows platforms that
reserve identifiers like 'localtime'. (Thanks to Manuela
- Friedrich).
+ Friedrich.)
Changes to documentation and commentary
@@ -2276,7 +2370,7 @@ Release 2014f - 2014-08-05 17:42:36 -0700
warlord Jin Shuren in the data.
Commentary about the coverage of each Russian zone has been standardized.
- (Thanks to Tim Parenti).
+ (Thanks to Tim Parenti.)
There is new commentary about contemporary timekeeping in Ethiopia.
@@ -2724,7 +2818,7 @@ Release 2013e - 2013-09-19 23:50:04 -0700
Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
This affects Europe/Zurich timestamps from 1853 to 1894. (Thanks
- to Alois Treindl).
+ to Alois Treindl.)
Change the date of the circa-1850 Zurich transition from 1849-09-12
to 1853-07-16, overriding Shanks with data from Messerli about
@@ -3034,7 +3128,7 @@ Release 2013a - 2013-02-27 09:20:35 -0800
(Thanks to Arthur David Olson.)
Improve the commentary about which districts observe what times
- in Russia. (Thanks to Oscar van Vlijmen and Arthur David Olson).
+ in Russia. (Thanks to Oscar van Vlijmen and Arthur David Olson.)
Add web page links to tz.js.
diff --git a/africa b/africa
index a58c11c181cc..feb6017d959b 100644
--- a/africa
+++ b/africa
@@ -89,7 +89,7 @@ Rule Algeria 1980 only - Apr 25 0:00 1:00 S
Rule Algeria 1980 only - Oct 31 2:00 0 -
# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
# more precise 0:09:21.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 Algeria WE%sT 1940 Feb 25 2:00
@@ -124,7 +124,7 @@ Zone Africa/Algiers 0:12:12 - LMT 1891 Mar 15 0:01
# For now, ignore that and follow the 1911-05-26 Portuguese decree
# (see Europe/Lisbon).
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
-2:00 - -02 1942 Sep
-2:00 1:00 -01 1945 Oct 15
@@ -135,7 +135,7 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
# See Africa/Lagos.
# Chad
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
1:00 - WAT 1979 Oct 14
1:00 1:00 WAST 1980 Mar 8
@@ -151,7 +151,7 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
# See Africa/Lagos.
# Côte d'Ivoire / Ivory Coast
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
0:00 - GMT
Link Africa/Abidjan Africa/Bamako # Mali
@@ -356,7 +356,7 @@ Rule Egypt 2014 only - Jun 26 24:00 0 -
Rule Egypt 2014 only - Jul 31 24:00 1:00 S
Rule Egypt 2014 only - Sep lastThu 24:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
2:00 Egypt EE%sT
@@ -414,7 +414,7 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Ghana 1920 1942 - Sep 1 0:00 0:20 -
Rule Ghana 1920 1942 - Dec 31 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Accra -0:00:52 - LMT 1918
0:00 Ghana GMT/+0020
@@ -428,13 +428,13 @@ Zone Africa/Accra -0:00:52 - LMT 1918
# evidently confusing the date of the Portuguese decree
# (see Europe/Lisbon) with the date that it took effect.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 1:00u
-1:00 - -01 1975
0:00 - GMT
# Kenya
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - +0230 1940
@@ -469,7 +469,7 @@ Link Africa/Nairobi Indian/Mayotte
# Use the abbreviation "MMT" before 1972, as the more-accurate numeric
# abbreviation "-004430" would be one byte over the POSIX limit.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Monrovia -0:43:08 - LMT 1882
-0:43:08 - MMT 1919 Mar # Monrovia Mean Time
-0:44:30 - MMT 1972 Jan 7 # approximately MMT
@@ -519,7 +519,7 @@ Rule Libya 1997 only - Apr 4 0:00 1:00 S
Rule Libya 1997 only - Oct 4 0:00 0 -
Rule Libya 2013 only - Mar lastFri 1:00 1:00 S
Rule Libya 2013 only - Oct lastFri 2:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Tripoli 0:52:44 - LMT 1920
1:00 Libya CE%sT 1959
2:00 - EET 1982
@@ -629,7 +629,7 @@ Rule Mauritius 1982 only - Oct 10 0:00 1:00 -
Rule Mauritius 1983 only - Mar 21 0:00 0 -
Rule Mauritius 2008 only - Oct lastSun 2:00 1:00 -
Rule Mauritius 2009 only - Mar lastSun 2:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
4:00 Mauritius +04/+05
# Agalega Is, Rodriguez
@@ -860,18 +860,24 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# the week end after.... The government does not announce yet the decision
# about this temporary change. But it s 99% sure that it will be the case,
# as in previous years. An unofficial survey was done these days, showing
-# that 64% of asked peopke are ok for moving from +1 to +0 during Ramadan.
+# that 64% of asked people are ok for moving from +1 to +0 during Ramadan.
# https://leconomiste.com/article/1035870-enquete-l-economiste-sunergia-64-des-marocains-plebiscitent-le-gmt-pendant-ramadan
+
+# From Naoufal Semlali (2019-04-16):
+# Morocco will be on GMT starting from Sunday, May 5th 2019 at 3am.
+# The switch to GMT+1 will occur on Sunday, June 9th 2019 at 2am....
+# http://fr.le360.ma/societe/voici-la-date-du-retour-a-lheure-legale-au-maroc-188222
#
-# From Paul Eggert (2018-11-01):
-# For now, guess that Morocco will fall back at 03:00 the last Sunday
-# before Ramadan, and spring forward at 02:00 the first Sunday after
+# From Paul Eggert (2019-05-20):
+# This agrees with our 2018-11-01 guess that the Moroccan government
+# would continue the practice of falling back at 03:00 the last Sunday
+# before Ramadan, and of springing forward at 02:00 the first Sunday after
# Ramadan, as this has been the practice since 2012. To implement this,
-# transition dates for 2019 through 2037 were determined by running the
-# following program under GNU Emacs 26.1.
+# transition dates for 2019 through 2087 were determined by running the
+# following program under GNU Emacs 26.2.
# (let ((islamic-year 1440))
# (require 'cal-islam)
-# (while (< islamic-year 1460)
+# (while (< islamic-year 1511)
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
# (sunday 0))
@@ -970,8 +976,114 @@ Rule Morocco 2036 only - Oct 19 3:00 -1:00 -
Rule Morocco 2036 only - Nov 23 2:00 0 -
Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
Rule Morocco 2037 only - Nov 15 2:00 0 -
+Rule Morocco 2038 only - Sep 26 3:00 -1:00 -
+Rule Morocco 2038 only - Oct 31 2:00 0 -
+Rule Morocco 2039 only - Sep 18 3:00 -1:00 -
+Rule Morocco 2039 only - Oct 23 2:00 0 -
+Rule Morocco 2040 only - Sep 2 3:00 -1:00 -
+Rule Morocco 2040 only - Oct 14 2:00 0 -
+Rule Morocco 2041 only - Aug 25 3:00 -1:00 -
+Rule Morocco 2041 only - Sep 29 2:00 0 -
+Rule Morocco 2042 only - Aug 10 3:00 -1:00 -
+Rule Morocco 2042 only - Sep 21 2:00 0 -
+Rule Morocco 2043 only - Aug 2 3:00 -1:00 -
+Rule Morocco 2043 only - Sep 6 2:00 0 -
+Rule Morocco 2044 only - Jul 24 3:00 -1:00 -
+Rule Morocco 2044 only - Aug 28 2:00 0 -
+Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
+Rule Morocco 2045 only - Aug 20 2:00 0 -
+Rule Morocco 2046 only - Jul 1 3:00 -1:00 -
+Rule Morocco 2046 only - Aug 5 2:00 0 -
+Rule Morocco 2047 only - Jun 23 3:00 -1:00 -
+Rule Morocco 2047 only - Jul 28 2:00 0 -
+Rule Morocco 2048 only - Jun 7 3:00 -1:00 -
+Rule Morocco 2048 only - Jul 19 2:00 0 -
+Rule Morocco 2049 only - May 30 3:00 -1:00 -
+Rule Morocco 2049 only - Jul 4 2:00 0 -
+Rule Morocco 2050 only - May 15 3:00 -1:00 -
+Rule Morocco 2050 only - Jun 26 2:00 0 -
+Rule Morocco 2051 only - May 7 3:00 -1:00 -
+Rule Morocco 2051 only - Jun 11 2:00 0 -
+Rule Morocco 2052 only - Apr 28 3:00 -1:00 -
+Rule Morocco 2052 only - Jun 2 2:00 0 -
+Rule Morocco 2053 only - Apr 13 3:00 -1:00 -
+Rule Morocco 2053 only - May 25 2:00 0 -
+Rule Morocco 2054 only - Apr 5 3:00 -1:00 -
+Rule Morocco 2054 only - May 10 2:00 0 -
+Rule Morocco 2055 only - Mar 28 3:00 -1:00 -
+Rule Morocco 2055 only - May 2 2:00 0 -
+Rule Morocco 2056 only - Mar 12 3:00 -1:00 -
+Rule Morocco 2056 only - Apr 23 2:00 0 -
+Rule Morocco 2057 only - Mar 4 3:00 -1:00 -
+Rule Morocco 2057 only - Apr 8 2:00 0 -
+Rule Morocco 2058 only - Feb 17 3:00 -1:00 -
+Rule Morocco 2058 only - Mar 31 2:00 0 -
+Rule Morocco 2059 only - Feb 9 3:00 -1:00 -
+Rule Morocco 2059 only - Mar 16 2:00 0 -
+Rule Morocco 2060 only - Feb 1 3:00 -1:00 -
+Rule Morocco 2060 only - Mar 7 2:00 0 -
+Rule Morocco 2061 only - Jan 16 3:00 -1:00 -
+Rule Morocco 2061 only - Feb 27 2:00 0 -
+Rule Morocco 2062 only - Jan 8 3:00 -1:00 -
+Rule Morocco 2062 only - Feb 12 2:00 0 -
+Rule Morocco 2062 only - Dec 31 3:00 -1:00 -
+Rule Morocco 2063 only - Feb 4 2:00 0 -
+Rule Morocco 2063 only - Dec 16 3:00 -1:00 -
+Rule Morocco 2064 only - Jan 20 2:00 0 -
+Rule Morocco 2064 only - Dec 7 3:00 -1:00 -
+Rule Morocco 2065 only - Jan 11 2:00 0 -
+Rule Morocco 2065 only - Nov 22 3:00 -1:00 -
+Rule Morocco 2066 only - Jan 3 2:00 0 -
+Rule Morocco 2066 only - Nov 14 3:00 -1:00 -
+Rule Morocco 2066 only - Dec 19 2:00 0 -
+Rule Morocco 2067 only - Nov 6 3:00 -1:00 -
+Rule Morocco 2067 only - Dec 11 2:00 0 -
+Rule Morocco 2068 only - Oct 21 3:00 -1:00 -
+Rule Morocco 2068 only - Dec 2 2:00 0 -
+Rule Morocco 2069 only - Oct 13 3:00 -1:00 -
+Rule Morocco 2069 only - Nov 17 2:00 0 -
+Rule Morocco 2070 only - Oct 5 3:00 -1:00 -
+Rule Morocco 2070 only - Nov 9 2:00 0 -
+Rule Morocco 2071 only - Sep 20 3:00 -1:00 -
+Rule Morocco 2071 only - Oct 25 2:00 0 -
+Rule Morocco 2072 only - Sep 11 3:00 -1:00 -
+Rule Morocco 2072 only - Oct 16 2:00 0 -
+Rule Morocco 2073 only - Aug 27 3:00 -1:00 -
+Rule Morocco 2073 only - Oct 8 2:00 0 -
+Rule Morocco 2074 only - Aug 19 3:00 -1:00 -
+Rule Morocco 2074 only - Sep 23 2:00 0 -
+Rule Morocco 2075 only - Aug 11 3:00 -1:00 -
+Rule Morocco 2075 only - Sep 15 2:00 0 -
+Rule Morocco 2076 only - Jul 26 3:00 -1:00 -
+Rule Morocco 2076 only - Sep 6 2:00 0 -
+Rule Morocco 2077 only - Jul 18 3:00 -1:00 -
+Rule Morocco 2077 only - Aug 22 2:00 0 -
+Rule Morocco 2078 only - Jul 10 3:00 -1:00 -
+Rule Morocco 2078 only - Aug 14 2:00 0 -
+Rule Morocco 2079 only - Jun 25 3:00 -1:00 -
+Rule Morocco 2079 only - Jul 30 2:00 0 -
+Rule Morocco 2080 only - Jun 16 3:00 -1:00 -
+Rule Morocco 2080 only - Jul 21 2:00 0 -
+Rule Morocco 2081 only - Jun 1 3:00 -1:00 -
+Rule Morocco 2081 only - Jul 13 2:00 0 -
+Rule Morocco 2082 only - May 24 3:00 -1:00 -
+Rule Morocco 2082 only - Jun 28 2:00 0 -
+Rule Morocco 2083 only - May 16 3:00 -1:00 -
+Rule Morocco 2083 only - Jun 20 2:00 0 -
+Rule Morocco 2084 only - Apr 30 3:00 -1:00 -
+Rule Morocco 2084 only - Jun 11 2:00 0 -
+Rule Morocco 2085 only - Apr 22 3:00 -1:00 -
+Rule Morocco 2085 only - May 27 2:00 0 -
+Rule Morocco 2086 only - Apr 14 3:00 -1:00 -
+Rule Morocco 2086 only - May 19 2:00 0 -
+Rule Morocco 2087 only - Mar 30 3:00 -1:00 -
+Rule Morocco 2087 only - May 4 2:00 0 -
+# For dates after the somewhat-arbitrary cutoff of 2087, assume that
+# Morocco will no longer observe DST. At some point this table will
+# need to be extended, though quite possibly Morocco will change the
+# rules first.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
0:00 Morocco +00/+01 1984 Mar 16
1:00 - +01 1986
@@ -1001,7 +1113,7 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf
# merely made it official?
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
2:00 - CAT
Link Africa/Maputo Africa/Blantyre # Malawi
@@ -1073,7 +1185,7 @@ Rule Namibia 1995 2017 - Apr Sun>=1 2:00 -1:00 WAT
#Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 WAT
# End of rearguard section.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
1:30 - +0130 1903 Mar
2:00 - SAST 1942 Sep 20 2:00
@@ -1094,7 +1206,7 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
# See Africa/Lagos.
# Nigeria
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Lagos 0:13:36 - LMT 1919 Sep
1:00 - WAT
Link Africa/Lagos Africa/Bangui # Central African Republic
@@ -1108,7 +1220,7 @@ Link Africa/Lagos Africa/Niamey # Niger
Link Africa/Lagos Africa/Porto-Novo # Benin
# Réunion
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - +04
#
@@ -1168,7 +1280,7 @@ Zone Africa/Sao_Tome 0:26:56 - LMT 1884
# See Africa/Abidjan.
# Seychelles
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
4:00 - +04
# From Paul Eggert (2001-05-30):
@@ -1188,7 +1300,7 @@ Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule SA 1942 1943 - Sep Sun>=15 2:00 1:00 -
Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
1:30 - SAST 1903 Mar
2:00 SA SAST
@@ -1223,14 +1335,14 @@ Rule Sudan 1970 only - May 1 0:00 1:00 S
Rule Sudan 1970 1985 - Oct 15 0:00 0 -
Rule Sudan 1971 only - Apr 30 0:00 1:00 S
Rule Sudan 1972 1985 - Apr lastSun 0:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Khartoum 2:10:08 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT 2017 Nov 1
2:00 - CAT
# South Sudan
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Juba 2:06:28 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT
@@ -1336,7 +1448,7 @@ Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
# more precise 0:09:21.
# Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
1:00 Tunisia CE%sT
diff --git a/antarctica b/antarctica
index 1dd9b004f73a..205998381dce 100644
--- a/antarctica
+++ b/antarctica
@@ -13,7 +13,7 @@
# for information.
# Unless otherwise specified, we have no time zone information.
-# FORMAT is '-00' and GMTOFF is 0 for locations while uninhabited.
+# FORMAT is '-00' and STDOFF is 0 for locations while uninhabited.
# Argentina - year-round bases
# Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
@@ -70,7 +70,7 @@
# Australian Antarctica Division informed us that Casey changed time
# zone to UTC+11 in "the morning of 22nd October 2016".
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2009 Oct 18 2:00
11:00 - +11 2010 Mar 5 2:00
@@ -142,7 +142,7 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
# St Paul Island - near Amsterdam, uninhabited
# fishing stations operated variously 1819/1931
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
5:00 - +05
#
@@ -153,7 +153,7 @@ Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
# Another base at Port-Martin, 50km east, began operation in 1947.
# It was destroyed by fire on 1952-01-14.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/DumontDUrville 0 - -00 1947
10:00 - +10 1952 Jan 14
0 - -00 1956 Nov
@@ -181,7 +181,7 @@ Zone Antarctica/DumontDUrville 0 - -00 1947
# Syowa station, which is the first antarctic station of Japan,
# was established on 1957-01-29. Since Syowa station is still the main
# station of Japan, it's appropriate for the principal location.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Syowa 0 - -00 1957 Jan 29
3:00 - +03
# See:
@@ -231,7 +231,7 @@ Rule Troll 2005 max - Mar lastSun 1:00u 2:00 +02
#Rule Troll 2004 max - Nov 7 1:00u 0:00 +00
# Remove the following line when uncommenting the above '#Rule' lines.
Rule Troll 2004 max - Oct lastSun 1:00u 0:00 +00
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Troll 0 - -00 2005 Feb 12
0:00 Troll %s
@@ -305,7 +305,7 @@ Zone Antarctica/Vostok 0 - -00 1957 Dec 16
# From Paul Eggert (2002-10-22)
# says Rothera is -03 all year.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Rothera 0 - -00 1976 Dec 1
-3:00 - -03
diff --git a/asia b/asia
index d790da5bf626..348e2b5df5ec 100644
--- a/asia
+++ b/asia
@@ -84,7 +84,7 @@ Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 -
Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 -
# Afghanistan
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kabul 4:36:48 - LMT 1890
4:00 - +04 1945
4:30 - +0430
@@ -117,7 +117,7 @@ Zone Asia/Kabul 4:36:48 - LMT 1890
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 -
Rule Armenia 2011 only - Oct lastSun 2:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2
3:00 - +03 1957 Mar
4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
@@ -143,7 +143,7 @@ Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Azer 1997 2015 - Mar lastSun 4:00 1:00 -
Rule Azer 1997 2015 - Oct lastSun 5:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Baku 3:19:24 - LMT 1924 May 2
3:00 - +03 1957 Mar
4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s
@@ -231,7 +231,7 @@ Zone Asia/Baku 3:19:24 - LMT 1924 May 2
Rule Dhaka 2009 only - Jun 19 23:00 1:00 -
Rule Dhaka 2009 only - Dec 31 24:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dhaka 6:01:40 - LMT 1890
5:53:20 - HMT 1941 Oct # Howrah Mean Time?
6:30 - +0630 1942 May 15
@@ -241,7 +241,7 @@ Zone Asia/Dhaka 6:01:40 - LMT 1890
6:00 Dhaka +06/+07
# Bhutan
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Thimphu 5:58:36 - LMT 1947 Aug 15 # or Thimbu
5:30 - +0530 1987 Oct
6:00 - +06
@@ -252,13 +252,13 @@ Zone Asia/Thimphu 5:58:36 - LMT 1947 Aug 15 # or Thimbu
# We have no information as to when standard time was introduced;
# assume it occurred in 1907, the same year as Mauritius (which
# then contained the Chagos Archipelago).
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Chagos 4:49:40 - LMT 1907
5:00 - +05 1996
6:00 - +06
# Brunei
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Brunei 7:39:40 - LMT 1926 Mar # Bandar Seri Begawan
7:30 - +0730 1933
8:00 - +08
@@ -273,7 +273,7 @@ Zone Asia/Brunei 7:39:40 - LMT 1926 Mar # Bandar Seri Begawan
# of Greenwich." This refers to the period before Burma's transition to +0630,
# a transition for which Shanks is the only source.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
6:24:47 - RMT 1920 # Rangoon local time
6:30 - +0630 1942 May
@@ -561,7 +561,7 @@ Rule PRC 1987 1991 - Apr Sun>=11 2:00 1:00 D
# that the sort of users who prefer Asia/Urumqi now typically ignored the
# +08 mandate back then.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Beijing time, used throughout China; represented by Shanghai.
Zone Asia/Shanghai 8:05:43 - LMT 1901
8:00 Shang C%sT 1949 May 28
@@ -652,11 +652,41 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
# https://i.imgur.com/05KkvtC.png
# * 1941-09-30, Hong Kong Daily Press, Winter Time Warning.
# https://i.imgur.com/dge4kFJ.png
-# Also, the Liberation day of Hong Kong after WWII which British rule
-# over the territory resumed was August 30, 1945, which I think should
-# be the termination date for the use of JST in the territory....
-# From Paul Eggert (2018-11-17):
+# From P Chan (2018-12-31):
+# * According to the Hong Kong Daylight-Saving Regulations, 1941, the
+# 1941 spring-forward transition was at 03:00.
+# http://sunzi.lib.hku.hk/hkgro/view/g1941/304271.pdf
+# http://sunzi.lib.hku.hk/hkgro/view/g1941/305516.pdf
+# * According to some articles from South China Morning Post, +08 was
+# resumed on 1945-11-18 at 02:00.
+# https://i.imgur.com/M2IsZ3c.png
+# https://i.imgur.com/iOPqrVo.png
+# https://i.imgur.com/fffcGDs.png
+# * Some newspapers ... said the 1946 spring-forward transition was on
+# 04-21 at 00:00. The Kung Sheung Evening News 1946-04-20 (Chinese)
+# https://i.imgur.com/ZSzent0.png
+# https://mmis.hkpl.gov.hk///c/portal/cover?c=QF757YsWv5%2FH7zGe%2FKF%2BFLYsuqGhRBfe p.4
+# The Kung Sheung Daily News 1946-04-21 (Chinese)
+# https://i.imgur.com/7ecmRlcm.png
+# https://mmis.hkpl.gov.hk///c/portal/cover?c=QF757YsWv5%2BQBGt1%2BwUj5qG2GqtwR3Wh p.4
+# * According to the Summer Time Ordinance (1946), the fallback
+# transitions between 1946 and 1952 were at 03:30 Standard Time (+08)
+# http://oelawhk.lib.hku.hk/archive/files/bb74b06a74d5294620a15de560ab33c6.pdf
+# * Some other laws and regulations related to DST from 1953 to 1979
+# Summer Time Ordinance 1953
+# https://i.imgur.com/IOlJMav.jpg
+# Summer Time (Amendment) Ordinance 1965
+# https://i.imgur.com/8rofeLa.jpg
+# Interpretation and General Clauses Ordinance (1966)
+# https://i.imgur.com/joy3msj.jpg
+# Emergency (Summer Time) Regulation 1973
+# Interpretation and General Clauses (Amendment) Ordinance 1977
+# https://i.imgur.com/RaNqnc4.jpg
+# Resolution of the Legislative Council passed on 9 May 1979
+# https://www.legco.gov.hk/yr78-79/english/lc_sitg/hansard/h790509.pdf#page=39
+
+# From Paul Eggert (2019-05-31):
# Here are the dates given at
# https://www.hko.gov.hk/gts/time/Summertime.htm
# as of 2014-06-19:
@@ -667,7 +697,7 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
# 1944 Whole year
# 1945 Whole year
# 1946 20 Apr to 1 Dec
-# 1947 13 Apr to 30 Dec
+# 1947 13 Apr to 30 Nov
# 1948 2 May to 31 Oct
# 1949 3 Apr to 30 Oct
# 1950 2 Apr to 29 Oct
@@ -704,36 +734,28 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
# The page does not give times of day for transitions,
# or dates for the 1942 and 1945 transitions.
# The Japanese occupation of Hong Kong began 1941-12-25.
-# The Japanese surrender of Hong Kong was signed 1945-09-16; see:
-# Heaver S. The days after the Pacific war ended: unsettling times
-# in Hong Kong. Post Magazine. 2016-06-13.
-# https://www.scmp.com/magazines/post-magazine/article/1852990/days-after-pacific-war-ended-unsettling-times-hong-kong
-# For lack of anything better, use start of those days as the
-# transition times.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule HK 1946 only - Apr 20 3:30 1:00 S
-Rule HK 1946 only - Dec 1 3:30 0 -
-Rule HK 1947 only - Apr 13 3:30 1:00 S
-Rule HK 1947 only - Dec 30 3:30 0 -
-Rule HK 1948 only - May 2 3:30 1:00 S
-Rule HK 1948 1951 - Oct lastSun 3:30 0 -
-Rule HK 1952 1953 - Nov Sun>=1 3:30 0 -
+Rule HK 1946 only - Apr 21 0:00 1:00 S
+Rule HK 1946 only - Dec 1 3:30s 0 -
+Rule HK 1947 only - Apr 13 3:30s 1:00 S
+Rule HK 1947 only - Nov 30 3:30s 0 -
+Rule HK 1948 only - May 2 3:30s 1:00 S
+Rule HK 1948 1952 - Oct Sun>=28 3:30s 0 -
Rule HK 1949 1953 - Apr Sun>=1 3:30 1:00 S
+Rule HK 1953 1964 - Oct Sun>=31 3:30 0 -
Rule HK 1954 1964 - Mar Sun>=18 3:30 1:00 S
-Rule HK 1954 only - Oct 31 3:30 0 -
-Rule HK 1955 1964 - Nov Sun>=1 3:30 0 -
Rule HK 1965 1976 - Apr Sun>=16 3:30 1:00 S
Rule HK 1965 1976 - Oct Sun>=16 3:30 0 -
Rule HK 1973 only - Dec 30 3:30 1:00 S
-Rule HK 1979 only - May Sun>=8 3:30 1:00 S
-Rule HK 1979 only - Oct Sun>=16 3:30 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+Rule HK 1979 only - May 13 3:30 1:00 S
+Rule HK 1979 only - Oct 21 3:30 0 -
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 0:36:42
- 8:00 - HKT 1941 Jun 15 3:30
+ 8:00 - HKT 1941 Jun 15 3:00
8:00 1:00 HKST 1941 Oct 1 4:00
8:30 - HKT 1941 Dec 25
- 9:00 - JST 1945 Sep 16
+ 9:00 - JST 1945 Nov 18 2:00
8:00 HK HK%sT
###############################################################################
@@ -857,7 +879,7 @@ Rule Taiwan 1974 1975 - Oct 1 0:00 0 S
Rule Taiwan 1979 only - Jul 1 0:00 1:00 D
Rule Taiwan 1979 only - Oct 1 0:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Taipei or Taibei or T'ai-pei
Zone Asia/Taipei 8:06:00 - LMT 1896 Jan 1
8:00 - CST 1937 Oct 1
@@ -995,7 +1017,7 @@ Rule Macau 1975 1976 - Apr Sun>=16 03:30 1:00 D
Rule Macau 1979 only - May 13 03:30 1:00 D
Rule Macau 1979 only - Oct Sun>=16 03:30 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Macau 7:34:10 - LMT 1904 Oct 30
8:00 - CST 1941 Dec 21 23:00
9:00 Macau +09/+10 1945 Sep 30 24:00
@@ -1034,7 +1056,7 @@ Rule Cyprus 1977 only - Sep 25 0:00 0 -
Rule Cyprus 1978 only - Oct 2 0:00 0 -
Rule Cyprus 1979 1997 - Sep lastSun 0:00 0 -
Rule Cyprus 1981 1998 - Mar lastSun 0:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Nicosia 2:13:28 - LMT 1921 Nov 14
2:00 Cyprus EE%sT 1998 Sep
2:00 EUAsia EE%sT
@@ -1083,7 +1105,7 @@ Link Asia/Nicosia Europe/Nicosia
# Byalokoz 1919 says Georgia was 2:59:11.
# Go with Byalokoz.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Tbilisi 2:59:11 - LMT 1880
2:59:11 - TBMT 1924 May 2 # Tbilisi Mean Time
3:00 - +03 1957 Mar
@@ -1120,7 +1142,7 @@ Zone Asia/Tbilisi 2:59:11 - LMT 1880
# which will be permanent, with no seasonal adjustment, will happen at
# midnight on Saturday, September 16.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1
8:00 - +08 1942 Feb 21 23:00
9:00 - +09 1976 May 3
@@ -1186,7 +1208,7 @@ Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1
# time for 1870-1941. Shanks is our only (and dubious) source for the
# 1941-1945 data.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata
5:53:20 - HMT 1870 # Howrah Mean Time?
5:21:10 - MMT 1906 Jan 1 # Madras local time
@@ -1238,7 +1260,7 @@ Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata
# WITA - +08 - Waktu Indonesia Tengah (Indonesia central time)
# WIT - +09 - Waktu Indonesia Timur (Indonesia eastern time)
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Java, Sumatra
Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10
# Shanks & Pottenger say the next transition was at 1924 Jan 1 0:13,
@@ -1314,9 +1336,9 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov
# I used the following code in GNU Emacs 26.1 to generate the "Rule Iran"
# lines from 2008 through 2087. Emacs 26.1 uses Ed Reingold's
# cal-persia implementation of Birashk's approximation, which in the
-# 2008-2087 range disagrees with the the astronomical Persian calendar
-# for Persian years 1404 (Gregorian 2025) and 1437 (Gregorian 2058),
-# so the following code special-case those years. See Table 15.1, page 264, of:
+# 2008-2087 range disagrees with the astronomical Persian calendar
+# for Persian years 1404 (Gregorian 2025) and 1437 (Gregorian 2058), so
+# the following code special-cases those years. See Table 15.1, page 264, of:
# Edward M. Reingold and Nachum Dershowitz, Calendrical Calculations:
# The Ultimate Edition, Cambridge University Press (2018).
# https://www.cambridge.org/fr/academic/subjects/computer-science/computing-general-interest/calendrical-calculations-ultimate-edition-4th-edition
@@ -1510,7 +1532,7 @@ Rule Iran 2087 only - Sep 21 24:00 0 -
Rule Iran 2088 max - Mar 20 24:00 1:00 -
Rule Iran 2088 max - Sep 20 24:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Tehran 3:25:44 - LMT 1916
3:25:44 - TMT 1946 # Tehran Mean Time
3:30 - +0330 1977 Nov
@@ -1555,7 +1577,7 @@ Rule Iraq 1986 1990 - Mar lastSun 1:00s 1:00 -
#
Rule Iraq 1991 2007 - Apr 1 3:00s 1:00 -
Rule Iraq 1991 2007 - Oct 1 3:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Baghdad 2:57:40 - LMT 1890
2:57:36 - BMT 1918 # Baghdad Mean Time?
3:00 - +03 1982 May
@@ -1622,7 +1644,7 @@ Rule Zion 1975 only - Apr 20 0:00 1:00 D
Rule Zion 1975 only - Aug 31 0:00 0 S
# From Alois Treindl (2019-03-06):
-# http://www.moin.gov.il/Documents/שעון קיץ/clock-50-years-7-2014.pdf
+# http://www.moin.gov.il/Documents/שעון%20קיץ/clock-50-years-7-2014.pdf
# From Isaac Starkman (2019-03-06):
# Summer time was in that period in 1980 and 1984, see
# https://www.ynet.co.il/articles/0,7340,L-3951073,00.html
@@ -1760,32 +1782,15 @@ Rule Zion 2004 only - Sep 22 1:00 0 S
#
# ftp://ftp.cs.huji.ac.il/pub/tz/announcements/2005+beyond.ps
-# From Paul Eggert (2012-10-26):
-# I used Ephraim Silverberg's dst-israel.el program
-# (2005-02-20)
-# along with Ed Reingold's cal-hebrew in GNU Emacs 21.4,
-# to generate the transitions from 2005 through 2012.
-# (I replaced "lastFri" with "Fri>=26" by hand.)
-# The spring transitions all correspond to the following Rule:
-#
-# Rule Zion 2005 2012 - Mar Fri>=26 2:00 1:00 D
-#
-# but older zic implementations (e.g., Solaris 8) do not support
-# "Fri>=26" to mean April 1 in years like 2005, so for now we list the
-# springtime transitions explicitly.
-
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-Rule Zion 2005 only - Apr 1 2:00 1:00 D
+Rule Zion 2005 2012 - Apr Fri<=1 2:00 1:00 D
Rule Zion 2005 only - Oct 9 2:00 0 S
-Rule Zion 2006 2010 - Mar Fri>=26 2:00 1:00 D
Rule Zion 2006 only - Oct 1 2:00 0 S
Rule Zion 2007 only - Sep 16 2:00 0 S
Rule Zion 2008 only - Oct 5 2:00 0 S
Rule Zion 2009 only - Sep 27 2:00 0 S
Rule Zion 2010 only - Sep 12 2:00 0 S
-Rule Zion 2011 only - Apr 1 2:00 1:00 D
Rule Zion 2011 only - Oct 2 2:00 0 S
-Rule Zion 2012 only - Mar Fri>=26 2:00 1:00 D
Rule Zion 2012 only - Sep 23 2:00 0 S
# From Ephraim Silverberg (2013-06-27):
@@ -1801,7 +1806,7 @@ Rule Zion 2012 only - Sep 23 2:00 0 S
Rule Zion 2013 max - Mar Fri>=23 2:00 1:00 D
Rule Zion 2013 max - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Jerusalem 2:20:54 - LMT 1880
2:20:40 - JMT 1918 # Jerusalem Mean Time?
2:00 Zion I%sT
@@ -1893,7 +1898,7 @@ Rule Japan 1950 1951 - May Sat>=1 24:00 1:00 D
# Central Time (UT+9). The adoption began on Oct 1, 1937.
# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
9:00 Japan J%sT
# Since 1938, all Japanese possessions have been like Asia/Tokyo,
@@ -1996,7 +2001,7 @@ Rule Jordan 2006 2011 - Oct lastFri 0:00s 0 -
Rule Jordan 2013 only - Dec 20 0:00 0 -
Rule Jordan 2014 max - Mar lastThu 24:00 1:00 S
Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EE%sT
@@ -2037,8 +2042,8 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# text.
#
# According to Izvestia newspaper No. 68 (23334) from 1991-03-20
-# (page 6; available at http://libinfo.org/newsr/newsr2574.djvu via
-# http://libinfo.org/index.php?id=58564) on 1991-03-31 at 2:00 during
+# -- page 6; available at http://libinfo.org/newsr/newsr2574.djvu via
+# http://libinfo.org/index.php?id=58564 -- on 1991-03-31 at 2:00 during
# transition to "summer" time:
# Republic of Georgia, Latvian SSR, Lithuanian SSR, SSR Moldova,
# Estonian SSR; Komi ASSR; Kaliningrad oblast; Nenets autonomous okrug
@@ -2054,7 +2059,7 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# Apparently there were last minute changes. Apparently Kazakh act No. 170
# was one of such changes.
#
-# https://ru.wikipedia.org/wiki/Декретное время
+# https://ru.wikipedia.org/wiki/Декретное_время
# claims that Sovetskaya Rossiya newspaper on 1991-03-29 published that
# Nenets autonomous okrug, Komi and Kazakhstan (excluding Uralsk oblast)
# were to not move clocks and Uralsk oblast was to move clocks
@@ -2193,7 +2198,7 @@ Zone Asia/Amman 2:23:44 - LMT 1931
# UTC+6 to UTC+5 effective December 21st, 2018. The legal document is
# located here: http://adilet.zan.kz/rus/docs/P1800000817 (russian language).
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
#
# Almaty (formerly Alma-Ata), representing most locations in Kazakhstan
# This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA,
@@ -2295,7 +2300,7 @@ Rule Kyrgyz 1992 1996 - Apr Sun>=7 0:00s 1:00 -
Rule Kyrgyz 1992 1996 - Sep lastSun 0:00 0 -
Rule Kyrgyz 1997 2005 - Mar lastSun 2:30 1:00 -
Rule Kyrgyz 1997 2004 - Oct lastSun 2:30 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2
5:00 - +05 1930 Jun 21
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
@@ -2410,7 +2415,7 @@ Rule ROK 1987 1988 - Oct Sun>=8 3:00 0 S
# The BBC reported that the transition was from 23:30 to 24:00 today.
# https://www.bbc.com/news/world-asia-44010705
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1
8:30 - KST 1912 Jan 1
9:00 - JST 1945 Sep 8
@@ -2459,7 +2464,7 @@ Rule Lebanon 1992 only - Oct 4 0:00 0 -
Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S
Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 -
Rule Lebanon 1999 max - Oct lastSun 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Beirut 2:22:00 - LMT 1880
2:00 Lebanon EE%sT
@@ -2471,7 +2476,7 @@ Rule NBorneo 1935 1941 - Dec 14 0:00 0 -
# peninsular Malaysia
# taken from Mok Ly Yng (2003-10-30)
# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1
6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
7:00 - +07 1933 Jan 1
@@ -2485,7 +2490,7 @@ Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1
# From Paul Eggert (2014-08-12):
# The data entries here are mostly from Shanks & Pottenger, but the 1942, 1945
# and 1982 transition dates are from Mok Ly Yng.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kuching 7:21:20 - LMT 1926 Mar
7:30 - +0730 1933
8:00 NBorneo +08/+0820 1942 Feb 16
@@ -2493,7 +2498,7 @@ Zone Asia/Kuching 7:21:20 - LMT 1926 Mar
8:00 - +08
# Maldives
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé
4:54:00 - MMT 1960 # Malé Mean Time
5:00 - +05
@@ -2636,7 +2641,7 @@ Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 -
Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 -
Rule Mongol 2015 2016 - Sep lastSat 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Hovd, a.k.a. Chovd, Dund-Us, Dzhargalant, Khovd, Jirgalanta
Zone Asia/Hovd 6:06:36 - LMT 1905 Aug
6:00 - +06 1978
@@ -2654,7 +2659,7 @@ Zone Asia/Choibalsan 7:38:00 - LMT 1905 Aug
8:00 Mongol +08/+09
# Nepal
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Kathmandu 5:41:16 - LMT 1920
5:30 - +0530 1986
5:45 - +0545
@@ -2804,7 +2809,7 @@ Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
Rule Pakistan 2008 2009 - Nov 1 0:00 0 -
Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Karachi 4:28:12 - LMT 1907
5:30 - +0530 1942 Sep
5:30 1:00 +0630 1945 Oct 15
@@ -3091,13 +3096,21 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# http://www.palestinecabinet.gov.ps/Website/AR/NDecrees/ViewFile.ashx?ID=e7a42ab7-ee23-435a-b9c8-a4f7e81f3817
# From Even Scharning (2019-03-23):
-# DST in Palestine will start on 30 March this year, not 23 March as the time
-# zone database predicted.
-# https://ramallah.news/post/123610
+# http://pnn.ps/news/401130
+# http://palweather.ps/ar/node/50136.html
#
-# From Tim Parenti (2019-03-23):
-# Combining this with the rules observed since 2016, adjust our spring
-# transition guess to Mar Sat>=24.
+# From Sharif Mustafa (2019-03-26):
+# The Palestinian cabinet announced today that the switch to DST will
+# be on Fri Mar 29th 2019 by advancing the clock by 60 minutes.
+# The decree signing date is Mar 12th but it was not published till today.
+# The decree does not specify the exact time of switch.
+# http://palestinecabinet.gov.ps/Website/AR/NDecrees/ViewFile.ashx?ID=e54e9ea1-50ee-4137-84df-0d6c78da259b
+#
+# From Even Scharning (2019-04-10):
+# Our source in Palestine said it happened Friday 29 at 00:00 local time....
+#
+# From Paul Eggert (2019-04-10):
+# For now, guess spring-ahead transitions are March's last Friday at 00:00.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
@@ -3128,10 +3141,11 @@ Rule Palestine 2012 only - Sep 21 1:00 0 -
Rule Palestine 2013 only - Sep Fri>=21 0:00 0 -
Rule Palestine 2014 2015 - Oct Fri>=21 0:00 0 -
Rule Palestine 2015 only - Mar lastFri 24:00 1:00 S
-Rule Palestine 2016 max - Mar Sat>=24 1:00 1:00 S
+Rule Palestine 2016 2018 - Mar Sat>=24 1:00 1:00 S
Rule Palestine 2016 max - Oct lastSat 1:00 0 -
+Rule Palestine 2019 max - Mar lastFri 0:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
2:00 Zion EET/EEST 1948 May 15
2:00 EgyptAsia EE%sT 1967 Jun 5
@@ -3205,7 +3219,7 @@ Rule Phil 1954 only - Apr 12 0:00 1:00 D
Rule Phil 1954 only - Jul 1 0:00 0 S
Rule Phil 1978 only - Mar 22 0:00 1:00 D
Rule Phil 1978 only - Sep 21 0:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
8:04:00 - LMT 1899 May 11
8:00 Phil P%sT 1942 May
@@ -3213,7 +3227,7 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
8:00 Phil P%sT
# Qatar
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha
4:00 - +04 1972 Jun
3:00 - +03
@@ -3261,7 +3275,7 @@ Link Asia/Qatar Asia/Bahrain
# the country. Presumably this is documenting airline time. Ignore this,
# as it's before our 1970 cutoff.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14
3:00 - +03
Link Asia/Riyadh Asia/Aden # Yemen
@@ -3270,7 +3284,7 @@ Link Asia/Riyadh Asia/Kuwait
# Singapore
# taken from Mok Ly Yng (2003-10-30)
# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
6:55:25 - SMT 1905 Jun 1 # Singapore M.T.
7:00 - +07 1933 Jan 1
@@ -3334,7 +3348,7 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
# even worse. For now, let's use a numeric abbreviation; we can
# switch to "SLST" if it catches on.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Colombo 5:19:24 - LMT 1880
5:19:32 - MMT 1906 # Moratuwa Mean Time
5:30 - +0530 1942 Jan 5
@@ -3504,13 +3518,13 @@ Rule Syria 2010 2011 - Apr Fri>=1 0:00 1:00 S
Rule Syria 2012 max - Mar lastFri 0:00 1:00 S
Rule Syria 2009 max - Oct lastFri 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq
2:00 Syria EE%sT
# Tajikistan
# From Shanks & Pottenger.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
5:00 - +05 1930 Jun 21
6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s
@@ -3518,7 +3532,7 @@ Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
5:00 - +05
# Thailand
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Bangkok 6:42:04 - LMT 1880
6:42:04 - BMT 1920 Apr # Bangkok Mean Time
7:00 - +07
@@ -3527,7 +3541,7 @@ Link Asia/Bangkok Asia/Vientiane # Laos
# Turkmenistan
# From Shanks & Pottenger.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad
4:00 - +04 1930 Jun 21
5:00 RussiaAsia +05/+06 1991 Mar 31 2:00
@@ -3535,14 +3549,14 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad
5:00 - +05
# United Arab Emirates
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Dubai 3:41:12 - LMT 1920
4:00 - +04
Link Asia/Dubai Asia/Muscat # Oman
# Uzbekistan
# Byalokoz 1919 says Uzbekistan was 4:27:53.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Samarkand 4:27:53 - LMT 1924 May 2
4:00 - +04 1930 Jun 21
5:00 - +05 1981 Apr 1
@@ -3608,7 +3622,7 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
# NXB Thuận Hoá, Huế, 1995.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 Jul 1
7:06:30 - PLMT 1911 May 1 # Phù Liễn MT
7:00 - +07 1942 Dec 31 23:00
diff --git a/australasia b/australasia
index dfe73d3f9dc5..0544e587509a 100644
--- a/australasia
+++ b/australasia
@@ -25,7 +25,7 @@ Rule Aus 1943 only - Oct 3 2:00 1:00 D
# says W Australia didn't use DST in 1943/1944. Ignore Whitman's claim that
# 1944/1945 was just like 1943/1944.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Northern Territory
Zone Australia/Darwin 8:43:20 - LMT 1895 Feb
9:00 - ACST 1899 May
@@ -102,7 +102,7 @@ Rule AS 2006 only - Apr 2 2:00s 0 S
Rule AS 2007 only - Mar lastSun 2:00s 0 S
Rule AS 2008 max - Apr Sun>=1 2:00s 0 S
Rule AS 2008 max - Oct Sun>=1 2:00s 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb
9:00 - ACST 1899 May
9:30 Aus AC%sT 1971
@@ -134,7 +134,7 @@ Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 D
Rule AT 2006 only - Apr Sun>=1 2:00s 0 S
Rule AT 2007 only - Mar lastSun 2:00s 0 S
Rule AT 2008 max - Apr Sun>=1 2:00s 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Australia/Hobart 9:49:16 - LMT 1895 Sep
10:00 - AEST 1916 Oct 1 2:00
10:00 1:00 AEDT 1917 Feb
@@ -162,7 +162,7 @@ Rule AV 2006 only - Apr Sun>=1 2:00s 0 S
Rule AV 2007 only - Mar lastSun 2:00s 0 S
Rule AV 2008 max - Apr Sun>=1 2:00s 0 S
Rule AV 2008 max - Oct Sun>=1 2:00s 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Australia/Melbourne 9:39:52 - LMT 1895 Feb
10:00 Aus AE%sT 1971
10:00 AV AE%sT
@@ -185,7 +185,7 @@ Rule AN 2006 only - Apr Sun>=1 2:00s 0 S
Rule AN 2007 only - Mar lastSun 2:00s 0 S
Rule AN 2008 max - Apr Sun>=1 2:00s 0 S
Rule AN 2008 max - Oct Sun>=1 2:00s 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Australia/Sydney 10:04:52 - LMT 1895 Feb
10:00 Aus AE%sT 1971
10:00 AN AE%sT
@@ -256,14 +256,14 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
11:00 - +11
# Christmas
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Christmas 7:02:52 - LMT 1895 Feb
7:00 - +07
# Cocos (Keeling) Is
# These islands were ruled by the Ross family from about 1830 to 1978.
# We don't know when standard time was introduced; for now, we guess 1900.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Cocos 6:27:40 - LMT 1900
6:30 - +0630
@@ -386,12 +386,12 @@ Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 -
Rule Fiji 2015 max - Jan Sun>=13 3:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji +12/+13
# French Polynesia
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea
-9:00 - -09
Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct
@@ -434,7 +434,7 @@ Rule Guam 1977 only - Apr 24 2:00 1:00 D
# http://documents.guam.gov/wp-content/uploads/E.O.-77-18-Guam-Standard-Time.pdf
Rule Guam 1977 only - Aug 28 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
9:39:00 - LMT 1901 # Agana
10:00 - GST 1941 Dec 10 # Guam
@@ -444,7 +444,7 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
Link Pacific/Guam Pacific/Saipan # N Mariana Is
# Kiribati
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki
12:00 - +12
Zone Pacific/Enderbury -11:24:20 - LMT 1901
@@ -460,7 +460,7 @@ Zone Pacific/Kiritimati -10:29:20 - LMT 1901
# See Pacific/Guam.
# Marshall Is
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Majuro 11:24:48 - LMT 1901
11:00 - +11 1914 Oct
9:00 - +09 1919 Feb 1
@@ -478,7 +478,7 @@ Zone Pacific/Kwajalein 11:09:20 - LMT 1901
12:00 - +12
# Micronesia
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Chuuk -13:52:52 - LMT 1844 Dec 31
10:07:08 - LMT 1901
10:00 - +10 1914 Oct
@@ -506,7 +506,7 @@ Zone Pacific/Kosrae -13:08:04 - LMT 1844 Dec 31
11:00 - +11
# Nauru
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe
11:30 - +1130 1942 Aug 29
9:00 - +09 1945 Sep 8
@@ -520,7 +520,7 @@ Rule NC 1978 1979 - Feb 27 0:00 0 -
Rule NC 1996 only - Dec 1 2:00s 1:00 -
# Shanks & Pottenger say the following was at 2:00; go with IATA.
Rule NC 1997 only - Mar 2 2:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 # Nouméa
11:00 NC +11/+12
@@ -559,7 +559,7 @@ Rule NZ 2007 max - Sep lastSun 2:00s 1:00 D
Rule Chatham 2007 max - Sep lastSun 2:45s 1:00 -
Rule NZ 2008 max - Apr Sun>=1 2:00s 0 S
Rule Chatham 2008 max - Apr Sun>=1 2:45s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Auckland 11:39:04 - LMT 1868 Nov 2
11:30 NZ NZ%sT 1946 Jan 1
12:00 NZ NZ%sT
@@ -585,7 +585,7 @@ Link Pacific/Auckland Antarctica/McMurdo
Rule Cook 1978 only - Nov 12 0:00 0:30 -
Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 -
Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
-10:30 - -1030 1978 Nov 12
-10:00 Cook -10/-0930
@@ -594,14 +594,14 @@ Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
# Niue
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
-11:20 - -1120 1951
-11:30 - -1130 1978 Oct 1
-11:00 - -11
# Norfolk
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - +1112 1951
11:30 - +1130 1974 Oct 27 02:00
@@ -610,13 +610,13 @@ Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:00 - +11
# Palau (Belau)
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Palau -15:02:04 - LMT 1844 Dec 31 # Koror
8:57:56 - LMT 1901
9:00 - +09
# Papua New Guinea
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Port_Moresby 9:48:40 - LMT 1880
9:48:32 - PMMT 1895 # Port Moresby Mean Time
10:00 - +10
@@ -646,7 +646,7 @@ Zone Pacific/Bougainville 10:22:16 - LMT 1880
11:00 - +11
# Pitcairn
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
-8:30 - -0830 1998 Apr 27 0:00
-8:00 - -08
@@ -731,7 +731,7 @@ Rule WS 2011 only - Apr Sat>=1 4:00 0 -
Rule WS 2011 only - Sep lastSat 3:00 1 -
Rule WS 2012 max - Apr Sun>=1 4:00 0 -
Rule WS 2012 max - Sep lastSun 3:00 1 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
-11:26:56 - LMT 1911
-11:30 - -1130 1950
@@ -740,7 +740,7 @@ Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
# Solomon Is
# excludes Bougainville, for which see Papua New Guinea
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
11:00 - +11
@@ -763,7 +763,7 @@ Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara
# was "11 hours slow on G.M.T." Go with Thorsen and assume Shanks & Pottenger
# are off by an hour starting in 1901.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fakaofo -11:24:56 - LMT 1901
-11:00 - -11 2011 Dec 30
13:00 - +13
@@ -776,14 +776,14 @@ Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 -
Rule Tonga 2001 2002 - Jan lastSun 2:00 0 -
Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 -
Rule Tonga 2017 only - Jan Sun>=15 3:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Tongatapu 12:19:20 - LMT 1901
12:20 - +1220 1941
13:00 - +13 1999
13:00 Tonga +13/+14
# Tuvalu
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Funafuti 11:56:52 - LMT 1901
12:00 - +12
@@ -844,7 +844,7 @@ Zone Pacific/Funafuti 11:56:52 - LMT 1901
# uninhabited since World War II; was probably like Pacific/Kiritimati
# Wake
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Wake 11:06:28 - LMT 1901
12:00 - +12
@@ -857,12 +857,12 @@ Rule Vanuatu 1984 only - Oct 23 0:00 1:00 -
Rule Vanuatu 1985 1991 - Sep Sun>=23 0:00 1:00 -
Rule Vanuatu 1992 1993 - Jan Sun>=23 0:00 0 -
Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
11:00 Vanuatu +11/+12
# Wallis and Futuna
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Wallis 12:15:20 - LMT 1901
12:00 - +12
@@ -1248,6 +1248,22 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# in WA or its introduction in SA had anything to do with the genesis
# of this time zone. My hunch is that it's been around since well
# before 1975. I remember seeing it noted on road maps decades ago.
+#
+# From Gilmore Davidson (2019-04-08):
+# https://www.abc.net.au/news/2019-04-08/this-remote-stretch-of-desert-has-its-own-custom-time-zone/10981000
+# ... include[s] a rough description of the geographical boundaries...
+# "The time zone exists for about 340 kilometres and takes in the tiny
+# roadhouse communities of Cocklebiddy, Madura, Eucla and Border Village."
+# ... and an indication that the zone has definitely been in existence
+# since before the 1970 cut-off of the database ...
+# From Paul Eggert (2019-05-17):
+# That ABC Esperance story by Christien de Garis also says:
+# Although the Central Western Time Zone is not officially recognised (your
+# phones won't automatically change), there is a sign instructing you which
+# way to wind your clocks 45 minutes and scrawled underneath one of them in
+# Texta is the word: 'Why'?
+# "Good question," Mr Pike said.
+# "I don't even know that, and it's been going for over 50 years."
# From Paul Eggert (2006-12-15):
# For lack of better info, assume the tradition dates back to the
@@ -1566,6 +1582,42 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
###############################################################################
+# Bonin (Ogasawara) Islands and Marcus Island (Minami-Tori-shima)
+
+# From Wakaba (2019-01-28) via Phake Nick:
+# National Diet Library of Japan has several reports by Japanese Government
+# officers that describe the time used in islands when they visited there.
+# According to them (and other sources such as newspapers), standard time UTC
+# + 10 (JST + 1) and DST UTC + 11 (JST + 2) was used until its return to Japan
+# at 1968-06-26 00:00 JST. The exact periods of DST are still unknown.
+# I guessed Guam, Mariana, and Bonin and Marcus districts might have
+# synchronized their DST periods, but reports imply they had their own
+# decisions, i.e. there were three or more different time zones....
+#
+# https://wiki.suikawiki.org/n/小笠原諸島の標準時
+
+# From Phake Nick (2019-02-12):
+# Because their last time change to return to Japanese time when they returned
+# to Japanese rule was right before 1970, ... per the current tz database
+# rule, the information doesn't warrant creation of a new timezone for Bonin
+# Islands itself and is thus as an anecdotal note for interest purpose only.
+# ... [The abovementioned link] described some special timekeeping phenomenon
+# regarding Marcus island, another remote island currently owned by Japanese
+# in the same administrative unit as Bonin Islands. Many reports claim that
+# the American coastal guard on the American quarter of the island use its own
+# coastal guard time, and most sources describe the time as UTC+11, being two
+# hours faster than JST used by some Japanese personnel on the island. Some
+# sites describe it as same as Wake Island/Guam time although it would be
+# incorrect to be same as Guam. And then in a few Japanese governmental
+# report from 1980s (from National Institute of Information and Communications
+# Technology) regarding the construction of VLBI facility on the Marcus
+# Island, it claimed that there are three time standards being used on the
+# island at the time which include not just JST (UTC+9) or [US]CG time
+# (UTC+11) but also a JMSDF time (UTC+10) (Japan Maritime Self-Defense
+# Force). Unfortunately there are no other sources that mentioned such time
+# and there are also no information on things like how the time was used.
+
+
# Fiji
# Howse writes (p 153) that in 1879 the British governor of Fiji
diff --git a/backzone b/backzone
index 380c49200cd7..2a54e6cee352 100644
--- a/backzone
+++ b/backzone
@@ -38,7 +38,7 @@
# commentary and rules associated with the entry.
#
# As explained in the zic man page, the zone columns are:
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Ethiopia
# From Paul Eggert (2014-07-31):
diff --git a/checktab.awk b/checktab.awk
index 393ab19f0bd8..ec145b5adf95 100644
--- a/checktab.awk
+++ b/checktab.awk
@@ -63,12 +63,19 @@ BEGIN {
coordinates = $2
tz = $3
comments = $4
- if (cc < cc0) {
+
+ # Don't complain about a special case for Crimea in zone.tab.
+ # FIXME: zone.tab should be removed, since it is obsolete.
+ # Or at least put just "XX" in its country-code column.
+ if (cc < cc0 \
+ && !(zone_table == "zone.tab" \
+ && tz0 == "Europe/Simferopol")) {
printf "%s:%d: country code '%s' is out of order\n", \
zone_table, zone_NR, cc >>"/dev/stderr"
status = 1
}
cc0 = cc
+ tz0 = tz
tztab[tz] = 1
tz2comments[tz] = comments
tz2NR[tz] = zone_NR
diff --git a/europe b/europe
index b735a48d7414..5dc03976dbf5 100644
--- a/europe
+++ b/europe
@@ -122,7 +122,7 @@
# position is 51° 28' 30" N, 0° 18' 45" W. The longitude should
# be within about ±2". The Ordnance Survey grid reference is TQ172761.
#
-# [This yields GMTOFF = -0:01:15 for London LMT in the 18th century.]
+# [This yields STDOFF = -0:01:15 for London LMT in the 18th century.]
# From Paul Eggert (1993-11-18):
#
@@ -500,7 +500,7 @@ Rule GB-Eire 1990 1995 - Oct Sun>=22 1:00u 0 GMT
#
# Use Europe/London for Jersey, Guernsey, and the Isle of Man.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/London -0:01:15 - LMT 1847 Dec 1 0:00s
0:00 GB-Eire %s 1968 Oct 27
1:00 - BST 1971 Oct 31 2:00u
@@ -538,7 +538,7 @@ Rule Eire 1981 1989 - Oct Sun>=23 1:00u -1:00 -
Rule Eire 1990 1995 - Oct Sun>=22 1:00u -1:00 -
Rule Eire 1996 max - Oct lastSun 1:00u -1:00 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2
-0:25:21 - DMT 1916 May 21 2:00s
-0:25:21 1:00 IST 1916 Oct 1 2:00s
@@ -737,7 +737,7 @@ Rule Russia 1996 2010 - Oct lastSun 2:00s 0 -
# These are for backward compatibility with older versions.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone WET 0:00 EU WE%sT
Zone CET 1:00 C-Eur CE%sT
Zone MET 1:00 C-Eur ME%sT
@@ -797,14 +797,14 @@ Rule Albania 1982 only - Oct 3 0:00 0 -
Rule Albania 1983 only - Apr 18 0:00 1:00 S
Rule Albania 1983 only - Oct 1 0:00 0 -
Rule Albania 1984 only - Apr 1 0:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Tirane 1:19:20 - LMT 1914
1:00 - CET 1940 Jun 16
1:00 Albania CE%sT 1984 Jul
1:00 EU CE%sT
# Andorra
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Andorra 0:06:04 - LMT 1901
0:00 - WET 1946 Sep 30
1:00 - CET 1985 Mar 31 2:00
@@ -830,7 +830,7 @@ Rule Austria 1947 only - Apr 6 2:00s 1:00 S
Rule Austria 1948 only - Apr 18 2:00s 1:00 S
Rule Austria 1980 only - Apr 6 0:00 1:00 S
Rule Austria 1980 only - Sep 28 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Vienna 1:05:21 - LMT 1893 Apr
1:00 C-Eur CE%sT 1920
1:00 Austria CE%sT 1940 Apr 1 2:00s
@@ -862,7 +862,7 @@ Zone Europe/Vienna 1:05:21 - LMT 1893 Apr
# Belarussian government decided against changing to winter time....
# http://eng.belta.by/all_news/society/Belarus-decides-against-adjusting-time-in-Russias-wake_i_76335.html
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Minsk 1:50:16 - LMT 1880
1:50 - MMT 1924 May 2 # Minsk Mean Time
2:00 - EET 1930 Jun 21
@@ -926,7 +926,7 @@ Rule Belgium 1945 only - Apr 2 2:00s 1:00 S
Rule Belgium 1945 only - Sep 16 2:00s 0 -
Rule Belgium 1946 only - May 19 2:00s 1:00 S
Rule Belgium 1946 only - Oct 7 2:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Brussels 0:17:30 - LMT 1880
0:17:30 - BMT 1892 May 1 12:00 # Brussels MT
0:00 - WET 1914 Nov 8
@@ -953,7 +953,7 @@ Rule Bulg 1979 only - Oct 1 1:00 0 -
Rule Bulg 1980 1982 - Apr Sat>=1 23:00 1:00 S
Rule Bulg 1980 only - Sep 29 1:00 0 -
Rule Bulg 1981 only - Sep 27 2:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Sofia 1:33:16 - LMT 1880
1:56:56 - IMT 1894 Nov 30 # Istanbul MT?
2:00 - EET 1942 Nov 2 3:00
@@ -986,7 +986,7 @@ Rule Czech 1946 only - May 6 2:00s 1:00 S
Rule Czech 1946 1949 - Oct Sun>=1 2:00s 0 -
Rule Czech 1947 1948 - Apr Sun>=15 2:00s 1:00 S
Rule Czech 1949 only - Apr 9 2:00s 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Prague 0:57:44 - LMT 1850
0:57:44 - PMT 1891 Oct # Prague Mean Time
1:00 C-Eur CE%sT 1945 May 9
@@ -1048,7 +1048,7 @@ Rule Denmark 1947 only - Aug 10 2:00s 0 -
Rule Denmark 1948 only - May 9 2:00s 1:00 S
Rule Denmark 1948 only - Aug 8 2:00s 0 -
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Copenhagen 0:50:20 - LMT 1890
0:50:20 - CMT 1894 Jan 1 # Copenhagen MT
1:00 Denmark CE%sT 1942 Nov 2 2:00s
@@ -1145,7 +1145,7 @@ Rule Thule 1993 2006 - Oct lastSun 2:00 0 S
Rule Thule 2007 max - Mar Sun>=8 2:00 1:00 D
Rule Thule 2007 max - Nov Sun>=1 2:00 0 S
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02 1996
@@ -1211,7 +1211,7 @@ Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base
# From Urmet Jänes (2002-03-28):
# The legislative reference is Government decree No. 84 on 2002-02-21.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Tallinn 1:39:00 - LMT 1880
1:39:00 - TMT 1918 Feb # Tallinn Mean Time
1:00 C-Eur CE%sT 1919 Jul
@@ -1274,7 +1274,7 @@ Rule Finland 1981 1982 - Sep lastSun 3:00 0 -
# Milne says Helsinki (Helsingfors) time was 1:39:49.2 (official document);
# round to nearest.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Helsinki 1:39:49 - LMT 1878 May 31
1:39:49 - HMT 1921 May # Helsinki Mean Time
2:00 Finland EE%sT 1983
@@ -1364,7 +1364,7 @@ Rule France 1976 only - Sep 26 1:00 0 -
# but Howse quotes the actual French legislation as saying 0:09:21.
# Go with Howse. Howse writes that the time in France was officially based
# on PMT-0:09:21 until 1978-08-09, when the time base finally switched to UTC.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15 0:01
0:09:21 - PMT 1911 Mar 11 0:01 # Paris MT
# Shanks & Pottenger give 1940 Jun 14 0:00; go with Excoffier and Le Corre.
@@ -1412,7 +1412,7 @@ Rule SovietZone 1945 only - May 24 2:00 2:00 M # Midsummer
Rule SovietZone 1945 only - Sep 24 3:00 1:00 S
Rule SovietZone 1945 only - Nov 18 2:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Berlin 0:53:28 - LMT 1893 Apr
1:00 C-Eur CE%sT 1945 May 24 2:00
1:00 SovietZone CE%sT 1946
@@ -1440,7 +1440,7 @@ Link Europe/Zurich Europe/Busingen
# is in Europe. Our reference location Tbilisi is in the Asian part.
# Gibraltar
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Gibraltar -0:21:24 - LMT 1880 Aug 2 0:00s
0:00 GB-Eire %s 1957 Apr 14 2:00
1:00 - CET 1982
@@ -1471,7 +1471,7 @@ Rule Greece 1979 only - Apr 1 9:00 1:00 S
Rule Greece 1979 only - Sep 29 2:00 0 -
Rule Greece 1980 only - Apr 1 0:00 1:00 S
Rule Greece 1980 only - Sep 28 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Athens 1:34:52 - LMT 1895 Sep 14
1:34:52 - AMT 1916 Jul 28 0:01 # Athens MT
2:00 Greece EE%sT 1941 Apr 30
@@ -1508,7 +1508,7 @@ Rule Hungary 1956 only - Sep lastSun 0:00 0 -
Rule Hungary 1957 only - Jun Sun>=1 1:00 1:00 S
Rule Hungary 1957 only - Sep lastSun 3:00 0 -
Rule Hungary 1980 only - Apr 6 1:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
1:00 C-Eur CE%sT 1918
1:00 Hungary CE%sT 1941 Apr 8
@@ -1569,7 +1569,7 @@ Rule Iceland 1947 1967 - Apr Sun>=1 1:00s 1:00 -
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 NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Reykjavik -1:28 - LMT 1908
-1:00 Iceland -01/+00 1968 Apr 7 1:00s
0:00 - GMT
@@ -1583,6 +1583,25 @@ Zone Atlantic/Reykjavik -1:28 - LMT 1908
# But these events all occurred before the 1970 cutoff,
# so record only the time in Rome.
#
+# From Stephen Trainor (2019-05-06):
+# http://www.ac-ilsestante.it/MERIDIANE/ora_legale/ORA_LEGALE_ESTIVA_IN_ITALIA.htm
+# ... the [1866] law went into effect on 12 December 1866, rather than
+# the date of the decree (22 Sep 1866)
+# https://web.archive.org/web/20070824155341/http://www.iav.it/planetario/didastro/didastro/english.htm
+# ... "In Italy in 1866 there were 6 railway times (Torino, Verona, Firenze,
+# Roma, Napoli, Palermo). On that year it was decided to unify them, adopting
+# the average time of Rome (even if this city was not yet part of the
+# kingdom). On the 12th December 1866, on the starting of the winter time
+# table, it took effect in the railways, the post office and the telegraph,
+# not only for the internal service but also for the public.... Milano set
+# the public watches on the Rome time on the same day (12th December 1866),
+# Torino and Bologna on the 1st January 1867, Venezia the 1st May 1880 and the
+# last city was Cagliari in 1886."
+#
+# From Luigi Rosa (2019-05-07):
+# this is the scan of the decree:
+# http://www.radiomarconi.com/marconi/filopanti/1866c.jpg
+#
# From Michael Deckers (2016-10-24):
# http://www.ac-ilsestante.it/MERIDIANE/ora_legale quotes a law of 1893-08-10
# ... [translated as] "The preceding dispositions will enter into
@@ -1593,6 +1612,7 @@ Zone Atlantic/Reykjavik -1:28 - LMT 1908
# The authoritative source for time in Italy is the national metrological
# institute, which has a summary page of historical DST data at
# http://www.inrim.it/res/tf/ora_legale_i.shtml
+# [now at http://oldsite.inrim.it/res/tf/ora_legale_i.shtml as of 2017]
# (2016-10-24):
# http://www.renzobaldini.it/le-ore-legali-in-italia/
# has still different data for 1944. It divides Italy in two, as
@@ -1656,8 +1676,8 @@ Rule Italy 1976 only - May 30 0:00s 1:00 S
Rule Italy 1977 1979 - May Sun>=22 0:00s 1:00 S
Rule Italy 1978 only - Oct 1 0:00s 0 -
Rule Italy 1979 only - Sep 30 0:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
-Zone Europe/Rome 0:49:56 - LMT 1866 Sep 22
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
+Zone Europe/Rome 0:49:56 - LMT 1866 Dec 12
0:49:56 - RMT 1893 Oct 31 23:49:56 # Rome Mean
1:00 Italy CE%sT 1943 Sep 10
1:00 C-Eur CE%sT 1944 Jun 4
@@ -1732,7 +1752,7 @@ Rule Latvia 1989 1996 - Sep lastSun 2:00s 0 -
# Byalokoz 1919 says Latvia was 1:36:34.
# Go with Byalokoz.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Riga 1:36:34 - LMT 1880
1:36:34 - RMT 1918 Apr 15 2:00 # Riga MT
1:36:34 1:00 LST 1918 Sep 16 3:00 # Latvian ST
@@ -1802,7 +1822,7 @@ Link Europe/Zurich Europe/Vaduz
# http://www.lrvk.lt/nut/11/n1749.htm
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Vilnius 1:41:16 - LMT 1880
1:24:00 - WMT 1917 # Warsaw Mean Time
1:35:36 - KMT 1919 Oct 10 # Kaunas Mean Time
@@ -1846,7 +1866,7 @@ Rule Lux 1926 only - Apr 17 23:00 1:00 S
Rule Lux 1927 only - Apr 9 23:00 1:00 S
Rule Lux 1928 only - Apr 14 23:00 1:00 S
Rule Lux 1929 only - Apr 20 23:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Luxembourg 0:24:36 - LMT 1904 Jun
1:00 Lux CE%sT 1918 Nov 25
0:00 Lux WE%sT 1929 Oct 6 2:00s
@@ -1871,7 +1891,7 @@ Rule Malta 1974 only - Sep 16 0:00s 0 -
Rule Malta 1975 1979 - Apr Sun>=15 2:00 1:00 S
Rule Malta 1975 1980 - Sep Sun>=15 2:00 0 -
Rule Malta 1980 only - Mar 31 2:00 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Malta 0:58:04 - LMT 1893 Nov 2 0:00s # Valletta
1:00 Italy CE%sT 1973 Mar 31
1:00 Malta CE%sT 1981
@@ -1940,7 +1960,7 @@ Zone Europe/Malta 0:58:04 - LMT 1893 Nov 2 0:00s # Valletta
Rule Moldova 1997 max - Mar lastSun 2:00 1:00 S
Rule Moldova 1997 max - Oct lastSun 3:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Chisinau 1:55:20 - LMT 1880
1:55 - CMT 1918 Feb 15 # Chisinau MT
1:44:24 - BMT 1931 Jul 24 # Bucharest MT
@@ -1956,7 +1976,7 @@ Zone Europe/Chisinau 1:55:20 - LMT 1880
# Monaco
# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
# more precise 0:09:21.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
0:09:21 - PMT 1911 Mar 11 # Paris Mean Time
0:00 France WE%sT 1945 Sep 16 3:00
@@ -2031,8 +2051,8 @@ Rule Neth 1945 only - Apr 2 2:00s 1:00 S
Rule Neth 1945 only - Sep 16 2:00s 0 -
#
# Amsterdam Mean Time was +00:19:32.13, but the .13 is omitted
-# below because the current format requires GMTOFF to be an integer.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# below because the current format requires STDOFF to be an integer.
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Amsterdam 0:19:32 - LMT 1835
0:19:32 Neth %s 1937 Jul 1
0:20 Neth +0020/+0120 1940 May 16 0:00
@@ -2051,7 +2071,7 @@ Rule Norway 1945 only - Oct 1 2:00s 0 -
Rule Norway 1959 1964 - Mar Sun>=15 2:00s 1:00 S
Rule Norway 1959 1965 - Sep Sun>=15 2:00s 0 -
Rule Norway 1965 only - Apr 25 2:00s 1:00 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Oslo 0:43:00 - LMT 1895 Jan 1
1:00 Norway CE%sT 1940 Aug 10 23:00
1:00 C-Eur CE%sT 1945 Apr 2 2:00
@@ -2142,7 +2162,7 @@ Rule Poland 1959 1961 - Oct Sun>=1 1:00s 0 -
Rule Poland 1960 only - Apr 3 1:00s 1:00 S
Rule Poland 1961 1964 - May lastSun 1:00s 1:00 S
Rule Poland 1962 1964 - Sep lastSun 1:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Warsaw 1:24:00 - LMT 1880
1:24:00 - WMT 1915 Aug 5 # Warsaw Mean Time
1:00 C-Eur CE%sT 1918 Sep 16 3:00
@@ -2247,7 +2267,7 @@ Rule Port 1980 only - Mar lastSun 0:00s 1:00 S
Rule Port 1981 1982 - Mar lastSun 1:00s 1:00 S
Rule Port 1983 only - Mar lastSun 2:00s 1:00 S
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Lisbon -0:36:45 - LMT 1884
-0:36:45 - LMT 1912 Jan 1 0:00u # Lisbon MT
0:00 Port WE%sT 1966 Apr 3 2:00
@@ -2306,7 +2326,7 @@ Rule Romania 1980 only - Apr 5 23:00 1:00 S
Rule Romania 1980 only - Sep lastSun 1:00 0 -
Rule Romania 1991 1993 - Mar lastSun 0:00s 1:00 S
Rule Romania 1991 1993 - Sep lastSun 0:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
1:44:24 - BMT 1931 Jul 24 # Bucharest MT
2:00 Romania EE%sT 1981 Mar 29 2:00s
@@ -3345,7 +3365,7 @@ Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2
# See Europe/Rome.
# Serbia
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Belgrade 1:22:00 - LMT 1884
1:00 - CET 1941 Apr 18 23:00
1:00 C-Eur CE%sT 1945
@@ -3451,7 +3471,7 @@ Rule SpainAfrica 1976 only - Aug 1 0:00 0 -
Rule SpainAfrica 1977 only - Sep 28 0:00 0 -
Rule SpainAfrica 1978 only - Jun 1 0:00 1:00 S
Rule SpainAfrica 1978 only - Aug 4 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Madrid -0:14:44 - LMT 1900 Dec 31 23:45:16
0:00 Spain WE%sT 1940 Mar 16 23:00
1:00 Spain CE%sT 1979
@@ -3519,7 +3539,7 @@ Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C.
#
# Source: The newspaper "Dagens Nyheter", 1916-10-01, page 7 upper left.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
1:00:14 - SET 1900 Jan 1 # Swedish Time
1:00 - CET 1916 May 14 23:00
@@ -3622,7 +3642,7 @@ Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S
Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
0:29:46 - BMT 1894 Jun # Bern Mean Time
1:00 Swiss CE%sT 1981
@@ -3772,7 +3792,7 @@ Rule Turkey 1986 1995 - Sep lastSun 1:00s 0 -
Rule Turkey 1994 only - Mar 20 1:00s 1:00 S
Rule Turkey 1995 2006 - Mar lastSun 1:00s 1:00 S
Rule Turkey 1996 2006 - Oct lastSun 1:00s 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Istanbul 1:55:52 - LMT 1880
1:56:56 - IMT 1910 Oct # Istanbul Mean Time?
2:00 Turkey EE%sT 1978 Oct 15
@@ -3869,16 +3889,8 @@ Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
# controversial, and some day "Kyiv" may become substantially more popular in
# English; in the meantime, stick with the traditional English "Kiev" as that
# means less disruption for our users.
-#
-# Anyway, none of the common English-language spellings (Kiev, Kyiv, Kieff,
-# Kijeff, Kijev, Kiyef, Kiyeff) do justice to the common pronunciation in
-# Ukrainian, namely [ˈkɪjiu̯] (IPA). This pronunciation has nothing like an
-# English "v" or "f", and instead trails off with what an English-speaker
-# would call a demure "oo" sound, and it would would be better anglicized as
-# "Kuiyu". Here's a sound file, if you would like to do as the Kuiyuvians do:
-# https://commons.wikimedia.org/wiki/File:Uk-Київ.ogg
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# This represents most of Ukraine. See above for the spelling of "Kiev".
Zone Europe/Kiev 2:02:04 - LMT 1880
2:02:04 - KMT 1924 May 2 # Kiev Mean Time
diff --git a/factory b/factory
index d4e76599cd8c..9f5fc33023a3 100644
--- a/factory
+++ b/factory
@@ -8,5 +8,5 @@
# time zone abbreviation "-00", indicating that the actual time zone
# is unknown.
-# Zone NAME GMTOFF RULES FORMAT
+# Zone NAME STDOFF RULES FORMAT
Zone Factory 0 - -00
diff --git a/northamerica b/northamerica
index eee8de0fbc7a..9e3577bca697 100644
--- a/northamerica
+++ b/northamerica
@@ -93,10 +93,33 @@
# was the first nationwide legal time standard, and apparently
# time was just called "Standard Time" or "Daylight Saving Time".
-# From Arthur David Olson:
-# US Daylight Saving Time ended on the last Sunday of *October* in 1974.
-# See, for example, the front page of the Saturday, 1974-10-26
-# and Sunday, 1974-10-27 editions of the Washington Post.
+# From Paul Eggert (2019-06-04):
+# Here is the legal basis for the US federal rules.
+# * Public Law 65-106 (1918-03-19) implemented standard and daylight saving
+# time for the first time across the US, springing forward on March's last
+# Sunday and falling back on October's last Sunday.
+# https://www.loc.gov/law/help/statutes-at-large/65th-congress/session-2/c65s2ch24.pdf
+# * Public Law 66-40 (1919-08-20) repealed DST on October 1919's last Sunday.
+# https://www.loc.gov/law/help/statutes-at-large/66th-congress/session-1/c66s1ch51.pdf
+# * Public Law 77-403 (1942-01-20) started wartime DST on 1942-02-09.
+# https://www.loc.gov/law/help/statutes-at-large/77th-congress/session-2/c77s2ch7.pdf
+# * Public Law 79-187 (1945-09-25) ended wartime DST on 1945-09-30.
+# https://www.loc.gov/law/help/statutes-at-large/79th-congress/session-1/c79s1ch388.pdf
+# * Public Law 89-387 (1966-04-13) reinstituted a national standard for DST,
+# from April's last Sunday to October's last Sunday, effective 1967.
+# https://www.govinfo.gov/content/pkg/STATUTE-80/pdf/STATUTE-80-Pg107.pdf
+# * Public Law 93-182 (1973-12-15) moved the 1974 spring-forward to 01-06.
+# https://www.govinfo.gov/content/pkg/STATUTE-87/pdf/STATUTE-87-Pg707.pdf
+# * Public Law 93-434 (1974-10-05) moved the 1975 spring-forward to
+# February's last Sunday.
+# https://www.govinfo.gov/content/pkg/STATUTE-88/pdf/STATUTE-88-Pg1209.pdf
+# * Public Law 99-359 (1986-07-08) moved the spring-forward to April's first
+# Sunday.
+# https://www.govinfo.gov/content/pkg/STATUTE-100/pdf/STATUTE-100-Pg764.pdf
+# * Public Law 109-58 (2005-08-08), effective 2007, moved the spring-forward
+# to March's second Sunday and the fall-back to November's first Sunday.
+# https://www.govinfo.gov/content/pkg/PLAW-109publ58/pdf/PLAW-109publ58.pdf
+# All transitions are at 02:00 local time.
# From Arthur David Olson:
# Before the Uniform Time Act of 1966 took effect in 1967, observance of
@@ -152,11 +175,11 @@ 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 lastSun 2:00 0 S
+Rule US 1945 only - Sep 30 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
-Rule US 1975 only - Feb 23 2:00 1:00 D
+Rule US 1975 only - Feb lastSun 2:00 1:00 D
Rule US 1976 1986 - Apr lastSun 2:00 1:00 D
Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D
Rule US 2007 max - Mar Sun>=8 2:00 1:00 D
@@ -173,7 +196,7 @@ Rule US 2007 max - Nov Sun>=1 2:00 0 S
# 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 NAME STDOFF RULES FORMAT [UNTIL]
Zone EST -5:00 - EST
Zone MST -7:00 - MST
Zone HST -10:00 - HST
@@ -330,7 +353,7 @@ Rule NYC 1920 only - Oct lastSun 2:00 0 S
Rule NYC 1921 1966 - Apr lastSun 2:00 1:00 D
Rule NYC 1921 1954 - Sep lastSun 2:00 0 S
Rule NYC 1955 1966 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/New_York -4:56:02 - LMT 1883 Nov 18 12:03:58
-5:00 US E%sT 1920
-5:00 NYC E%sT 1942
@@ -390,7 +413,7 @@ Rule Chicago 1921 only - Mar lastSun 2:00 1:00 D
Rule Chicago 1922 1966 - Apr lastSun 2:00 1:00 D
Rule Chicago 1922 1954 - Sep lastSun 2:00 0 S
Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24
-6:00 US C%sT 1920
-6:00 Chicago C%sT 1936 Mar 1 2:00
@@ -458,7 +481,7 @@ Rule Denver 1920 only - Oct lastSun 2:00 0 S
Rule Denver 1921 only - May 22 2:00 0 S
Rule Denver 1965 1966 - Apr lastSun 2:00 1:00 D
Rule Denver 1965 1966 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Denver -6:59:56 - LMT 1883 Nov 18 12:00:04
-7:00 US M%sT 1920
-7:00 Denver M%sT 1942
@@ -511,7 +534,7 @@ Rule CA 1949 only - Jan 1 2:00 0 S
Rule CA 1950 1966 - Apr lastSun 1:00 1:00 D
Rule CA 1950 1961 - Sep lastSun 2:00 0 S
Rule CA 1962 1966 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
-8:00 US P%sT 1946
-8:00 CA P%sT 1967
@@ -619,7 +642,7 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
# So they won't be waiting for Alaska to join them on 2019-03-10, but will
# rather change their clocks twice in seven weeks.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32
-8:57:41 - LMT 1900 Aug 20 12:00
-8:00 - PST 1942
@@ -739,7 +762,7 @@ Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
# Note that 1933-05-21 was a Sunday.
# We're left to guess the time of day when Act 163 was approved; guess noon.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
-10:30 - HST 1933 Apr 30 2:00
-10:30 1:00 HDT 1933 May 21 12:00
@@ -769,7 +792,7 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00
# Shanks says the 1944 experiment came to an end on 1944-03-17.
# Go with the Arizona State Library instead.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42
-7:00 US M%sT 1944 Jan 1 0:01
-7:00 - MST 1944 Apr 1 0:01
@@ -795,7 +818,7 @@ Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42
# quarter of Idaho county) and eastern Oregon (most of Malheur County)
# switched four weeks late in 1974.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11
-8:00 US P%sT 1923 May 13 2:00
-7:00 US M%sT 1974
@@ -867,7 +890,7 @@ Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:15:11
Rule Indianapolis 1941 only - Jun 22 2:00 1:00 D
Rule Indianapolis 1941 1954 - Sep lastSun 2:00 0 S
Rule Indianapolis 1946 1954 - Apr lastSun 2:00 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Indianapolis -5:44:38 - LMT 1883 Nov 18 12:15:22
-6:00 US C%sT 1920
-6:00 Indianapolis C%sT 1942
@@ -887,7 +910,7 @@ Rule Marengo 1951 only - Apr lastSun 2:00 1:00 D
Rule Marengo 1951 only - Sep lastSun 2:00 0 S
Rule Marengo 1954 1960 - Apr lastSun 2:00 1:00 D
Rule Marengo 1954 1960 - Sep lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Marengo -5:45:23 - LMT 1883 Nov 18 12:14:37
-6:00 US C%sT 1951
-6:00 Marengo C%sT 1961 Apr 30 2:00
@@ -911,7 +934,7 @@ Rule Vincennes 1956 1963 - Apr lastSun 2:00 1:00 D
Rule Vincennes 1960 only - Oct lastSun 2:00 0 S
Rule Vincennes 1961 only - Sep lastSun 2:00 0 S
Rule Vincennes 1962 1963 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53
-6:00 US C%sT 1946
-6:00 Vincennes C%sT 1964 Apr 26 2:00
@@ -932,7 +955,7 @@ Rule Perry 1956 1963 - Apr lastSun 2:00 1:00 D
Rule Perry 1960 only - Oct lastSun 2:00 0 S
Rule Perry 1961 only - Sep lastSun 2:00 0 S
Rule Perry 1962 1963 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 12:12:57
-6:00 US C%sT 1946
-6:00 Perry C%sT 1964 Apr 26 2:00
@@ -948,7 +971,7 @@ Rule Pike 1955 only - May 1 0:00 1:00 D
Rule Pike 1955 1960 - Sep lastSun 2:00 0 S
Rule Pike 1956 1964 - Apr lastSun 2:00 1:00 D
Rule Pike 1961 1964 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Petersburg -5:49:07 - LMT 1883 Nov 18 12:10:53
-6:00 US C%sT 1955
-6:00 Pike C%sT 1965 Apr 25 2:00
@@ -970,7 +993,7 @@ Rule Starke 1947 1954 - Sep lastSun 2:00 0 S
Rule Starke 1955 1956 - Oct lastSun 2:00 0 S
Rule Starke 1957 1958 - Sep lastSun 2:00 0 S
Rule Starke 1959 1961 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Knox -5:46:30 - LMT 1883 Nov 18 12:13:30
-6:00 US C%sT 1947
-6:00 Starke C%sT 1962 Apr 29 2:00
@@ -986,7 +1009,7 @@ Rule Pulaski 1946 1960 - Apr lastSun 2:00 1:00 D
Rule Pulaski 1946 1954 - Sep lastSun 2:00 0 S
Rule Pulaski 1955 1956 - Oct lastSun 2:00 0 S
Rule Pulaski 1957 1960 - Sep lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35
-6:00 US C%sT 1946
-6:00 Pulaski C%sT 1961 Apr 30 2:00
@@ -997,7 +1020,7 @@ Zone America/Indiana/Winamac -5:46:25 - LMT 1883 Nov 18 12:13:35
-5:00 US E%sT
#
# Switzerland County, Indiana, did not observe DST from 1973 through 2005.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:19:44
-6:00 US C%sT 1954 Apr 25 2:00
-5:00 - EST 1969
@@ -1022,7 +1045,7 @@ Rule Louisville 1941 only - Sep lastSun 2:00 0 S
Rule Louisville 1946 only - Jun 2 2:00 0 S
Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S
Rule Louisville 1956 1960 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58
-6:00 US C%sT 1921
-6:00 Louisville C%sT 1942
@@ -1128,7 +1151,7 @@ Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule Detroit 1948 only - Apr lastSun 2:00 1:00 D
Rule Detroit 1948 only - Sep lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Detroit -5:32:11 - LMT 1905
-6:00 - CST 1915 May 15 2:00
-5:00 - EST 1942
@@ -1145,7 +1168,7 @@ Rule Menominee 1946 only - Apr lastSun 2:00 1:00 D
Rule Menominee 1946 only - Sep lastSun 2:00 0 S
Rule Menominee 1966 only - Apr lastSun 2:00 1:00 D
Rule Menominee 1966 only - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
-6:00 US C%sT 1946
-6:00 Menominee C%sT 1969 Apr 27 2:00
@@ -1379,7 +1402,7 @@ Rule StJohns 2007 2011 - Mar Sun>=8 0:01 1:00 D
Rule StJohns 2007 2010 - Nov Sun>=1 0:01 0 S
#
# St John's has an apostrophe, but Posix file names can't have apostrophes.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/St_Johns -3:30:52 - LMT 1884
-3:30:52 StJohns N%sT 1918
-3:30:52 Canada N%sT 1919
@@ -1392,7 +1415,7 @@ Zone America/St_Johns -3:30:52 - LMT 1884
# most of east Labrador
# The name 'Happy Valley-Goose Bay' is too long; use 'Goose Bay'.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Goose_Bay -4:01:40 - LMT 1884 # Happy Valley-Goose Bay
-3:30:52 - NST 1918
-3:30:52 Canada N%sT 1919
@@ -1466,7 +1489,7 @@ Rule Halifax 1956 1959 - Apr lastSun 2:00 1:00 D
Rule Halifax 1956 1959 - Sep lastSun 2:00 0 S
Rule Halifax 1962 1973 - Apr lastSun 2:00 1:00 D
Rule Halifax 1962 1973 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Halifax -4:14:24 - LMT 1902 Jun 15
-4:00 Halifax A%sT 1918
-4:00 Canada A%sT 1919
@@ -1504,7 +1527,7 @@ Rule Moncton 1946 1956 - Sep lastSun 2:00 0 S
Rule Moncton 1957 1972 - Oct lastSun 2:00 0 S
Rule Moncton 1993 2006 - Apr Sun>=1 0:01 1:00 D
Rule Moncton 1993 2006 - Oct lastSun 0:01 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
-5:00 - EST 1902 Jun 15
-4:00 Canada A%sT 1933
@@ -1533,7 +1556,7 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# For lack of better info, guess this practice began around 1970, contra to
# Shanks & Pottenger who have this region observing AST/ADT.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Blanc-Sablon -3:48:28 - LMT 1884
-4:00 Canada A%sT 1970
-4:00 - AST
@@ -1701,19 +1724,10 @@ Rule Toronto 1922 1923 - May Sun>=8 2:00 1:00 D
# was meant.
Rule Toronto 1922 1926 - Sep Sun>=15 2:00 0 S
Rule Toronto 1924 1927 - May Sun>=1 2:00 1:00 D
-# The 1927-to-1939 rules can be expressed more simply as
-# Rule Toronto 1927 1937 - Sep Sun>=25 2:00 0 S
-# Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D
-# Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D
-# Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S
-# The rules below avoid use of Sun>=25
-# (which pre-2004 versions of zic cannot handle).
-Rule Toronto 1927 1932 - Sep lastSun 2:00 0 S
-Rule Toronto 1928 1931 - Apr lastSun 2:00 1:00 D
-Rule Toronto 1932 only - May 1 2:00 1:00 D
-Rule Toronto 1933 1940 - Apr lastSun 2:00 1:00 D
-Rule Toronto 1933 only - Oct 1 2:00 0 S
-Rule Toronto 1934 1939 - Sep lastSun 2:00 0 S
+Rule Toronto 1927 1937 - Sep Sun>=25 2:00 0 S
+Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D
+Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D
+Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S
Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S
Rule Toronto 1946 only - Apr lastSun 2:00 1:00 D
Rule Toronto 1947 1949 - Apr lastSun 0:00 1:00 D
@@ -1746,7 +1760,7 @@ Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S
# War,... [t]he cities agreed to implement DST during the summer
# months for the remainder of the war years.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Toronto -5:17:32 - LMT 1895
-5:00 Canada E%sT 1919
-5:00 Toronto E%sT 1942 Feb 9 2:00s
@@ -1821,7 +1835,7 @@ Rule Winn 1963 only - Sep 22 2:00 0 S
Rule Winn 1966 1986 - Apr lastSun 2:00s 1:00 D
Rule Winn 1966 2005 - Oct lastSun 2:00s 0 S
Rule Winn 1987 2005 - Apr Sun>=1 2:00s 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Winnipeg -6:28:36 - LMT 1887 Jul 16
-6:00 Winn C%sT 2006
-6:00 Canada C%sT
@@ -1843,6 +1857,13 @@ Zone America/Winnipeg -6:28:36 - LMT 1887 Jul 16
# Willett (1914-03) notes that DST "has been in operation ... in the
# City of Moose Jaw, Saskatchewan, for one year."
+# From Paul Eggert (2019-04-26):
+# Chris Pearce's book "The Great Daylight Saving Time Controversy" (2017)
+# says that Regina observed DST in 1914-1917. No dates and times,
+# unfortunately. It also says that in 1914 Saskatoon observed DST
+# from 1 June to 6 July, and that DST was also tried out in Davidson,
+# Melfort, and Prince Albert.
+
# From Paul Eggert (2006-03-22):
# Shanks & Pottenger say that since 1970 this region has mostly been as Regina.
# Some western towns (e.g. Swift Current) switched from MST/MDT to CST in 1972.
@@ -1905,7 +1926,7 @@ Rule Swift 1957 only - Oct lastSun 2:00 0 S
Rule Swift 1959 1961 - Apr lastSun 2:00 1:00 D
Rule Swift 1959 only - Oct lastSun 2:00 0 S
Rule Swift 1960 1961 - Sep lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Regina -6:58:36 - LMT 1905 Sep
-7:00 Regina M%sT 1960 Apr lastSun 2:00
-6:00 - CST
@@ -1936,7 +1957,7 @@ Rule Edm 1969 only - Apr lastSun 2:00 1:00 D
Rule Edm 1969 only - Oct lastSun 2:00 0 S
Rule Edm 1972 1986 - Apr lastSun 2:00 1:00 D
Rule Edm 1972 2006 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Edmonton -7:33:52 - LMT 1906 Sep
-7:00 Edm M%sT 1987
-7:00 Canada M%sT
@@ -2029,7 +2050,7 @@ Rule Vanc 1946 1986 - Apr lastSun 2:00 1:00 D
Rule Vanc 1946 only - Oct 13 2:00 0 S
Rule Vanc 1947 1961 - Sep lastSun 2:00 0 S
Rule Vanc 1962 2006 - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Vancouver -8:12:28 - LMT 1884
-8:00 Vanc P%sT 1987
-8:00 Canada P%sT
@@ -2100,7 +2121,7 @@ Zone America/Creston -7:46:04 - LMT 1884
# varying the manner of reckoning standard time.
#
# * Yukon Territory Commissioner's Order 1966-20 Interpretation Ordinance
-# http://? - no online source found
+# [no online source found]
#
# * Standard Time and Time Zones in Canada; Thomson, Malcolm M.; JRASC,
# Vol. 64, pp.129-162; June 1970; SAO/NASA Astrophysics Data System (ADS)
@@ -2133,7 +2154,7 @@ Zone America/Creston -7:46:04 - LMT 1884
# to say eight hours behind Greenwich Time.
#
# * O.I.C. 1980/02 INTERPRETATION ACT
-# http://? - no online source found
+# [no online source found]
#
# * Yukon Daylight Saving Time, YOIC 1987/56
# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html
@@ -2349,7 +2370,7 @@ Rule NT_YK 1965 only - Oct lastSun 2:00 0 S
Rule NT_YK 1980 1986 - Apr lastSun 2:00 1:00 D
Rule NT_YK 1980 2006 - Oct lastSun 2:00 0 S
Rule NT_YK 1987 2006 - Apr Sun>=1 2:00 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# aka Panniqtuuq
Zone America/Pangnirtung 0 - -00 1921 # trading post est.
-4:00 NT_YK A%sT 1995 Apr Sun>=1 2:00
@@ -2496,7 +2517,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# From Paul Eggert (2001-03-03):
#
-# http://www.latimes.com/news/nation/20010303/t000018766.html
+# https://www.latimes.com/archives/la-xpm-2001-mar-03-mn-32561-story.html
# James F. Smith writes in today's LA Times
# * Sonora will continue to observe standard time.
# * Last week Mexico City's mayor Andrés Manuel López Obrador decreed that
@@ -2623,7 +2644,7 @@ Rule Mexico 2001 only - May Sun>=1 2:00 1:00 D
Rule Mexico 2001 only - Sep lastSun 2:00 0 S
Rule Mexico 2002 max - Apr Sun>=1 2:00 1:00 D
Rule Mexico 2002 max - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
# Quintana Roo; represented by Cancún
Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56
-6:00 - CST 1981 Dec 23
@@ -2816,7 +2837,7 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Nassau -5:09:30 - LMT 1912 Mar 2
-5:00 Bahamas E%sT 1976
-5:00 US E%sT
@@ -2831,7 +2852,7 @@ Rule Barb 1977 1978 - Oct Sun>=1 2:00 0 S
Rule Barb 1978 1980 - Apr Sun>=15 2:00 1:00 D
Rule Barb 1979 only - Sep 30 2:00 0 S
Rule Barb 1980 only - Sep 25 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
-3:58:29 - BMT 1932 # Bridgetown Mean Time
-4:00 Barb A%sT
@@ -2845,7 +2866,7 @@ Rule Belize 1973 only - Dec 5 0:00 1:00 CDT
Rule Belize 1974 only - Feb 9 0:00 0 CST
Rule Belize 1982 only - Dec 18 0:00 1:00 CDT
Rule Belize 1983 only - Feb 12 0:00 0 CST
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Belize -5:52:48 - LMT 1912 Apr
-6:00 Belize %s
@@ -2862,7 +2883,7 @@ Zone America/Belize -5:52:48 - LMT 1912 Apr
# Friday, the same thing will happen in Bermuda.
# http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Bermuda -4:19:18 - LMT 1930 Jan 1 2:00 # Hamilton
-4:00 - AST 1974 Apr 28 2:00
-4:00 Canada A%sT 1976
@@ -2884,7 +2905,7 @@ Rule CR 1991 1992 - Jan Sat>=15 0:00 1:00 D
Rule CR 1991 only - Jul 1 0:00 0 S
Rule CR 1992 only - Mar 15 0:00 0 S
# There are too many San Josés elsewhere, so we'll use 'Costa Rica'.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Costa_Rica -5:36:13 - LMT 1890 # San José
-5:36:13 - SJMT 1921 Jan 15 # San José Mean Time
-6:00 CR C%sT
@@ -3090,7 +3111,7 @@ Rule Cuba 2012 only - Apr 1 0:00s 1:00 D
Rule Cuba 2012 max - Nov Sun>=1 0:00s 0 S
Rule Cuba 2013 max - Mar Sun>=8 0:00s 1:00 D
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Havana -5:29:28 - LMT 1890
-5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT
-5:00 Cuba C%sT
@@ -3125,7 +3146,7 @@ Rule DR 1969 1973 - Oct lastSun 0:00 0:30 -0430
Rule DR 1970 only - Feb 21 0:00 0 EST
Rule DR 1971 only - Jan 20 0:00 0 EST
Rule DR 1972 1974 - Jan 21 0:00 0 EST
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Santo_Domingo -4:39:36 - LMT 1890
-4:40 - SDMT 1933 Apr 1 12:00 # S. Dom. MT
-5:00 DR %s 1974 Oct 27
@@ -3140,7 +3161,7 @@ Rule Salv 1987 1988 - May Sun>=1 0:00 1:00 D
Rule Salv 1987 1988 - Sep lastSun 0:00 0 S
# There are too many San Salvadors elsewhere, so use America/El_Salvador
# instead of America/San_Salvador.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
-6:00 Salv C%sT
@@ -3173,7 +3194,7 @@ Rule Guat 1991 only - Mar 23 0:00 1:00 D
Rule Guat 1991 only - Sep 7 0:00 0 S
Rule Guat 2006 only - Apr 30 0:00 1:00 D
Rule Guat 2006 only - Oct 1 0:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Guatemala -6:02:04 - LMT 1918 Oct 5
-6:00 Guat C%sT
@@ -3259,7 +3280,7 @@ Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D
Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S
Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D
Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Port-au-Prince -4:49:20 - LMT 1890
-4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT
-5:00 Haiti E%sT
@@ -3298,7 +3319,7 @@ Rule Hond 1987 1988 - May Sun>=1 0:00 1:00 D
Rule Hond 1987 1988 - Sep lastSun 0:00 0 S
Rule Hond 2006 only - May Sun>=1 0:00 1:00 D
Rule Hond 2006 only - Aug Mon>=1 0:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Tegucigalpa -5:48:52 - LMT 1921 Apr
-6:00 Hond C%sT
#
@@ -3319,7 +3340,7 @@ Zone America/Tegucigalpa -5:48:52 - LMT 1921 Apr
# Neita L. The politician in all of us. Jamaica Observer 2014-09-20
# http://www.jamaicaobserver.com/columns/The-politician-in-all-of-us_17573647
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1974
@@ -3327,7 +3348,7 @@ Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston
-5:00 - EST
# Martinique
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
-4:04:20 - FFMT 1911 May # Fort-de-France MT
-4:00 - AST 1980 Apr 6
@@ -3391,7 +3412,7 @@ Rule Nic 2005 only - Apr 10 0:00 1:00 D
Rule Nic 2005 only - Oct Sun>=1 0:00 0 S
Rule Nic 2006 only - Apr 30 2:00 1:00 D
Rule Nic 2006 only - Oct Sun>=1 1:00 0 S
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Managua -5:45:08 - LMT 1890
-5:45:12 - MMT 1934 Jun 23 # Managua Mean Time?
-6:00 - CST 1973 May
@@ -3403,7 +3424,7 @@ Zone America/Managua -5:45:08 - LMT 1890
-6:00 Nic C%sT
# Panama
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Panama -5:18:08 - LMT 1890
-5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
-5:00 - EST
@@ -3411,7 +3432,7 @@ Link America/Panama America/Cayman
# Puerto Rico
# There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
-4:00 - AST 1942 May 3
-4:00 US A%sT 1946
@@ -3423,7 +3444,7 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
# St Pierre and Miquelon
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
-4:00 - AST 1980 May
-3:00 - -03 1987
@@ -3469,7 +3490,7 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
# by March 2018 for TCI. Magnetic Media. 2017-08-25.
# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Grand_Turk -4:44:32 - LMT 1890
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
-5:00 - EST 1979
diff --git a/pacificnew b/pacificnew
index 0e6cf079234f..8403219f6236 100644
--- a/pacificnew
+++ b/pacificnew
@@ -21,7 +21,7 @@
## Rule Twilite XXXX max uspres Nov Sun>=7 2:00 0 S
## Rule Twilite XXXX max nonpres Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
+# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL]
## Zone America/Los_Angeles-PET -8:00 US P%sT XXXX
## -8:00 Twilite P%sT
diff --git a/southamerica b/southamerica
index b66cb88b135e..397a2cc3acd4 100644
--- a/southamerica
+++ b/southamerica
@@ -396,7 +396,7 @@ Rule Arg 2008 only - Oct Sun>=15 0:00 1:00 -
# plus is that this silences a zic complaint that there's no POSIX TZ
# setting for timestamps past 2038.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
#
# Buenos Aires (BA), Capital Federal (CF),
Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31
@@ -577,7 +577,7 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
Link America/Curacao America/Aruba
# Bolivia
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890
-4:32:36 - CMT 1931 Oct 15 # Calamarca MT
-4:32:36 1:00 BST 1932 Mar 21 # Bolivia ST
@@ -920,14 +920,13 @@ Rule Brazil 2012 only - Feb Sun>=22 0:00 0 -
# removed Tocantins.
Rule Brazil 2013 2014 - Feb Sun>=15 0:00 0 -
Rule Brazil 2015 only - Feb Sun>=22 0:00 0 -
-Rule Brazil 2016 2022 - Feb Sun>=15 0:00 0 -
+Rule Brazil 2016 2019 - Feb Sun>=15 0:00 0 -
# From Steffen Thorsen (2017-12-18):
# According to many media sources, next year's DST start in Brazil will move to
-# the first Sunday of November, and it will stay like that for the years after.
+# the first Sunday of November
# ... https://www.timeanddate.com/news/time/brazil-delays-dst-2018.html
# From Steffen Thorsen (2017-12-20):
# http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2017/decreto/D9242.htm
-#
# From Fábio Gomes (2018-10-04):
# The Brazilian president just announced a new change on this year DST.
# It was scheduled to start on November 4th and it was changed to November 18th.
@@ -935,22 +934,21 @@ Rule Brazil 2016 2022 - Feb Sun>=15 0:00 0 -
# The Brazilian government just announced that the change in DST was
# canceled.... Maybe the president Michel Temer also woke up one hour
# earlier today. :)
-Rule Brazil 2018 max - Nov Sun>=1 0:00 1:00 -
-Rule Brazil 2023 only - Feb Sun>=22 0:00 0 -
-Rule Brazil 2024 2025 - Feb Sun>=15 0:00 0 -
-Rule Brazil 2026 only - Feb Sun>=22 0:00 0 -
-Rule Brazil 2027 2033 - Feb Sun>=15 0:00 0 -
-Rule Brazil 2034 only - Feb Sun>=22 0:00 0 -
-Rule Brazil 2035 2036 - Feb Sun>=15 0:00 0 -
-Rule Brazil 2037 only - Feb Sun>=22 0:00 0 -
-# From Arthur David Olson (2008-09-29):
-# The next is wrong in some years but is better than nothing.
-Rule Brazil 2038 max - Feb Sun>=15 0:00 0 -
-
-# The latest ruleset listed above says that the following states observe DST:
+Rule Brazil 2018 only - Nov Sun>=1 0:00 1:00 -
+# The last ruleset listed above says that the following states observed DST:
# DF, ES, GO, MG, MS, MT, PR, RJ, RS, SC, SP.
+#
+# From Steffen Thorsen (2019-04-05):
+# According to multiple sources the Brazilian president wants to get rid of DST.
+# https://gmconline.com.br/noticias/politica/bolsonaro-horario-de-verao-deve-acabar-este-ano
+# https://g1.globo.com/economia/noticia/2019/04/05/governo-anuncia-fim-do-horario-de-verao.ghtml
+# From Marcus Diniz (2019-04-25):
+# Brazil no longer has DST changes - decree signed today
+# https://g1.globo.com/politica/noticia/2019/04/25/bolsonaro-assina-decreto-que-acaba-com-o-horario-de-verao.ghtml
+# From Daniel Soares de Oliveira (2019-04-26):
+# http://www.planalto.gov.br/ccivil_03/_Ato2019-2022/2019/Decreto/D9772.htm
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
#
# Fernando de Noronha (administratively part of PE)
Zone America/Noronha -2:09:40 - LMT 1914
@@ -1258,6 +1256,8 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# https://twitter.com/MinEnergia/status/1029009354001973248
# "We will keep the new time policy unchanged for at least the next 4 years."
# So we extend the new rules on Saturdays at 24:00 mainland time indefinitely.
+# From Juan Correa (2019-02-04):
+# http://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Chile 1927 1931 - Sep 1 0:00 1:00 -
@@ -1298,7 +1298,7 @@ Rule Chile 2019 max - Apr Sun>=2 3:00u 0 -
Rule Chile 2019 max - Sep Sun>=2 4:00u 1:00 -
# IATA SSIM anomalies: (1992-02) says 1992-03-14;
# (1996-09) says 1998-03-08. Ignore these.
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Santiago -4:42:46 - LMT 1890
-4:42:46 - SMT 1910 Jan 10 # Santiago Mean Time
-5:00 - -05 1916 Jul 1
@@ -1347,7 +1347,7 @@ Zone Pacific/Easter -7:17:28 - LMT 1890
# Palmer has followed Chile. Prior to that, before the Falklands War,
# Palmer used to be supplied from Argentina.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Palmer 0 - -00 1965
-4:00 Arg -04/-03 1969 Oct 5
-3:00 Arg -03/-02 1982 May
@@ -1362,7 +1362,7 @@ Zone Antarctica/Palmer 0 - -00 1965
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule CO 1992 only - May 3 0:00 1:00 -
Rule CO 1993 only - Apr 4 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
-4:56:16 - BMT 1914 Nov 23 # Bogotá Mean Time
-5:00 CO -05/-04
@@ -1387,7 +1387,7 @@ Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
# Netherlands as Kingdom Islands. This won't affect their time zones
# though, as far as we know.
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad
-4:30 - -0430 1965
-4:00 - AST
@@ -1423,7 +1423,7 @@ Link America/Curacao America/Kralendijk # Caribbean Netherlands
Rule Ecuador 1992 only - Nov 28 0:00 1:00 -
Rule Ecuador 1993 only - Feb 5 0:00 0 -
#
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Guayaquil -5:19:20 - LMT 1890
-5:14:00 - QMT 1931 # Quito Mean Time
-5:00 Ecuador -05/-04
@@ -1526,7 +1526,7 @@ Rule Falk 1985 2000 - Sep Sun>=9 0:00 1:00 -
Rule Falk 1986 2000 - Apr Sun>=16 0:00 0 -
Rule Falk 2001 2010 - Apr Sun>=15 2:00 0 -
Rule Falk 2001 2010 - Sep Sun>=1 2:00 1:00 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/Stanley -3:51:24 - LMT 1890
-3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time
-4:00 Falk -04/-03 1983 May
@@ -1535,13 +1535,13 @@ Zone Atlantic/Stanley -3:51:24 - LMT 1890
-3:00 - -03
# French Guiana
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Cayenne -3:29:20 - LMT 1911 Jul
-4:00 - -04 1967 Oct
-3:00 - -03
# Guyana
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown
-3:45 - -0345 1975 Jul 31
-3:00 - -03 1991
@@ -1635,7 +1635,7 @@ Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
# http://www.presidencia.gov.py/archivos/documentos/DECRETO1264_ey9r8zai.pdf
Rule Para 2013 max - Mar Sun>=22 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Asuncion -3:50:40 - LMT 1890
-3:50:40 - AMT 1931 Oct 10 # Asunción Mean Time
-4:00 - -04 1972 Oct
@@ -1664,13 +1664,13 @@ Rule Peru 1990 only - Apr 1 0:00 0 -
# IATA is ambiguous for 1993/1995; go with Shanks & Pottenger.
Rule Peru 1994 only - Jan 1 0:00 1:00 -
Rule Peru 1994 only - Apr 1 0:00 0 -
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Lima -5:08:12 - LMT 1890
-5:08:36 - LMT 1908 Jul 28 # Lima Mean Time?
-5:00 Peru -05/-04
# South Georgia
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
-2:00 - -02
@@ -1678,7 +1678,7 @@ Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken
# uninhabited; scientific personnel have wintered
# Suriname
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Paramaribo -3:40:40 - LMT 1911
-3:40:52 - PMT 1935 # Paramaribo Mean Time
-3:40:36 - PMT 1945 Oct # The capital moved?
@@ -1686,7 +1686,7 @@ Zone America/Paramaribo -3:40:40 - LMT 1911
-3:00 - -03
# Trinidad and Tobago
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
-4:00 - AST
@@ -1957,7 +1957,7 @@ Zone America/Montevideo -3:44:51 - LMT 1908 Jun 10
# ... published in the official Gazette [2016-04-18], here:
# http://historico.tsj.gob.ve/gaceta_ext/abril/1842016/E-1842016-4551.pdf
-# Zone NAME GMTOFF RULES FORMAT [UNTIL]
+# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Caracas -4:27:44 - LMT 1890
-4:27:40 - CMT 1912 Feb 12 # Caracas Mean Time?
-4:30 - -0430 1965 Jan 1 0:00
diff --git a/systemv b/systemv
index 24c8f64197a8..a8c037cd2c86 100644
--- a/systemv
+++ b/systemv
@@ -23,7 +23,7 @@ Rule SystemV 1975 only - Oct lastSun 2:00 0 S
Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D
Rule SystemV 1976 max - Oct lastSun 2:00 0 S
-# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
+# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL]
## Zone SystemV/AST4ADT -4:00 SystemV A%sT
## Zone SystemV/EST5EDT -5:00 SystemV E%sT
## Zone SystemV/CST6CDT -6:00 SystemV C%sT
diff --git a/theory.html b/theory.html
index e37302234daf..e0b32335867d 100644
--- a/theory.html
+++ b/theory.html
@@ -88,7 +88,7 @@ href="https://en.wikipedia.org/wiki/POSIX">POSIX, an international
standard for UNIX-like systems.
As of this writing, the current edition of POSIX is: The Open
+href="https://pubs.opengroup.org/onlinepubs/9699919799/"> The Open
Group Base Specifications Issue 7, IEEE Std 1003.1-2017, 2018
Edition.
Because the database's scope encompasses real-world changes to civil
@@ -186,7 +186,7 @@ in decreasing order of importance:
href="https://en.wikipedia.org/wiki/ASCII">ASCII letters,
'.
', '-
' and '_
'.
Do not use digits, as that might create an ambiguity with POSIX
+ href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">POSIX
TZ
strings.
A file name component must not exceed 14 characters or start with
'-
'.
@@ -301,7 +301,7 @@ in decreasing order of importance:
Guidelines have evolved with time, and names following old versions of
-this guideline might not follow the current version. When guidelines
+these guidelines might not follow the current version. When guidelines
have changed, old names continue to be supported. Guideline changes
have included the following:
@@ -330,7 +330,7 @@ and the file 'northamerica
' defines the legacy names
-Older versions of this guideline said that
+Older versions of these guidelines said that
there should typically be at least one name for each ISO
@@ -379,8 +379,8 @@ in decreasing order of importance:
special meaning to the
UNIX shell
and cause commands like
- 'set
- `date`
'
+ 'set
+ `date`
'
to have unexpected effects.
Previous editions of this guideline required upper-case letters, but the
Congressman who introduced
@@ -955,7 +955,7 @@ an older zic
.
In POSIX, there is no tamper-proof way for a process to learn the
- system's best idea of local wall clock.
+ system's best idea of local (wall clock) time.
This is important for applications that an administrator wants
used only at certain times – without regard to whether the
user has fiddled the
@@ -1052,14 +1052,14 @@ an older zic
.
A function tzsetwall
has been added to arrange for the
- system's best approximation to local wall clock time to be delivered
+ system's best approximation to local (wall clock) time to be delivered
by subsequent calls to localtime
.
- Source code for portable applications that "must" run on local wall
- clock time should call tzsetwall
;
+ Source code for portable applications that "must" run on local
+ time should call tzsetwall
;
if such code is moved to "old" systems that do not
provide tzsetwall
, you will not be able to generate an
executable program.
- (These functions also arrange for local wall clock time to
+ (These functions also arrange for local time to
be used if tzset
is called – directly or
indirectly – and there is no TZ
environment
variable; portable applications should not, however, rely on this
@@ -1354,11 +1354,11 @@ Sources for time on other planets:
Michael Allison and Robert Schmunk,
"Technical
Notes on Mars Solar Time as Adopted by the Mars24 Sunclock"
- (2015-06-30).
+ (2018-12-13).
Jia-Rui Chong,
- "Workdays
+ "Workdays
Fit for a Martian", Los Angeles Times
(2004-01-14), pp A1, A20–A21.
diff --git a/version b/version
index 149d790c3d12..8d4a43baf40b 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2019a
+2019b
diff --git a/zishrink.awk b/zishrink.awk
index 8876b68a095c..4e187ac5814b 100644
--- a/zishrink.awk
+++ b/zishrink.awk
@@ -20,7 +20,8 @@ function record_hash(n, name)
# Return a shortened rule name representing NAME,
# and record this relationship to the hash table.
-function gen_rule_name(name, n)
+function gen_rule_name(name, \
+ n)
{
# Use a simple memonic: the first two letters.
n = substr(name, 1, 2)
@@ -29,7 +30,8 @@ function gen_rule_name(name, n)
return n
}
-function prehash_rule_names(name)
+function prehash_rule_names( \
+ name)
{
# Rule names are not part of the tzdb API, so substitute shorter
# ones. Shortening them consistently from one release to the next
@@ -148,20 +150,21 @@ function prehash_rule_names(name)
}
}
-# Process an input line and save it for later output.
+# Process the input line LINE and save it for later output.
-function process_input_line(line, field, end, i, n, startdef)
+function process_input_line(line, \
+ field, end, i, n, startdef, \
+ linkline, ruleline, zoneline)
{
# Remove comments, normalize spaces, and append a space to each line.
sub(/#.*/, "", line)
line = line " "
gsub(/[\t ]+/, " ", line)
- # Abbreviate keywords. Do not abbreviate "Link" to just "L",
- # as pre-2017c zic erroneously diagnoses "Li" as ambiguous.
- sub(/^Link /, "Li ", line)
- sub(/^Rule /, "R ", line)
- sub(/^Zone /, "Z ", line)
+ # Abbreviate keywords and determine line type.
+ linkline = sub(/^Link /, "L ", line)
+ ruleline = sub(/^Rule /, "R ", line)
+ zoneline = sub(/^Zone /, "Z ", line)
# SystemV rules are not needed.
if (line ~ /^R SystemV /) return
@@ -169,7 +172,7 @@ function process_input_line(line, field, end, i, n, startdef)
# Replace FooAsia rules with the same rules without "Asia", as they
# are duplicates.
if (match(line, /[^ ]Asia /)) {
- if (line ~ /^R /) return
+ if (ruleline) return
line = substr(line, 1, RSTART) substr(line, RSTART + 5)
}
@@ -179,21 +182,19 @@ function process_input_line(line, field, end, i, n, startdef)
while (match(line, /:0[^:]/))
line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2)
- # Abbreviate weekday names. Do not abbreviate "Sun" and "Sat", as
- # pre-2017c zic erroneously diagnoses "Su" and "Sa" as ambiguous.
+ # Abbreviate weekday names.
while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) {
end = RSTART + RLENGTH
line = substr(line, 1, end - 4) substr(line, end - 1)
}
- while (match(line, / (last)?(Tue|Thu)[ <>]/)) {
+ while (match(line, / (last)?(Sun|Tue|Thu|Sat)[ <>]/)) {
end = RSTART + RLENGTH
line = substr(line, 1, end - 3) substr(line, end - 1)
}
- # Abbreviate "max", "only" and month names.
- # Do not abbreviate "min", as pre-2017c zic erroneously diagnoses "mi"
- # as ambiguous.
+ # Abbreviate "max", "min", "only" and month names.
gsub(/ max /, " ma ", line)
+ gsub(/ min /, " mi ", line)
gsub(/ only /, " o ", line)
gsub(/ Jan /, " Ja ", line)
gsub(/ Feb /, " F ", line)
@@ -221,7 +222,7 @@ function process_input_line(line, field, end, i, n, startdef)
n = split(line, field)
# Abbreviate rule names.
- i = field[1] == "Z" ? 4 : field[1] == "Li" ? 0 : 2
+ i = zoneline ? 4 : linkline ? 0 : 2
if (i && field[i] ~ /^[^-+0-9]/) {
if (!rule[field[i]])
rule[field[i]] = gen_rule_name(field[i])
@@ -231,11 +232,11 @@ function process_input_line(line, field, end, i, n, startdef)
# If this zone supersedes an earlier one, delete the earlier one
# from the saved output lines.
startdef = ""
- if (field[1] == "Z")
+ if (zoneline)
zonename = startdef = field[2]
- else if (field[1] == "Li")
+ else if (linkline)
zonename = startdef = field[3]
- else if (field[1] == "R")
+ else if (ruleline)
zonename = ""
if (startdef) {
i = zonedef[startdef]
@@ -254,7 +255,8 @@ function process_input_line(line, field, end, i, n, startdef)
output_line[nout++] = line
}
-function output_saved_lines(i)
+function output_saved_lines( \
+ i)
{
for (i = 0; i < nout; i++)
if (output_line[i])
diff --git a/zone.tab b/zone.tab
index 27e1dee61efc..408fcb2051d7 100644
--- a/zone.tab
+++ b/zone.tab
@@ -332,7 +332,10 @@ RO +4426+02606 Europe/Bucharest
RS +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
-RU +4457+03406 Europe/Simferopol MSK+00 - Crimea
+# The obsolescent zone.tab format cannot represent Europe/Simferopol well.
+# Put it in RU section and list as UA. See "territorial claims" above.
+# Programs should use zone1970.tab instead; see above.
+UA +4457+03406 Europe/Simferopol MSK+00 - Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
diff --git a/zone1970.tab b/zone1970.tab
index 9a8e4244fa30..822ffa1f1af0 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -289,7 +289,8 @@ RO +4426+02606 Europe/Bucharest
RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
-RU +4457+03406 Europe/Simferopol MSK+00 - Crimea
+# Mention RU and UA alphabetically. See "territorial claims" above.
+RU,UA +4457+03406 Europe/Simferopol MSK+00 - Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
diff --git a/zoneinfo2tdf.pl b/zoneinfo2tdf.pl
index c8c5591afee0..e07b00cae79f 100755
--- a/zoneinfo2tdf.pl
+++ b/zoneinfo2tdf.pl
@@ -28,7 +28,7 @@ while (<>) {
$contZone = '';
if ($type eq 'zone') {
- # Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
+ # Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL]
my $nfields = @fields;
$nfields >= 5 or warn "bad zone line";
if ($nfields > 6) {
From 2eb2d45aab9f36faed7e87a9588d1c4067e3eb42 Mon Sep 17 00:00:00 2001
From: Philip Paeps
Date: Thu, 12 Sep 2019 00:15:06 +0000
Subject: [PATCH 2/3] Import tzdata 2019c
---
NEWS | 75 ++++++++++++++++++
asia | 23 ++++--
australasia | 42 ++++++----
backzone | 34 +++++---
europe | 186 ++++++++++++++++++++++++++++++-------------
leap-seconds.list | 8 +-
leapseconds | 41 +++++-----
leapseconds.awk | 195 ++++++++++++++++++++++++++++++++++++----------
northamerica | 132 ++++++++++++++++++++++---------
southamerica | 11 ++-
theory.html | 77 ++++++++++++++++--
version | 2 +-
12 files changed, 633 insertions(+), 193 deletions(-)
diff --git a/NEWS b/NEWS
index 8b05f8f13084..af0f06f7192d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,80 @@
News for the tz database
+Release 2019c - 2019-09-11 08:59:48 -0700
+
+ Briefly:
+ Fiji observes DST from 2019-11-10 to 2020-01-12.
+ Norfolk Island starts observing Australian-style DST.
+
+ Changes to future timestamps
+
+ Fiji's next DST transitions will be 2019-11-10 and 2020-01-12
+ instead of 2019-11-03 and 2020-01-19. (Thanks to Raymond Kumar.)
+ Adjust future guesses accordingly.
+
+ Norfolk Island will observe Australian-style DST starting in
+ spring 2019. The first transition is on 2019-10-06. (Thanks to
+ Kyle Czech and Michael Deckers.)
+
+ Changes to past timestamps
+
+ Many corrections to time in Turkey from 1940 through 1985.
+ (Thanks to Oya Vulaş via Alois Treindl, and to Kıvanç Yazan.)
+
+ The Norfolk Island 1975-03-02 transition was at 02:00 standard
+ time, not 02:00 DST. (Thanks to Michael Deckers.)
+
+ South Korea observed DST from 1948 through 1951. Although this
+ info was supposed to appear in release 2014j, a typo inadvertently
+ suppressed the change. (Thanks to Alois Treindl.)
+
+ Detroit observed DST in 1967 and 1968 following the US DST rules,
+ except that its 1967 DST began on June 14 at 00:01. (Thanks to
+ Alois Treindl for pointing out that the old data entries were
+ probably wrong.)
+
+ Fix several errors in pre-1970 transitions in Perry County, IN.
+ (Thanks to Alois Triendl for pointing out the 1967/9 errors.)
+
+ Edmonton did not observe DST in 1967 or 1969. In 1946 Vancouver
+ ended DST on 09-29 not 10-13, and Vienna ended DST on 10-07 not
+ 10-06. In 1945 Königsberg (now Kaliningrad) switched from +01/+02
+ to +02/+03 on 04-10 not 01-01, and its +02/+03 is abbreviated
+ EET/EEST, not CET/CEST. (Thanks to Alois Triendl.) In 1946
+ Königsberg switched to +03 on 04-07 not 01-01.
+
+ In 1946 Louisville switched from CST to CDT on 04-28 at 00:01, not
+ 01-01 at 00:00. (Thanks to Alois Treindl and Michael Deckers.)
+ Also, it switched from CST to CDT on 1950-04-30, not 1947-04-27.
+
+ The 1892-05-01 transition in Brussels was at 00:17:30, not at noon.
+ (Thanks to Michael Deckers.)
+
+ Changes to past time zone abbreviations and DST flags
+
+ Hong Kong Winter Time, observed from 1941-10-01 to 1941-12-25,
+ is now flagged as DST and is abbreviated HKWT not HKT.
+
+ Changes to code
+
+ leapseconds.awk now relies only on its input data, rather than
+ also relying on its comments. (Inspired by code from Dennis
+ Ferguson and Chris Woodbury.)
+
+ The code now defends against CRLFs in leap-seconds.list.
+ (Thanks to Brian Inglis and Chris Woodbury.)
+
+ Changes to documentation and commentary
+
+ theory.html discusses leap seconds. (Thanks to Steve Summit.)
+
+ Nashville's newspapers dueled about the time of day in the 1950s.
+ (Thanks to John Seigenthaler.)
+
+ Liechtenstein observed Swiss DST in 1941/2.
+ (Thanks to Alois Treindl.)
+
+
Release 2019b - 2019-07-01 00:09:53 -0700
Briefly:
diff --git a/asia b/asia
index 348e2b5df5ec..b29c896e5fde 100644
--- a/asia
+++ b/asia
@@ -8,7 +8,7 @@
# tz@iana.org for general use in the future). For more, please see
# the file CONTRIBUTING in the tz distribution.
-# From Paul Eggert (2018-06-19):
+# From Paul Eggert (2019-07-11):
#
# Unless otherwise specified, the source for data through 1990 is:
# Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
@@ -47,13 +47,13 @@
# 7:00 WIB west Indonesia (Waktu Indonesia Barat)
# 8:00 WITA central Indonesia (Waktu Indonesia Tengah)
# 8:00 CST China
-# 8:00 PST PDT* Philippine Standard Time
+# 8:00 HKT HKST Hong Kong (HKWT* for Winter Time in late 1941)
+# 8:00 PST PDT* Philippines
# 8:30 KST KDT Korea when at +0830
# 9:00 WIT east Indonesia (Waktu Indonesia Timur)
# 9:00 JST JDT Japan
# 9:00 KST KDT Korea when at +09
-# 9:30 ACST Australian Central Standard Time
-# *I invented the abbreviation PDT; see "Philippines" below.
+# *I invented the abbreviations HKWT and PDT; see below.
# Otherwise, these tables typically use numeric abbreviations like +03
# and +0330 for integer hour and minute UT offsets. Although earlier
# editions invented alphabetic time zone abbreviations for every
@@ -653,6 +653,15 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
# * 1941-09-30, Hong Kong Daily Press, Winter Time Warning.
# https://i.imgur.com/dge4kFJ.png
+# From Paul Eggert (2019-07-11):
+# "Hong Kong winter time" is considered to be daylight saving.
+# "Hong Kong had adopted daylight saving on June 15 as a wartime measure,
+# clocks moving forward one hour until October 1, when they would be put back
+# by just half an hour for 'Hong Kong Winter time', so that daylight saving
+# operated year round." -- Low Z. The longest day: when wartime Hong Kong
+# introduced daylight saving. South China Morning Post. 2019-06-28.
+# https://www.scmp.com/magazines/post-magazine/short-reads/article/3016281/longest-day-when-wartime-hong-kong-introduced
+
# From P Chan (2018-12-31):
# * According to the Hong Kong Daylight-Saving Regulations, 1941, the
# 1941 spring-forward transition was at 03:00.
@@ -754,7 +763,7 @@ Rule HK 1979 only - Oct 21 3:30 0 -
Zone Asia/Hong_Kong 7:36:42 - LMT 1904 Oct 30 0:36:42
8:00 - HKT 1941 Jun 15 3:00
8:00 1:00 HKST 1941 Oct 1 4:00
- 8:30 - HKT 1941 Dec 25
+ 8:00 0:30 HKWT 1941 Dec 25
9:00 - JST 1945 Nov 18 2:00
8:00 HK HK%sT
@@ -2419,7 +2428,7 @@ Rule ROK 1987 1988 - Oct Sun>=8 3:00 0 S
Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1
8:30 - KST 1912 Jan 1
9:00 - JST 1945 Sep 8
- 9:00 - KST 1954 Mar 21
+ 9:00 ROK K%sT 1954 Mar 21
8:30 ROK K%sT 1961 Aug 10
9:00 ROK K%sT
Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1
@@ -3604,7 +3613,7 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 May 2
# and in South Vietnam in particular (after 1954):
# To 07:00 on 1911-05-01.
# To 08:00 on 1942-12-31 at 23:00.
-# To 09:00 in 1945-03-14 at 23:00.
+# To 09:00 on 1945-03-14 at 23:00.
# To 07:00 on 1945-09-02 in Vietnam.
# To 08:00 on 1947-04-01 in French-controlled Indochina.
# To 07:00 on 1955-07-01 in South Vietnam.
diff --git a/australasia b/australasia
index 0544e587509a..ac44c0482170 100644
--- a/australasia
+++ b/australasia
@@ -367,13 +367,18 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
# From Raymond Kumar (2018-07-13):
# http://www.fijitimes.com/government-approves-2018-daylight-saving/
# ... The daylight saving period will end at 3am on Sunday January 13, 2019.
-#
-# From Paul Eggert (2018-07-15):
-# For now, guess DST from 02:00 the first Sunday in November to 03:00
-# the first Sunday on or after January 13. January transitions reportedly
+
+# From Paul Eggert (2019-08-06):
+# Today Raymond Kumar reported the Government of Fiji Gazette Supplement No. 27
+# (2019-08-02) said that Fiji observes DST "commencing at 2.00 am on
+# Sunday, 10 November 2019 and ending at 3.00 am on Sunday, 12 January 2020."
+# For now, guess DST from 02:00 the second Sunday in November to 03:00
+# the first Sunday on or after January 12. January transitions reportedly
# depend on when school terms start. Although the guess is ad hoc, it matches
-# transitions since late 2014 and seems more likely to match future
-# practice than guessing no DST.
+# transitions planned this year and seems more likely to match future practice
+# than guessing no DST.
+# From Michael Deckers (2019-08-06):
+# https://www.laws.gov.fj/LawsAsMade/downloadfile/848
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Fiji 1998 1999 - Nov Sun>=1 2:00 1:00 -
@@ -384,8 +389,9 @@ Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1:00 -
Rule Fiji 2011 only - Mar Sun>=1 3:00 0 -
Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
-Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 -
-Rule Fiji 2015 max - Jan Sun>=13 3:00 0 -
+Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 -
+Rule Fiji 2015 max - Jan Sun>=12 3:00 0 -
+Rule Fiji 2019 max - Nov Sun>=8 2:00 1:00 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji +12/+13
@@ -604,10 +610,11 @@ Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - +1112 1951
- 11:30 - +1130 1974 Oct 27 02:00
- 11:30 1:00 +1230 1975 Mar 2 02:00
- 11:30 - +1130 2015 Oct 4 02:00
- 11:00 - +11
+ 11:30 - +1130 1974 Oct 27 02:00s
+ 11:30 1:00 +1230 1975 Mar 2 02:00s
+ 11:30 - +1130 2015 Oct 4 02:00s
+ 11:00 - +11 2019 Jul
+ 11:00 AN +11/+12
# Palau (Belau)
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -1875,12 +1882,21 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# ... at 12.30 am (by legal time in New South Wales) on 4 October 2015.
# http://www.norfolkisland.gov.nf/nia/MediaRelease/Media%20Release%20Norfolk%20Island%20Standard%20Time%20Change.pdf
-# From Paul Eggert (2015-09-23):
+# From Paul Eggert (2019-08-28):
# Transitions before 2015 are from timeanddate.com, which consulted
# the Norfolk Island Museum and the Australian Bureau of Meteorology's
# Norfolk Island station, and found no record of Norfolk observing DST
# other than in 1974/5. See:
# https://www.timeanddate.com/time/australia/norfolk-island.html
+# However, disagree with timeanddate about the 1975-03-02 transition;
+# timeanddate has 02:00 but 02:00s corresponds to what the NSW law said
+# (thanks to Michael Deckers).
+
+# Norfolk started observing Australian DST in spring 2019.
+# From Kyle Czech (2019-08-13):
+# https://www.legislation.gov.au/Details/F2018L01702
+# From Michael Deckers (2019-08-14):
+# https://www.legislation.gov.au/Details/F2019C00010
# Palau
# See commentary for Micronesia.
diff --git a/backzone b/backzone
index 2a54e6cee352..3ccadd139240 100644
--- a/backzone
+++ b/backzone
@@ -507,19 +507,35 @@ Zone Asia/Muscat 3:54:24 - LMT 1920
#Zone Asia/Panaji [not enough info to complete]
# Cambodia
-# From Paul Eggert (2014-10-11):
-# See Asia/Ho_Chi_Minh for the source for most of this data. Also, guess
-# (1) Cambodia reverted to UT +07 on 1945-09-02, when Vietnam did, and
-# (2) they also reverted to +07 on 1953-11-09, the date of independence.
-# These guesses are probably wrong but they're better than guessing no
-# transitions there.
+
+# From an adoptive daughter of the late Cambodian ruler Prince Sihanouk,
+# via Alois Treindl (2019-08-08):
+#
+# King Sihanouk said that, during the Japanese occupation, starting with
+# what historians refer to as "le coup de force du 9 mars 1945", Cambodia,
+# like the entire French Indochina, used Tokyo time zone. After Japan
+# surrendered, 2 September 1945, Cambodia fell under French rule again and
+# adopted Hanoi time zone again.
+#
+# However, on 7 January 1946, Sihanouk and Tioulong managed to obtain a
+# status of "internal autonomy" from the government of Charles de Gaulle.
+# Although many fields remained under the administration of the French
+# (customs, taxes, justice, defence, foreign affairs, etc.), the Cambodian
+# administration was responsible for religious matters and traditional
+# celebrations, which included our calendar and time. The time zone was GMT
+# + 7 and _no_ DST was applied.
+#
+# After Sihanouk and Tioulong achieved full independence, on 9 November 1953,
+# GMT + 7 was maintained.
+
+# From Paul Eggert (2019-08-26):
+# See Asia/Ho_Chi_Minh for the source for most of rest of this data.
+
Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jul 1
7:06:30 - PLMT 1911 May 1
7:00 - +07 1942 Dec 31 23:00
8:00 - +08 1945 Mar 14 23:00
9:00 - +09 1945 Sep 2
- 7:00 - +07 1947 Apr 1
- 8:00 - +08 1953 Nov 9
7:00 - +07
# Israel
@@ -646,7 +662,7 @@ Zone Europe/Tiraspol 1:58:32 - LMT 1880
# Liechtenstein
Zone Europe/Vaduz 0:38:04 - LMT 1894 Jun
- 1:00 - CET 1981
+ 1:00 Swiss CE%sT 1981
1:00 EU CE%sT
# Croatia
diff --git a/europe b/europe
index 5dc03976dbf5..361b396c026d 100644
--- a/europe
+++ b/europe
@@ -821,11 +821,16 @@ Zone Europe/Andorra 0:06:04 - LMT 1901
# Shanks & Pottenger give 02:00, the BEV 00:00. Go with the BEV,
# and guess 02:00 for 1945-04-12.
+# From Alois Triendl (2019-07-22):
+# In 1946 the end of DST was on Monday, 7 October 1946, at 3:00 am.
+# Shanks had this right. Source: Die Weltpresse, 5. Oktober 1946, page 5.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Austria 1920 only - Apr 5 2:00s 1:00 S
Rule Austria 1920 only - Sep 13 2:00s 0 -
Rule Austria 1946 only - Apr 14 2:00s 1:00 S
-Rule Austria 1946 1948 - Oct Sun>=1 2:00s 0 -
+Rule Austria 1946 only - Oct 7 2:00s 0 -
+Rule Austria 1947 1948 - Oct Sun>=1 2:00s 0 -
Rule Austria 1947 only - Apr 6 2:00s 1:00 S
Rule Austria 1948 only - Apr 18 2:00s 1:00 S
Rule Austria 1980 only - Apr 6 0:00 1:00 S
@@ -875,15 +880,35 @@ Zone Europe/Minsk 1:50:16 - LMT 1880
# Belgium
#
-# From Paul Eggert (1997-07-02):
+# From Michael Deckers (2019-08-25):
+# The exposition in the web page
+# https://www.bestor.be/wiki/index.php/Voyager_dans_le_temps._L%E2%80%99introduction_de_la_norme_de_Greenwich_en_Belgique
+# gives several contemporary sources from which one can conclude that
+# the switch in Europe/Brussels on 1892-05-01 was from 00:17:30 to 00:00:00.
+#
+# From Paul Eggert (2019-08-28):
+# This quote helps explain the late-1914 situation:
+# In early November 1914, the Germans imposed the time zone used in central
+# Europe and forced the inhabitants to set their watches and public clocks
+# sixty minutes ahead. Many were reluctant to accept "German time" and
+# continued to use "Belgian time" among themselves. Reflecting the spirit of
+# resistance that arose in the population, a song made fun of this change....
+# The song ended:
+# Putting your clock forward
+# Will but hasten the happy hour
+# When we kick out the Boches!
+# See: Pluvinage G. Brussels on German time. Cahiers Bruxellois -
+# Brusselse Cahiers. 2014;XLVI(1E):15-38.
+# https://www.cairn.info/revue-cahiers-bruxellois-2014-1E-page-15.htm
+#
+# Entries from 1914 through 1917 are taken from "De tijd in België"
+# .
# Entries from 1918 through 1991 are taken from:
# Annuaire de L'Observatoire Royal de Belgique,
# Avenue Circulaire, 3, B-1180 BRUXELLES, CLVIIe année, 1991
# (Imprimerie HAYEZ, s.p.r.l., Rue Fin, 4, 1080 BRUXELLES, MCMXC),
# pp 8-9.
-# LMT before 1892 was 0:17:30, according to the official journal of Belgium:
-# Moniteur Belge, Samedi 30 Avril 1892, N.121.
-# Thanks to Pascal Delmoitie for these references.
+# Thanks to Pascal Delmoitie for the 1918/1991 references.
# The 1918 rules are listed for completeness; they apply to unoccupied Belgium.
# Assume Brussels switched to WET in 1918 when the armistice took effect.
#
@@ -928,7 +953,7 @@ Rule Belgium 1946 only - May 19 2:00s 1:00 S
Rule Belgium 1946 only - Oct 7 2:00s 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Brussels 0:17:30 - LMT 1880
- 0:17:30 - BMT 1892 May 1 12:00 # Brussels MT
+ 0:17:30 - BMT 1892 May 1 00:17:30
0:00 - WET 1914 Nov 8
1:00 - CET 1916 May 1 0:00
1:00 C-Eur CE%sT 1918 Nov 11 11:00u
@@ -1627,6 +1652,13 @@ Zone Atlantic/Reykjavik -1:28 - LMT 1908
# advanced to sixty minutes later starting at hour two on 1944-04-02; ...
# Starting at hour three on the date 1944-09-17 standard time will be resumed.
#
+# From Alois Triendl (2019-07-02):
+# I spent 6 Euros to buy two archive copies of Il Messaggero, a Roman paper,
+# for 1 and 2 April 1944. The edition of 2 April has this note: "Tonight at 2
+# am, put forward the clock by one hour. Remember that in the night between
+# today and Monday the 'ora legale' will come in force again." That makes it
+# clear that in Rome the change was on Monday, 3 April 1944 at 2 am.
+#
# From Paul Eggert (2016-10-27):
# Go with INRiM for DST rules, except as corrected by Inglis for 1944
# for the Kingdom of Italy. This is consistent with Renzo Baldini.
@@ -1774,15 +1806,10 @@ Zone Europe/Riga 1:36:34 - LMT 1880
# From Paul Eggert (2013-09-09):
# Shanks & Pottenger say Vaduz is like Zurich.
-# From Alois Treindl (2013-09-18):
-# http://www.eliechtensteinensia.li/LIJ/1978/1938-1978/1941.pdf
-# ... confirms on p. 6 that Liechtenstein followed Switzerland in 1941 and 1942.
-# I ... translate only the last two paragraphs:
-# ... during second world war, in the years 1941 and 1942, Liechtenstein
-# introduced daylight saving time, adapting to Switzerland. From 1943 on
-# central European time was in force throughout the year.
-# From a report of the duke's government to the high council,
-# regarding the introduction of a time law, of 31 May 1977.
+# From Alois Treindl (2019-07-04):
+# I was able to access the online archive of the Vaduz paper Vaterland ...
+# I could confirm from the paper that Liechtenstein did in fact follow
+# the same DST in 1941 and 1942 as Switzerland did.
Link Europe/Zurich Europe/Vaduz
@@ -2490,6 +2517,12 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
# Europe/Kaliningrad covers...
# 39 RU-KGD Kaliningrad Oblast
+# From Paul Eggert (2019-07-25):
+# Although Shanks lists 1945-01-01 as the date for transition from
+# +01/+02 to +02/+03, more likely this is a placeholder. Guess that
+# the transition occurred at 1945-04-10 00:00, which is about when
+# Königsberg surrendered to Soviet troops. (Thanks to Alois Triendl.)
+
# From Paul Eggert (2016-03-18):
# The 1989 transition is from USSR act No. 227 (1989-03-14).
@@ -2506,8 +2539,8 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 Oct
# Moscow on 1991-11-03, switched to Moscow-1 on 1992-01-19.
Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr
- 1:00 C-Eur CE%sT 1945
- 2:00 Poland CE%sT 1946
+ 1:00 C-Eur CE%sT 1945 Apr 10
+ 2:00 Poland EE%sT 1946 Apr 7
3:00 Russia MSK/MSD 1989 Mar 26 2:00s
2:00 Russia EE%sT 2011 Mar 27 2:00s
3:00 - +03 2014 Oct 26 2:00s
@@ -3650,20 +3683,75 @@ Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.
# Turkey
+# From Alois Treindl (2019-08-12):
+# http://www.astrolojidergisi.com/yazsaati.htm has researched the time zone
+# history of Turkey, based on newspaper archives and official documents.
+# From Paul Eggert (2019-08-28):
+# That source (Oya Vulaş, "Türkiye'de Yaz Saati Uygulamaları")
+# is used for 1940/1972, where it seems more reliable than our other
+# sources.
+
+# From Kıvanç Yazan (2019-08-12):
+# http://www.resmigazete.gov.tr/arsiv/14539.pdf#page=24
+# 1973-06-03 01:00 -> 02:00, 1973-11-04 02:00 -> 01:00
+#
+# http://www.resmigazete.gov.tr/arsiv/14829.pdf#page=1
+# 1974-03-31 02:00 -> 03:00, 1974-11-03 02:00 -> 01:00
+#
+# http://www.resmigazete.gov.tr/arsiv/15161.pdf#page=1
+# 1975-03-22 02:00 -> 03:00, 1975-11-02 02:00 -> 01:00
+#
+# http://www.resmigazete.gov.tr/arsiv/15535_1.pdf#page=1
+# 1976-03-21 02:00 -> 03:00, 1976-10-31 02:00 -> 01:00
+#
+# http://www.resmigazete.gov.tr/arsiv/15778.pdf#page=5
+# 1977-04-03 02:00 -> 03:00, 1977-10-16 02:00 -> 01:00,
+# 1978-04-02 02:00 -> 03:00 (not applied, see below)
+# 1978-10-15 02:00 -> 01:00 (not applied, see below)
+# 1979-04-01 02:00 -> 03:00 (not applied, see below)
+# 1979-10-14 02:00 -> 01:00 (not applied, see below)
+#
+# http://www.resmigazete.gov.tr/arsiv/16245.pdf#page=17
+# This cancels the previous decision, and repeats it only for 1978.
+# 1978-04-02 02:00 -> 03:00, 1978-10-15 02:00 -> 01:00
+# (not applied due to standard TZ change below)
+#
+# http://www.resmigazete.gov.tr/arsiv/16331.pdf#page=3
+# This decision changes the default longitude for Turkish time zone from 30
+# degrees East to 45 degrees East. This means a standard TZ change, from +2
+# to +3. This is published & applied on 1978-06-29. At that time, Turkey was
+# already on summer time (already on 45E). Hence, this new law just meant an
+# "continuous summer time". Note that this was reversed in a few years.
+#
+# http://www.resmigazete.gov.tr/arsiv/18119_1.pdf#page=1
+# 1983-07-31 02:00 -> 03:00 (note that this jumps TZ to +4)
+# 1983-10-02 02:00 -> 01:00 (back to +3)
+#
+# http://www.resmigazete.gov.tr/arsiv/18561.pdf (page 1 and 34)
+# At this time, Turkey is still on +3 with no spring-forward on early
+# 1984. This decision is published on 10/31/1984. Page 1 declares
+# the decision of reverting the "default longitude change". So the
+# standard time should go back to +3 (30E). And page 34 explains when
+# that will happen: 1984-11-01 02:00 -> 01:00. You can think of this
+# as "end of continuous summer time, change of standard time zone".
+#
+# http://www.resmigazete.gov.tr/arsiv/18713.pdf#page=1
+# 1985-04-20 01:00 -> 02:00, 1985-09-28 02:00 -> 01:00
+
# From Kıvanç Yazan (2016-09-25):
# 1) For 1986-2006, DST started at 01:00 local and ended at 02:00 local, with
# no exceptions.
# 2) 1994's lastSun was overridden with Mar 20 ...
# Here are official papers:
-# http://www.resmigazete.gov.tr/arsiv/19032.pdf - page 2 for 1986
-# http://www.resmigazete.gov.tr/arsiv/19400.pdf - page 4 for 1987
-# http://www.resmigazete.gov.tr/arsiv/19752.pdf - page 15 for 1988
-# http://www.resmigazete.gov.tr/arsiv/20102.pdf - page 6 for 1989
-# http://www.resmigazete.gov.tr/arsiv/20464.pdf - page 1 for 1990 - 1992
-# http://www.resmigazete.gov.tr/arsiv/21531.pdf - page 15 for 1993 - 1995
-# http://www.resmigazete.gov.tr/arsiv/21879.pdf - page 1 for overriding 1994
-# http://www.resmigazete.gov.tr/arsiv/22588.pdf - page 1 for 1996, 1997
-# http://www.resmigazete.gov.tr/arsiv/23286.pdf - page 10 for 1998 - 2000
+# http://www.resmigazete.gov.tr/arsiv/19032.pdf#page=2 for 1986
+# http://www.resmigazete.gov.tr/arsiv/19400.pdf#page=4 for 1987
+# http://www.resmigazete.gov.tr/arsiv/19752.pdf#page=15 for 1988
+# http://www.resmigazete.gov.tr/arsiv/20102.pdf#page=6 for 1989
+# http://www.resmigazete.gov.tr/arsiv/20464.pdf#page=1 for 1990 - 1992
+# http://www.resmigazete.gov.tr/arsiv/21531.pdf#page=15 for 1993 - 1995
+# http://www.resmigazete.gov.tr/arsiv/21879.pdf#page=1 for overriding 1994
+# http://www.resmigazete.gov.tr/arsiv/22588.pdf#page=1 for 1996, 1997
+# http://www.resmigazete.gov.tr/arsiv/23286.pdf#page=10 for 1998 - 2000
# http://www.resmigazete.gov.tr/eskiler/2001/03/20010324.htm#2 - for 2001
# http://www.resmigazete.gov.tr/eskiler/2002/03/20020316.htm#2 - for 2002-2006
# From Paul Eggert (2016-09-25):
@@ -3747,46 +3835,36 @@ Rule Turkey 1922 only - Oct 8 0:00 0 -
Rule Turkey 1924 only - May 13 0:00 1:00 S
Rule Turkey 1924 1925 - Oct 1 0:00 0 -
Rule Turkey 1925 only - May 1 0:00 1:00 S
-Rule Turkey 1940 only - Jun 30 0:00 1:00 S
-Rule Turkey 1940 only - Oct 5 0:00 0 -
+Rule Turkey 1940 only - Jul 1 0:00 1:00 S
+Rule Turkey 1940 only - Oct 6 0:00 0 -
Rule Turkey 1940 only - Dec 1 0:00 1:00 S
Rule Turkey 1941 only - Sep 21 0:00 0 -
Rule Turkey 1942 only - Apr 1 0:00 1:00 S
-# Whitman omits the next two transition and gives 1945 Oct 1;
-# go with Shanks & Pottenger.
-Rule Turkey 1942 only - Nov 1 0:00 0 -
-Rule Turkey 1945 only - Apr 2 0:00 1:00 S
Rule Turkey 1945 only - Oct 8 0:00 0 -
Rule Turkey 1946 only - Jun 1 0:00 1:00 S
Rule Turkey 1946 only - Oct 1 0:00 0 -
Rule Turkey 1947 1948 - Apr Sun>=16 0:00 1:00 S
-Rule Turkey 1947 1950 - Oct Sun>=2 0:00 0 -
+Rule Turkey 1947 1951 - Oct Sun>=2 0:00 0 -
Rule Turkey 1949 only - Apr 10 0:00 1:00 S
-Rule Turkey 1950 only - Apr 19 0:00 1:00 S
+Rule Turkey 1950 only - Apr 16 0:00 1:00 S
Rule Turkey 1951 only - Apr 22 0:00 1:00 S
-Rule Turkey 1951 only - Oct 8 0:00 0 -
+# DST for 15 months; unusual but we'll let it pass.
Rule Turkey 1962 only - Jul 15 0:00 1:00 S
-Rule Turkey 1962 only - Oct 8 0:00 0 -
+Rule Turkey 1963 only - Oct 30 0:00 0 -
Rule Turkey 1964 only - May 15 0:00 1:00 S
Rule Turkey 1964 only - Oct 1 0:00 0 -
-Rule Turkey 1970 1972 - May Sun>=2 0:00 1:00 S
-Rule Turkey 1970 1972 - Oct Sun>=2 0:00 0 -
Rule Turkey 1973 only - Jun 3 1:00 1:00 S
-Rule Turkey 1973 only - Nov 4 3:00 0 -
+Rule Turkey 1973 1976 - Oct Sun>=31 2:00 0 -
Rule Turkey 1974 only - Mar 31 2:00 1:00 S
-Rule Turkey 1974 only - Nov 3 5:00 0 -
-Rule Turkey 1975 only - Mar 30 0:00 1:00 S
-Rule Turkey 1975 1976 - Oct lastSun 0:00 0 -
-Rule Turkey 1976 only - Jun 1 0:00 1:00 S
-Rule Turkey 1977 1978 - Apr Sun>=1 0:00 1:00 S
-Rule Turkey 1977 only - Oct 16 0:00 0 -
-Rule Turkey 1979 1980 - Apr Sun>=1 3:00 1:00 S
-Rule Turkey 1979 1982 - Oct Mon>=11 0:00 0 -
-Rule Turkey 1981 1982 - Mar lastSun 3:00 1:00 S
-Rule Turkey 1983 only - Jul 31 0:00 1:00 S
-Rule Turkey 1983 only - Oct 2 0:00 0 -
-Rule Turkey 1985 only - Apr 20 0:00 1:00 S
-Rule Turkey 1985 only - Sep 28 0:00 0 -
+Rule Turkey 1975 only - Mar 22 2:00 1:00 S
+Rule Turkey 1976 only - Mar 21 2:00 1:00 S
+Rule Turkey 1977 1978 - Apr Sun>=1 2:00 1:00 S
+Rule Turkey 1977 1978 - Oct Sun>=15 2:00 0 -
+Rule Turkey 1978 only - Jun 29 0:00 0 -
+Rule Turkey 1983 only - Jul 31 2:00 1:00 S
+Rule Turkey 1983 only - Oct 2 2:00 0 -
+Rule Turkey 1985 only - Apr 20 1:00s 1:00 S
+Rule Turkey 1985 only - Sep 28 1:00s 0 -
Rule Turkey 1986 1993 - Mar lastSun 1:00s 1:00 S
Rule Turkey 1986 1995 - Sep lastSun 1:00s 0 -
Rule Turkey 1994 only - Mar 20 1:00s 1:00 S
@@ -3795,8 +3873,8 @@ Rule Turkey 1996 2006 - Oct lastSun 1:00s 0 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Europe/Istanbul 1:55:52 - LMT 1880
1:56:56 - IMT 1910 Oct # Istanbul Mean Time?
- 2:00 Turkey EE%sT 1978 Oct 15
- 3:00 Turkey +03/+04 1985 Apr 20
+ 2:00 Turkey EE%sT 1978 Jun 29
+ 3:00 Turkey +03/+04 1984 Nov 1 2:00
2:00 Turkey EE%sT 2007
2:00 EU EE%sT 2011 Mar 27 1:00u
2:00 - EET 2011 Mar 28 1:00u
diff --git a/leap-seconds.list b/leap-seconds.list
index fd3d192ea9ff..a1bc5a782a83 100644
--- a/leap-seconds.list
+++ b/leap-seconds.list
@@ -204,10 +204,10 @@
# current -- the update time stamp, the data and the name of the file
# will not change.
#
-# Updated through IERS Bulletin C57
-# File expires on: 28 December 2019
+# Updated through IERS Bulletin C58
+# File expires on: 28 June 2020
#
-#@ 3786480000
+#@ 3802291200
#
2272060800 10 # 1 Jan 1972
2287785600 11 # 1 Jul 1972
@@ -252,4 +252,4 @@
# the hash line is also ignored in the
# computation.
#
-#h 83c68138 d3650221 07dbbbcd 11fcc859 ced1106a
+#h f28827d2 f263b6c3 ec0f19eb a3e0dbf0 97f3fa30
diff --git a/leapseconds b/leapseconds
index 886ae273e159..7808df8f894f 100644
--- a/leapseconds
+++ b/leapseconds
@@ -3,36 +3,39 @@
# This file is in the public domain.
# This file is generated automatically from the data in the public-domain
-# leap-seconds.list file, which can be copied from
+# NIST format leap-seconds.list file, which can be copied from
#
-# or
-# or .
+# or .
# For more about leap-seconds.list, please see
# The NTP Timescale and Leap Seconds
# .
-# The International Earth Rotation and Reference Systems Service
+# The rules for leap seconds are specified in Annex 1 (Time scales) of:
+# Standard-frequency and time-signal emissions.
+# International Telecommunication Union - Radiocommunication Sector
+# (ITU-R) Recommendation TF.460-6 (02/2002)
+# .
+# The International Earth Rotation and Reference Systems Service (IERS)
# periodically uses leap seconds to keep UTC to within 0.9 s of UT1
-# (which measures the true angular orientation of the earth in space)
+# (a proxy for Earth's angle in space as measured by astronomers)
# and publishes leap second data in a copyrighted file
# .
# See: Levine J. Coordinated Universal Time and the leap second.
# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995
# .
-# There were no leap seconds before 1972, because the official mechanism
-# accounting for the discrepancy between atomic time and the earth's rotation
-# did not exist. The first ("1 Jan 1972") data line in leap-seconds.list
+# There were no leap seconds before 1972, as no official mechanism
+# accounted for the discrepancy between atomic time (TAI) and the earth's
+# rotation. The first ("1 Jan 1972") data line in leap-seconds.list
# does not denote a leap second; it denotes the start of the current definition
# of UTC.
-# The correction (+ or -) is made at the given time, so lines
-# will typically look like:
-# Leap YEAR MON DAY 23:59:60 + R/S
-# or
-# Leap YEAR MON DAY 23:59:59 - R/S
-
-# If the leap second is Rolling (R) the given time is local time (unused here).
+# All leap-seconds are Stationary (S) at the given UTC time.
+# The correction (+ or -) is made at the given time, so in the unlikely
+# event of a negative leap second, a line would look like this:
+# Leap YEAR MON DAY 23:59:59 - S
+# Typical lines look like this:
+# Leap YEAR MON DAY 23:59:60 + S
Leap 1972 Jun 30 23:59:60 + S
Leap 1972 Dec 31 23:59:60 + S
Leap 1973 Dec 31 23:59:60 + S
@@ -62,8 +65,8 @@ Leap 2015 Jun 30 23:59:60 + S
Leap 2016 Dec 31 23:59:60 + S
# POSIX timestamps for the data in this file:
-#updated 1467936000
-#expires 1577491200
+#updated 1467936000 (2016-07-08 00:00:00 UTC)
+#expires 1593302400 (2020-06-28 00:00:00 UTC)
-# Updated through IERS Bulletin C57
-# File expires on: 28 December 2019
+# Updated through IERS Bulletin C58
+# File expires on: 28 June 2020
diff --git a/leapseconds.awk b/leapseconds.awk
index 242e9d64098f..1fe50120afda 100644
--- a/leapseconds.awk
+++ b/leapseconds.awk
@@ -1,43 +1,59 @@
-# Generate the 'leapseconds' file from 'leap-seconds.list'.
+# Generate zic format 'leapseconds' from NIST format 'leap-seconds.list'.
# This file is in the public domain.
+# This program uses awk arithmetic. POSIX requires awk to support
+# exact integer arithmetic only through 10**10, which means for NTP
+# timestamps this program works only to the year 2216, which is the
+# year 1900 plus 10**10 seconds. However, in practice
+# POSIX-conforming awk implementations invariably use IEEE-754 double
+# and so support exact integers through 2**53. By the year 2216,
+# POSIX will almost surely require at least 2**53 for awk, so for NTP
+# timestamps this program should be good until the year 285,428,681
+# (the year 1900 plus 2**53 seconds). By then leap seconds will be
+# long obsolete, as the Earth will likely slow down so much that
+# there will be more than 25 hours per day and so some other scheme
+# will be needed.
+
BEGIN {
print "# Allowance for leap seconds added to each time zone file."
print ""
print "# This file is in the public domain."
print ""
print "# This file is generated automatically from the data in the public-domain"
- print "# leap-seconds.list file, which can be copied from"
+ print "# NIST format leap-seconds.list file, which can be copied from"
print "# "
- print "# or "
- print "# or ."
+ print "# or ."
print "# For more about leap-seconds.list, please see"
print "# The NTP Timescale and Leap Seconds"
print "# ."
print ""
- print "# The International Earth Rotation and Reference Systems Service"
+ print "# The rules for leap seconds are specified in Annex 1 (Time scales) of:"
+ print "# Standard-frequency and time-signal emissions."
+ print "# International Telecommunication Union - Radiocommunication Sector"
+ print "# (ITU-R) Recommendation TF.460-6 (02/2002)"
+ print "# ."
+ print "# The International Earth Rotation and Reference Systems Service (IERS)"
print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1"
- print "# (which measures the true angular orientation of the earth in space)"
+ print "# (a proxy for Earth's angle in space as measured by astronomers)"
print "# and publishes leap second data in a copyrighted file"
print "# ."
print "# See: Levine J. Coordinated Universal Time and the leap second."
print "# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995"
print "# ."
print ""
- print "# There were no leap seconds before 1972, because the official mechanism"
- print "# accounting for the discrepancy between atomic time and the earth's rotation"
- print "# did not exist. The first (\"1 Jan 1972\") data line in leap-seconds.list"
+ print "# There were no leap seconds before 1972, as no official mechanism"
+ print "# accounted for the discrepancy between atomic time (TAI) and the earth's"
+ print "# rotation. The first (\"1 Jan 1972\") data line in leap-seconds.list"
print "# does not denote a leap second; it denotes the start of the current definition"
- print"# of UTC."
+ print "# of UTC."
print ""
- print "# The correction (+ or -) is made at the given time, so lines"
- print "# will typically look like:"
- print "# Leap YEAR MON DAY 23:59:60 + R/S"
- print "# or"
- print "# Leap YEAR MON DAY 23:59:59 - R/S"
- print ""
- print "# If the leap second is Rolling (R) the given time is local time (unused here)."
+ print "# All leap-seconds are Stationary (S) at the given UTC time."
+ print "# The correction (+ or -) is made at the given time, so in the unlikely"
+ print "# event of a negative leap second, a line would look like this:"
+ print "# Leap YEAR MON DAY 23:59:59 - S"
+ print "# Typical lines look like this:"
+ print "# Leap YEAR MON DAY 23:59:60 + S"
monthabbr[ 1] = "Jan"
monthabbr[ 2] = "Feb"
@@ -51,45 +67,34 @@ BEGIN {
monthabbr[10] = "Oct"
monthabbr[11] = "Nov"
monthabbr[12] = "Dec"
- for (i in monthabbr) {
- monthnum[monthabbr[i]] = i
- monthlen[i] = 31
- }
- monthlen[2] = 28
- monthlen[4] = monthlen[6] = monthlen[9] = monthlen[11] = 30
+
+ # Strip trailing CR, in case the input has CRLF form a la NIST.
+ RS = "\r?\n"
+
+ sstamp_init()
}
-/^#\tUpdated through/ || /^#\tFile expires on:/ {
+/^#[ \t]*[Uu]pdated through/ || /^#[ \t]*[Ff]ile expires on/ {
last_lines = last_lines $0 "\n"
}
/^#[$][ \t]/ { updated = $2 }
/^#[@][ \t]/ { expires = $2 }
-/^#/ { next }
+/^[ \t]*#/ { next }
{
NTP_timestamp = $1
TAI_minus_UTC = $2
- hash_mark = $3
- one = $4
- month = $5
- year = $6
if (old_TAI_minus_UTC) {
if (old_TAI_minus_UTC < TAI_minus_UTC) {
sign = "23:59:60\t+"
} else {
sign = "23:59:59\t-"
}
- m = monthnum[month] - 1
- if (m == 0) {
- year--;
- m = 12
- }
- month = monthabbr[m]
- day = monthlen[m]
- day += m == 2 && year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)
- printf "Leap\t%s\t%s\t%s\t%s\tS\n", year, month, day, sign
+ sstamp_to_ymdhMs(NTP_timestamp - 1, ss_NTP)
+ printf "Leap\t%d\t%s\t%d\t%s\tS\n", \
+ ss_year, monthabbr[ss_month], ss_mday, sign
}
old_TAI_minus_UTC = TAI_minus_UTC
}
@@ -102,7 +107,117 @@ END {
print ""
print "# POSIX timestamps for the data in this file:"
- printf "#updated %s\n", updated - epoch_minus_NTP
- printf "#expires %s\n", expires - epoch_minus_NTP
+ sstamp_to_ymdhMs(updated, ss_NTP)
+ printf "#updated %d (%.4d-%.2d-%.2d %.2d:%.2d:%.2d UTC)\n", \
+ updated - epoch_minus_NTP, \
+ ss_year, ss_month, ss_mday, ss_hour, ss_min, ss_sec
+ sstamp_to_ymdhMs(expires, ss_NTP)
+ printf "#expires %d (%.4d-%.2d-%.2d %.2d:%.2d:%.2d UTC)\n", \
+ expires - epoch_minus_NTP, \
+ ss_year, ss_month, ss_mday, ss_hour, ss_min, ss_sec
+
printf "\n%s", last_lines
}
+
+# sstamp_to_ymdhMs - convert seconds timestamp to date and time
+#
+# Call as:
+#
+# sstamp_to_ymdhMs(sstamp, epoch_days)
+#
+# where:
+#
+# sstamp - is the seconds timestamp.
+# epoch_days - is the timestamp epoch in Gregorian days since 1600-03-01.
+# ss_NTP is appropriate for an NTP sstamp.
+#
+# Both arguments should be nonnegative integers.
+# On return, the following variables are set based on sstamp:
+#
+# ss_year - Gregorian calendar year
+# ss_month - month of the year (1-January to 12-December)
+# ss_mday - day of the month (1-31)
+# ss_hour - hour (0-23)
+# ss_min - minute (0-59)
+# ss_sec - second (0-59)
+# ss_wday - day of week (0-Sunday to 6-Saturday)
+#
+# The function sstamp_init should be called prior to using sstamp_to_ymdhMs.
+
+function sstamp_init()
+{
+ # Days in month N, where March is month 0 and January month 10.
+ ss_mon_days[ 0] = 31
+ ss_mon_days[ 1] = 30
+ ss_mon_days[ 2] = 31
+ ss_mon_days[ 3] = 30
+ ss_mon_days[ 4] = 31
+ ss_mon_days[ 5] = 31
+ ss_mon_days[ 6] = 30
+ ss_mon_days[ 7] = 31
+ ss_mon_days[ 8] = 30
+ ss_mon_days[ 9] = 31
+ ss_mon_days[10] = 31
+
+ # Counts of days in a Gregorian year, quad-year, century, and quad-century.
+ ss_year_days = 365
+ ss_quadyear_days = ss_year_days * 4 + 1
+ ss_century_days = ss_quadyear_days * 25 - 1
+ ss_quadcentury_days = ss_century_days * 4 + 1
+
+ # Standard day epochs, suitable for epoch_days.
+ # ss_MJD = 94493
+ # ss_POSIX = 135080
+ ss_NTP = 109513
+}
+
+function sstamp_to_ymdhMs(sstamp, epoch_days, \
+ quadcentury, century, quadyear, year, month, day)
+{
+ ss_hour = int(sstamp / 3600) % 24
+ ss_min = int(sstamp / 60) % 60
+ ss_sec = sstamp % 60
+
+ # Start with a count of days since 1600-03-01 Gregorian.
+ day = epoch_days + int(sstamp / (24 * 60 * 60))
+
+ # Compute a year-month-day date with days of the month numbered
+ # 0-30, months (March-February) numbered 0-11, and years that start
+ # start March 1 and end after the last day of February. A quad-year
+ # starts on March 1 of a year evenly divisible by 4 and ends after
+ # the last day of February 4 years later. A century starts on and
+ # ends before March 1 in years evenly divisible by 100.
+ # A quad-century starts on and ends before March 1 in years divisible
+ # by 400. While the number of days in a quad-century is a constant,
+ # the number of days in each other time period can vary by 1.
+ # Any variation is in the last day of the time period (there might
+ # or might not be a February 29) where it is easy to deal with.
+
+ quadcentury = int(day / ss_quadcentury_days)
+ day -= quadcentury * ss_quadcentury_days
+ ss_wday = (day + 3) % 7
+ century = int(day / ss_century_days)
+ century -= century == 4
+ day -= century * ss_century_days
+ quadyear = int(day / ss_quadyear_days)
+ day -= quadyear * ss_quadyear_days
+ year = int(day / ss_year_days)
+ year -= year == 4
+ day -= year * ss_year_days
+ for (month = 0; month < 11; month++) {
+ if (day < ss_mon_days[month])
+ break
+ day -= ss_mon_days[month]
+ }
+
+ # Convert the date to a conventional day of month (1-31),
+ # month (1-12, January-December) and Gregorian year.
+ ss_mday = day + 1
+ if (month <= 9) {
+ ss_month = month + 3
+ } else {
+ ss_month = month - 9
+ year++
+ }
+ ss_year = 1600 + quadcentury * 400 + century * 100 + quadyear * 4 + year
+}
diff --git a/northamerica b/northamerica
index 9e3577bca697..8771d96e64e8 100644
--- a/northamerica
+++ b/northamerica
@@ -406,6 +406,31 @@ Zone America/New_York -4:56:02 - LMT 1883 Nov 18 12:03:58
# From Paul Eggert (2015-12-25):
# Assume this practice predates 1970, so Fort Pierre can use America/Chicago.
+# From Paul Eggert (2015-04-06):
+# In 1950s Nashville a public clock had dueling faces, one for conservatives
+# and the other for liberals; the two sides didn't agree about the time of day.
+# I haven't found a photo of this clock, nor have I tracked down the TIME
+# magazine report cited below, but here's the story as told by the late
+# American journalist John Seigenthaler, who was there:
+#
+# "The two [newspaper] owners held strongly contrasting political and
+# ideological views. Evans was a New South liberal, Stahlman an Old South
+# conservative, and their two papers frequently clashed editorially, often on
+# the same day.... In the 1950s as the state legislature was grappling with
+# the question of whether to approve daylight saving time for the entire state,
+# TIME magazine reported:
+#
+# "'The Nashville Banner and The Nashville Tennessean rarely agree on anything
+# but the time of day - and last week they couldn't agree on that.'
+#
+# "It was all too true. The clock on the front of the building had two faces -
+# The Tennessean side of the building facing west, the other, east. When it
+# was high noon Banner time, it was 11 a.m. Tennessean time."
+#
+# Seigenthaler J. For 100 years, Tennessean had it covered.
+# The Tennessean 2007-05-11, republished 2015-04-06.
+# https://www.tennessean.com/story/insider/extras/2015/04/06/archives-seigenthaler-for-100-years-the-tennessean-had-it-covered/25348545/
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule Chicago 1920 only - Jun 13 2:00 1:00 D
Rule Chicago 1920 1921 - Oct lastSun 2:00 0 S
@@ -945,21 +970,21 @@ Zone America/Indiana/Vincennes -5:50:07 - LMT 1883 Nov 18 12:09:53
-5:00 US E%sT
#
# Perry County, Indiana, switched from eastern to central time in April 2006.
+# From Alois Triendl (2019-07-09):
+# The Indianapolis News, Friday 27 October 1967 states that Perry County
+# returned to CST. It went again to EST on 27 April 1969, as documented by the
+# Indianapolis star of Saturday 26 April.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
-Rule Perry 1946 only - Apr lastSun 2:00 1:00 D
-Rule Perry 1946 only - Sep lastSun 2:00 0 S
-Rule Perry 1953 1954 - Apr lastSun 2:00 1:00 D
-Rule Perry 1953 1959 - Sep lastSun 2:00 0 S
Rule Perry 1955 only - May 1 0:00 1:00 D
+Rule Perry 1955 1960 - Sep lastSun 2:00 0 S
Rule Perry 1956 1963 - Apr lastSun 2:00 1:00 D
-Rule Perry 1960 only - Oct lastSun 2:00 0 S
-Rule Perry 1961 only - Sep lastSun 2:00 0 S
-Rule Perry 1962 1963 - Oct lastSun 2:00 0 S
+Rule Perry 1961 1963 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Indiana/Tell_City -5:47:03 - LMT 1883 Nov 18 12:12:57
-6:00 US C%sT 1946
-6:00 Perry C%sT 1964 Apr 26 2:00
- -5:00 - EST 1969
+ -5:00 - EST 1967 Oct 29 2:00
+ -6:00 US C%sT 1969 Apr 27 2:00
-5:00 US E%sT 1971
-5:00 - EST 2006 Apr 2 2:00
-6:00 US C%sT
@@ -1035,16 +1060,27 @@ Zone America/Indiana/Vevay -5:40:16 - LMT 1883 Nov 18 12:19:44
# clear how this matched civil time in Louisville, so for now continue
# to assume Louisville switched at noon new local time, like New York.
#
+# From Michael Deckers (2019-08-06):
+# From the contemporary source given by Alois Treindl,
+# the switch in Louisville on 1946-04-28 was on 00:01
+# From Paul Eggert (2019-08-26):
+# That source was the Louisville Courier-Journal, 1946-04-27, p 4.
+# Shanks gives 02:00 for all 20th-century transition times in Louisville.
+# Evidently this is wrong for spring 1946. Although also likely wrong
+# for other dates, we have no data.
+#
# Part of Kentucky left its clocks alone in 1974.
# This also includes Clark, Floyd, and Harrison counties in Indiana.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
Rule Louisville 1921 only - May 1 2:00 1:00 D
Rule Louisville 1921 only - Sep 1 2:00 0 S
-Rule Louisville 1941 1961 - Apr lastSun 2:00 1:00 D
+Rule Louisville 1941 only - Apr lastSun 2:00 1:00 D
Rule Louisville 1941 only - Sep lastSun 2:00 0 S
+Rule Louisville 1946 only - Apr lastSun 0:01 1:00 D
Rule Louisville 1946 only - Jun 2 2:00 0 S
+Rule Louisville 1950 1961 - Apr lastSun 2:00 1:00 D
Rule Louisville 1950 1955 - Sep lastSun 2:00 0 S
-Rule Louisville 1956 1960 - Oct lastSun 2:00 0 S
+Rule Louisville 1956 1961 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Kentucky/Louisville -5:43:02 - LMT 1883 Nov 18 12:16:58
-6:00 US C%sT 1921
@@ -1134,18 +1170,19 @@ Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36
# one hour in 1914." This change is not in Shanks. We have no more
# info, so omit this for now.
#
-# From Paul Eggert (2017-07-26):
-# Although Shanks says Detroit observed DST in 1967 from 06-14 00:01
-# until 10-29 00:01, I now see multiple reports that this is incorrect.
-# For example, according to a 50-year anniversary report about the 1967
-# Detroit riots and a major-league doubleheader on 1967-07-23, "By the time
-# the last fly ball of the doubleheader settled into the glove of leftfielder
-# Lenny Green, it was after 7 p.m. Detroit did not observe daylight saving
-# time, so light was already starting to fail. Twilight was made even deeper
-# by billowing columns of smoke that ascended in an unbroken wall north of the
-# ballpark." See: Dow B. Detroit '67: As violence unfolded, Tigers played two
-# at home vs. Yankees. Detroit Free Press 2017-07-23.
-# https://www.freep.com/story/sports/mlb/tigers/2017/07/23/detroit-tigers-1967-riot-new-york-yankees/499951001/
+# From Paul Eggert (2019-07-06):
+# Due to a complicated set of legal maneuvers, in 1967 Michigan did
+# not start daylight saving time when the rest of the US did.
+# Instead, it began DST on Jun 14 at 00:01. This was big news:
+# the Detroit Free Press reported it at the top of Page 1 on
+# 1967-06-14, in an article "State Adjusting to Switch to Fast Time"
+# by Gary Blonston, above an article about Thurgood Marshall's
+# confirmation to the US Supreme Court. Although Shanks says Detroit
+# observed DST until 1967-10-29 00:01, that time of day seems to be
+# incorrect, as the Free Press later said DST ended in Michigan at the
+# same time as the rest of the US. Also, although Shanks reports no DST in
+# Detroit in 1968, it did observe DST that year; in the November 1968
+# election Michigan voters narrowly repealed DST, effective 1969.
#
# Most of Michigan observed DST from 1973 on, but was a bit late in 1975.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER
@@ -1156,7 +1193,9 @@ Zone America/Detroit -5:32:11 - LMT 1905
-6:00 - CST 1915 May 15 2:00
-5:00 - EST 1942
-5:00 US E%sT 1946
- -5:00 Detroit E%sT 1973
+ -5:00 Detroit E%sT 1967 Jun 14 0:01
+ -5:00 US E%sT 1969
+ -5:00 - EST 1973
-5:00 US E%sT 1975
-5:00 - EST 1975 Apr 27 2:00
-5:00 US E%sT
@@ -1205,6 +1244,12 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
#
# Other sources occasionally used include:
#
+# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
+# .
+#
+# Pearce C. The Great Daylight Saving Time Controversy.
+# Australian Ebook Publisher. 2017. ISBN 978-1-925516-96-8.
+#
# Edward W. Whitman, World Time Differences,
# Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated),
# which I found in the UCLA library.
@@ -1213,9 +1258,6 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
#
# [PDF] (1914-03)
#
-# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
-# .
-#
# See the 'europe' file for Greenland.
# Canada
@@ -1857,9 +1899,8 @@ Zone America/Winnipeg -6:28:36 - LMT 1887 Jul 16
# Willett (1914-03) notes that DST "has been in operation ... in the
# City of Moose Jaw, Saskatchewan, for one year."
-# From Paul Eggert (2019-04-26):
-# Chris Pearce's book "The Great Daylight Saving Time Controversy" (2017)
-# says that Regina observed DST in 1914-1917. No dates and times,
+# From Paul Eggert (2019-07-25):
+# Pearce's book says Regina observed DST in 1914-1917. No dates and times,
# unfortunately. It also says that in 1914 Saskatoon observed DST
# from 1 June to 6 July, and that DST was also tried out in Davidson,
# Melfort, and Prince Albert.
@@ -1939,6 +1980,19 @@ Zone America/Swift_Current -7:11:20 - LMT 1905 Sep
# Alberta
+# From Alois Triendl (2019-07-19):
+# There was no DST in Alberta in 1967... Calgary Herald, 29 April 1967.
+# 1969, no DST, from Edmonton Journal 18 April 1969
+#
+# From Paul Eggert (2019-07-25):
+# Pearce's book says that Alberta's 1948 Daylight Saving Act required
+# Mountain Standard Time without DST, and that "anyone who broke that law
+# could be fined up to $25 and costs". There seems to be no record of
+# anybody paying the fine. The law was not changed until an August 1971
+# plebiscite reinstituted DST in 1972. This story is also mentioned in:
+# Boyer JP. Forcing Choice: The Risky Reward of Referendums. Dundum. 2017.
+# ISBN 978-1459739123.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Edm 1918 1919 - Apr Sun>=8 2:00 1:00 D
Rule Edm 1918 only - Oct 27 2:00 0 S
@@ -1951,10 +2005,6 @@ Rule Edm 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule Edm 1945 only - Sep lastSun 2:00 0 S
Rule Edm 1947 only - Apr lastSun 2:00 1:00 D
Rule Edm 1947 only - Sep lastSun 2:00 0 S
-Rule Edm 1967 only - Apr lastSun 2:00 1:00 D
-Rule Edm 1967 only - Oct lastSun 2:00 0 S
-Rule Edm 1969 only - Apr lastSun 2:00 1:00 D
-Rule Edm 1969 only - Oct lastSun 2:00 0 S
Rule Edm 1972 1986 - Apr lastSun 2:00 1:00 D
Rule Edm 1972 2006 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -2037,8 +2087,20 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
# been on MST (-0700) like Dawson Creek since it advanced its clocks on
# 2015-03-08.
#
-# From Paul Eggert (2015-09-23):
+# From Paul Eggert (2019-07-25):
# Shanks says Fort Nelson did not observe DST in 1946, unlike Vancouver.
+# Alois Triendl confirmed this on 07-22, citing the 1946-04-27 Vancouver Daily
+# Province. He also cited the 1946-09-28 Victoria Daily Times, which said
+# that Vancouver, Victoria, etc. "change at midnight Saturday"; for now,
+# guess they meant 02:00 Sunday since 02:00 was common practice in Vancouver.
+#
+# Early Vancouver, Volume Four, by Major J.S. Matthews, V.D., 2011 edition
+# says that a 1922 plebiscite adopted DST, but a 1923 plebiscite rejected it.
+# http://former.vancouver.ca/ctyclerk/archives/digitized/EarlyVan/SearchEarlyVan/Vol4pdf/MatthewsEarlyVancouverVol4_DaylightSavings.pdf
+# A catalog entry for a newspaper clipping seems to indicate that Vancouver
+# observed DST in 1941 from 07-07 through 09-27; see
+# https://searcharchives.vancouver.ca/daylight-saving-1918-starts-again-july-7-1941-start-d-s-sept-27-end-of-d-s-1941
+# We have no further details, so omit them for now.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Vanc 1918 only - Apr 14 2:00 1:00 D
@@ -2047,7 +2109,7 @@ Rule Vanc 1942 only - Feb 9 2:00 1:00 W # War
Rule Vanc 1945 only - Aug 14 23:00u 1:00 P # Peace
Rule Vanc 1945 only - Sep 30 2:00 0 S
Rule Vanc 1946 1986 - Apr lastSun 2:00 1:00 D
-Rule Vanc 1946 only - Oct 13 2:00 0 S
+Rule Vanc 1946 only - Sep 29 2:00 0 S
Rule Vanc 1947 1961 - Sep lastSun 2:00 0 S
Rule Vanc 1962 2006 - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
diff --git a/southamerica b/southamerica
index 397a2cc3acd4..9b679c61435f 100644
--- a/southamerica
+++ b/southamerica
@@ -1230,14 +1230,8 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# From Juan Correa (2016-12-04):
# Magallanes region ... will keep DST (UTC -3) all year round....
# http://www.soychile.cl/Santiago/Sociedad/2016/12/04/433428/Bachelet-firmo-el-decreto-para-establecer-un-horario-unico-para-la-Region-de-Magallanes.aspx
-#
# From Deborah Goldsmith (2017-01-19):
# http://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf
-# From Paul Eggert (2017-01-19):
-# The above says the Magallanes change expires 2019-05-11 at 24:00,
-# so in theory, they will revert to -04/-03 after that, which means
-# they will switch from -03 to -04 one hour after Santiago does that day.
-# For now, assume that they will not revert.
# From Juan Correa (2018-08-13):
# As of moments ago, the Ministry of Energy in Chile has announced the new
@@ -1258,6 +1252,11 @@ Zone America/Rio_Branco -4:31:12 - LMT 1914
# So we extend the new rules on Saturdays at 24:00 mainland time indefinitely.
# From Juan Correa (2019-02-04):
# http://www.diariooficial.interior.gob.cl/publicaciones/2018/11/23/42212/01/1498738.pdf
+# From Paul Eggert (2019-09-01):
+# The above says the Magallanes exception expires 2022-04-02 at 24:00,
+# so in theory, they will revert to -04/-03 after that.
+# For now, assume that they will not revert,
+# since they have extended the expiration date once already.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Chile 1927 1931 - Sep 1 0:00 1:00 -
diff --git a/theory.html b/theory.html
index e0b32335867d..7af7cb23c657 100644
--- a/theory.html
+++ b/theory.html
@@ -21,6 +21,7 @@
database
Time and date functions
Interface stability
+ Leap seconds
Calendrical issues
Time and time zones on other planets
@@ -98,8 +99,9 @@ A tz
timezone corresponds to a ruleset that can
have more than two changes per year, these changes need not merely
flip back and forth between two alternatives, and the rules themselves
can change at times.
-Whether and when a timezone changes its
-clock, and even the timezone's notional base offset from UTC, are variable.
+Whether and when a timezone changes its clock,
+and even the timezone's notional base offset from UTC,
+are variable.
It does not always make sense to talk about a timezone's
"base offset", which is not necessarily a single number.
@@ -428,7 +430,7 @@ in decreasing order of importance:
EET/EEST Eastern European,
GST/GDT Guam,
HST/HDT/HWT/HPT Hawaii,
- HKT/HKST Hong Kong,
+ HKT/HKST/HKWT Hong Kong,
IST India,
IST/GMT Irish,
IST/IDT/IDDT Israel,
@@ -972,7 +974,8 @@ an older zic
.
that do not fit into the POSIX model.
- POSIX requires that systems ignore leap seconds.
+ POSIX requires that time_t
clock counts exclude leap
+ seconds.
The tz
code attempts to support all the
@@ -1072,7 +1075,8 @@ an older zic
.
where time_t
is signed.
- These functions can account for leap seconds, thanks to Bradley White.
+ These functions can account for leap seconds;
+ see Leap seconds below.
@@ -1248,6 +1252,69 @@ between now and the future time.
+
+ Leap seconds
+
+The tz
code and data can account for leap seconds,
+thanks to code contributed by Bradley White.
+However, the leap second support of this package is rarely used directly
+because POSIX requires leap seconds to be excluded and many
+software packages would mishandle leap seconds if they were present.
+Instead, leap seconds are more commonly handled by occasionally adjusting
+the operating system kernel clock as described in
+Precision timekeeping,
+and this package by default installs a leapseconds file
+commonly used by
+NTP
+software that adjusts the kernel clock.
+However, kernel-clock twiddling approximates UTC only roughly,
+and systems needing more-precise UTC can use this package's leap
+second support directly.
+
+
+
+The directly-supported mechanism assumes that time_t
+counts of seconds since the POSIX epoch normally include leap seconds,
+as opposed to POSIX time_t
counts which exclude leap seconds.
+This modified timescale is converted to UTC
+at the same point that time zone and DST adjustments are applied –
+namely, at calls to localtime
and analogous functions –
+and the process is driven by leap second information
+stored in alternate versions of the TZif files.
+Because a leap second adjustment may be needed even
+if no time zone correction is desired,
+calls to gmtime
-like functions
+also need to consult a TZif file,
+conventionally named GMT,
+to see whether leap second corrections are needed.
+To convert an application's time_t
timestamps to or from
+POSIX time_t
timestamps (for use when, say,
+embedding or interpreting timestamps in portable
+tar
+files),
+the application can call the utility functions
+time2posix
and posix2time
+included with this package.
+
+
+
+If the POSIX-compatible TZif file set is installed
+in a directory whose basename is zoneinfo, the
+leap-second-aware file set is by default installed in a separate
+directory zoneinfo-leaps.
+Although each process can have its own time zone by setting
+its TZ
environment variable, there is no support for some
+processes being leap-second aware while other processes are
+POSIX-compatible; the leap-second choice is system-wide.
+So if you configure your kernel to count leap seconds, you should also
+discard zoneinfo and rename zoneinfo-leaps
+to zoneinfo.
+Alternatively, you can install just one set of TZif files
+in the first place; see the REDO
variable in this package's
+makefile.
+
+
+
Calendrical issues
diff --git a/version b/version
index 8d4a43baf40b..db18f8311daf 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2019b
+2019c
From 545922d605327cfdaff9461177686766dfe6a2fe Mon Sep 17 00:00:00 2001
From: Philip Paeps
Date: Fri, 24 Apr 2020 04:53:23 +0000
Subject: [PATCH 3/3] Import tzdata 2020a
---
Makefile | 38 ++++++---
NEWS | 82 ++++++++++++++++++
africa | 52 +++++++-----
asia | 212 ++++++++++++++++++++++++++++++++++------------
backward | 1 +
backzone | 29 +++++++
europe | 16 ++--
leap-seconds.list | 10 +--
leapseconds | 12 ++-
leapseconds.awk | 17 +++-
northamerica | 48 +++++++++--
theory.html | 23 ++---
version | 2 +-
zone.tab | 12 +--
zone1970.tab | 12 +--
15 files changed, 420 insertions(+), 146 deletions(-)
diff --git a/Makefile b/Makefile
index fec0a4f7eb36..610bf199d9a3 100644
--- a/Makefile
+++ b/Makefile
@@ -150,6 +150,15 @@ TIME_T_ALTERNATIVES_TAIL = int32_t uint32_t uint64_t
REDO= posix_right
+# Whether to put an "Expires" line in the leapseconds file.
+# Use EXPIRES_LINE=1 to put the line in, 0 to omit it.
+# The EXPIRES_LINE value matters only if REDO's value contains "right".
+# If you change EXPIRES_LINE, remove the leapseconds file before running "make".
+# zic's support for the Expires line was introduced in tzdb 2020a,
+# and EXPIRES_LINE defaults to 0 for now so that the leapseconds file
+# can be given to older zic implementations.
+EXPIRES_LINE= 0
+
# To install data in text form that has all the information of the TZif data,
# (optionally incorporating leap second information), use
# TZDATA_TEXT= tzdata.zi leapseconds
@@ -295,8 +304,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# than TM_GMTOFF and TM_ZONE. However, most of them are standardized.
# #
# # To omit or support the external variable "tzname", add one of:
-# # -DHAVE_TZNAME=0
-# # -DHAVE_TZNAME=1
+# # -DHAVE_TZNAME=0 # do not support "tzname"
+# # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library
+# # -DHAVE_TZNAME=2 # support and define "tzname"
# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later.
# # If not defined, the code attempts to guess HAVE_TZNAME from other macros.
# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause
@@ -304,16 +314,20 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# # presumably due to memory allocation issues.
# #
# # To omit or support the external variables "timezone" and "daylight", add
-# # -DUSG_COMPAT=0
-# # -DUSG_COMPAT=1
+# # -DUSG_COMPAT=0 # do not support
+# # -DUSG_COMPAT=1 # support, and variables are defined by system library
+# # -DUSG_COMPAT=2 # support and define variables
# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by
# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later.
# # If not defined, the code attempts to guess USG_COMPAT from other macros.
# #
# # To support the external variable "altzone", add
-# # -DALTZONE
+# # -DALTZONE=0 # do not support
+# # -DALTZONE=1 # support "altzone", which is defined by system library
+# # -DALTZONE=2 # support and define "altzone"
# # to the end of the "CFLAGS=" line; although "altzone" appeared in
# # System V Release 3.1 it has not been standardized.
+# # If not defined, the code attempts to guess ALTZONE from other macros.
#
# If you want functions that were inspired by early versions of X3J11's work,
# add
@@ -321,9 +335,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# to the end of the "CFLAGS=" line. This arranges for the functions
# "tzsetwall", "offtime", "timelocal", "timegm", "timeoff",
# "posix2time", and "time2posix" to be added to the time conversion library.
-# "tzsetwall" is like "tzset" except that it arranges for local wall clock
-# time (rather than the timezone specified in the TZ environment variable)
-# to be used.
+# "tzsetwall" is deprecated and is intended to be removed soon; see NEWS.
# "offtime" is like "gmtime" except that it accepts a second (long) argument
# that gives an offset to add to the time_t when converting it.
# "timelocal" is equivalent to "mktime".
@@ -333,7 +345,6 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
# that gives an offset to use when converting to a time_t.
# "posix2time" and "time2posix" are described in an included manual page.
# X3J11's work does not describe any of these functions.
-# Sun has provided "tzsetwall", "timelocal", and "timegm" in SunOS 4.0.
# These functions may well disappear in future releases of the time
# conversion package.
#
@@ -505,11 +516,11 @@ RANLIB= :
TZCOBJS= zic.o
TZDOBJS= zdump.o localtime.o asctime.o strftime.o
DATEOBJS= date.o localtime.o strftime.o asctime.o
-LIBSRCS= localtime.c asctime.c difftime.c
-LIBOBJS= localtime.o asctime.o difftime.o
+LIBSRCS= localtime.c asctime.c difftime.c strftime.c
+LIBOBJS= localtime.o asctime.o difftime.o strftime.o
HEADERS= tzfile.h private.h
NONLIBSRCS= zic.c zdump.c
-NEWUCBSRCS= date.c strftime.c
+NEWUCBSRCS= date.c
SOURCES= $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) \
tzselect.ksh workman.sh
MANS= newctime.3 newstrftime.3 newtzset.3 time2posix.3 \
@@ -651,7 +662,8 @@ yearistype: yearistype.sh
chmod +x yearistype
leapseconds: $(LEAP_DEPS)
- $(AWK) -f leapseconds.awk leap-seconds.list >$@.out
+ $(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \
+ -f leapseconds.awk leap-seconds.list >$@.out
mv $@.out $@
# Arguments to pass to submakes of install_data.
diff --git a/NEWS b/NEWS
index af0f06f7192d..321e09084190 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,87 @@
News for the tz database
+Release 2020a - 2020-04-23 16:03:47 -0700
+
+ Briefly:
+ Morocco springs forward on 2020-05-31, not 2020-05-24.
+ Canada's Yukon advanced to -07 year-round on 2020-03-08.
+ America/Nuuk renamed from America/Godthab.
+ zic now supports expiration dates for leap second lists.
+
+ Changes to future timestamps
+
+ Morocco's second spring-forward transition in 2020 will be May 31,
+ not May 24 as predicted earlier. (Thanks to Semlali Naoufal.)
+ Adjust future-year predictions to use the first Sunday after the
+ day after Ramadan, not the first Sunday after Ramadan.
+
+ Canada's Yukon, represented by America/Whitehorse and
+ America/Dawson, advanced to -07 year-round, beginning with its
+ spring-forward transition on 2020-03-08, and will not fall back on
+ 2020-11-01. Although a government press release calls this
+ "permanent Pacific Daylight Saving Time", we prefer MST for
+ consistency with nearby Dawson Creek, Creston, and Fort Nelson.
+ (Thanks to Tim Parenti.)
+
+ Changes to past timestamps
+
+ Shanghai observed DST in 1919. (Thanks to Phake Nick.)
+
+ Changes to timezone identifiers
+
+ To reflect current usage in English better, America/Godthab has
+ been renamed to America/Nuuk. A backwards-compatibility link
+ remains for the old name.
+
+ Changes to code
+
+ localtime.c no longer mishandles timestamps after the last
+ transition in a TZif file with leap seconds and with daylight
+ saving time transitions projected into the indefinite future.
+ For example, with TZ='America/Los_Angeles' with leap seconds,
+ zdump formerly reported a DST transition on 2038-03-14
+ from 01:59:32.999... to 02:59:33 instead of the correct transition
+ from 01:59:59.999... to 03:00:00.
+
+ zic -L now supports an Expires line in the leapseconds file, and
+ truncates the TZif output accordingly. This propagates leap
+ second expiration information into the TZif file, and avoids the
+ abovementioned localtime.c bug as well as similar bugs present in
+ many client implementations. If no Expires line is present, zic
+ -L instead truncates the TZif output based on the #expires comment
+ present in leapseconds files distributed by tzdb 2018f and later;
+ however, this usage is obsolescent. For now, the distributed
+ leapseconds file has an Expires line that is commented out, so
+ that the file can be fed to older versions of zic which ignore the
+ commented-out line. Future tzdb distributions are planned to
+ contain a leapseconds file with an Expires line.
+
+ The configuration macros HAVE_TZNAME and USG_COMPAT should now be
+ set to 1 if the system library supports the feature, and 2 if not.
+ As before, these macros are nonzero if tzcode should support the
+ feature, zero otherwise.
+
+ The configuration macro ALTZONE now has the same values with the
+ same meaning as HAVE_TZNAME and USG_COMPAT.
+
+ The code's defense against CRLF in leap-seconds.list is now
+ portable to POSIX awk. (Problem reported by Deborah Goldsmith.)
+
+ Although the undocumented tzsetwall function is not changed in
+ this release, it is now deprecated in preparation for removal in
+ future releases. Due to POSIX requirements, tzsetwall has not
+ worked for some time. Any code that uses it should instead use
+ tzalloc(NULL) or, if portability trumps thread-safety, should
+ unset the TZ environment variable.
+
+ Changes to commentary
+
+ The Îles-de-la-Madeleine and the Listuguj reserve are noted as
+ following America/Halifax, and comments about Yukon's "south" and
+ "north" have been corrected to say "east" and "west". (Thanks to
+ Jeffery Nichols.)
+
+
Release 2019c - 2019-09-11 08:59:48 -0700
Briefly:
diff --git a/africa b/africa
index feb6017d959b..724744f37723 100644
--- a/africa
+++ b/africa
@@ -867,19 +867,25 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# Morocco will be on GMT starting from Sunday, May 5th 2019 at 3am.
# The switch to GMT+1 will occur on Sunday, June 9th 2019 at 2am....
# http://fr.le360.ma/societe/voici-la-date-du-retour-a-lheure-legale-au-maroc-188222
+
+# From Semlali Naoufal (2020-04-14):
+# Following the announcement by the Moroccan government, the switch to
+# GMT time will take place on Sunday, April 19, 2020 from 3 a.m. and
+# the return to GMT+1 time will take place on Sunday, May 31, 2020 at 2 a.m....
+# https://maroc-diplomatique.net/maroc-le-retour-a-lheure-gmt-est-prevu-dimanche-prochain/
+# http://aujourdhui.ma/actualite/gmt1-retour-a-lheure-normale-dimanche-prochain-1
#
-# From Paul Eggert (2019-05-20):
-# This agrees with our 2018-11-01 guess that the Moroccan government
-# would continue the practice of falling back at 03:00 the last Sunday
-# before Ramadan, and of springing forward at 02:00 the first Sunday after
-# Ramadan, as this has been the practice since 2012. To implement this,
-# transition dates for 2019 through 2087 were determined by running the
-# following program under GNU Emacs 26.2.
-# (let ((islamic-year 1440))
+# From Paul Eggert (2020-04-14):
+# For now, guess that in the future Morocco will fall back at 03:00
+# the last Sunday before Ramadan, and spring forward at 02:00 the
+# first Sunday after the day after Ramadan. To implement this,
+# transition dates for 2021 through 2087 were determined by running
+# the following program under GNU Emacs 26.3.
+# (let ((islamic-year 1442))
# (require 'cal-islam)
# (while (< islamic-year 1511)
# (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
-# (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
+# (b (1+ (calendar-islamic-to-absolute (list 10 1 islamic-year))))
# (sunday 0))
# (while (/= sunday (mod (setq a (1- a)) 7)))
# (while (/= sunday (mod b 7))
@@ -939,7 +945,7 @@ Rule Morocco 2018 only - Jun 17 2:00 1:00 -
Rule Morocco 2019 only - May 5 3:00 -1:00 -
Rule Morocco 2019 only - Jun 9 2:00 0 -
Rule Morocco 2020 only - Apr 19 3:00 -1:00 -
-Rule Morocco 2020 only - May 24 2:00 0 -
+Rule Morocco 2020 only - May 31 2:00 0 -
Rule Morocco 2021 only - Apr 11 3:00 -1:00 -
Rule Morocco 2021 only - May 16 2:00 0 -
Rule Morocco 2022 only - Mar 27 3:00 -1:00 -
@@ -955,7 +961,7 @@ Rule Morocco 2026 only - Mar 22 2:00 0 -
Rule Morocco 2027 only - Feb 7 3:00 -1:00 -
Rule Morocco 2027 only - Mar 14 2:00 0 -
Rule Morocco 2028 only - Jan 23 3:00 -1:00 -
-Rule Morocco 2028 only - Feb 27 2:00 0 -
+Rule Morocco 2028 only - Mar 5 2:00 0 -
Rule Morocco 2029 only - Jan 14 3:00 -1:00 -
Rule Morocco 2029 only - Feb 18 2:00 0 -
Rule Morocco 2029 only - Dec 30 3:00 -1:00 -
@@ -971,7 +977,7 @@ Rule Morocco 2033 only - Dec 25 2:00 0 -
Rule Morocco 2034 only - Nov 5 3:00 -1:00 -
Rule Morocco 2034 only - Dec 17 2:00 0 -
Rule Morocco 2035 only - Oct 28 3:00 -1:00 -
-Rule Morocco 2035 only - Dec 2 2:00 0 -
+Rule Morocco 2035 only - Dec 9 2:00 0 -
Rule Morocco 2036 only - Oct 19 3:00 -1:00 -
Rule Morocco 2036 only - Nov 23 2:00 0 -
Rule Morocco 2037 only - Oct 4 3:00 -1:00 -
@@ -987,7 +993,7 @@ Rule Morocco 2041 only - Sep 29 2:00 0 -
Rule Morocco 2042 only - Aug 10 3:00 -1:00 -
Rule Morocco 2042 only - Sep 21 2:00 0 -
Rule Morocco 2043 only - Aug 2 3:00 -1:00 -
-Rule Morocco 2043 only - Sep 6 2:00 0 -
+Rule Morocco 2043 only - Sep 13 2:00 0 -
Rule Morocco 2044 only - Jul 24 3:00 -1:00 -
Rule Morocco 2044 only - Aug 28 2:00 0 -
Rule Morocco 2045 only - Jul 9 3:00 -1:00 -
@@ -1003,7 +1009,7 @@ Rule Morocco 2049 only - Jul 4 2:00 0 -
Rule Morocco 2050 only - May 15 3:00 -1:00 -
Rule Morocco 2050 only - Jun 26 2:00 0 -
Rule Morocco 2051 only - May 7 3:00 -1:00 -
-Rule Morocco 2051 only - Jun 11 2:00 0 -
+Rule Morocco 2051 only - Jun 18 2:00 0 -
Rule Morocco 2052 only - Apr 28 3:00 -1:00 -
Rule Morocco 2052 only - Jun 2 2:00 0 -
Rule Morocco 2053 only - Apr 13 3:00 -1:00 -
@@ -1019,7 +1025,7 @@ Rule Morocco 2057 only - Apr 8 2:00 0 -
Rule Morocco 2058 only - Feb 17 3:00 -1:00 -
Rule Morocco 2058 only - Mar 31 2:00 0 -
Rule Morocco 2059 only - Feb 9 3:00 -1:00 -
-Rule Morocco 2059 only - Mar 16 2:00 0 -
+Rule Morocco 2059 only - Mar 23 2:00 0 -
Rule Morocco 2060 only - Feb 1 3:00 -1:00 -
Rule Morocco 2060 only - Mar 7 2:00 0 -
Rule Morocco 2061 only - Jan 16 3:00 -1:00 -
@@ -1029,13 +1035,13 @@ Rule Morocco 2062 only - Feb 12 2:00 0 -
Rule Morocco 2062 only - Dec 31 3:00 -1:00 -
Rule Morocco 2063 only - Feb 4 2:00 0 -
Rule Morocco 2063 only - Dec 16 3:00 -1:00 -
-Rule Morocco 2064 only - Jan 20 2:00 0 -
+Rule Morocco 2064 only - Jan 27 2:00 0 -
Rule Morocco 2064 only - Dec 7 3:00 -1:00 -
Rule Morocco 2065 only - Jan 11 2:00 0 -
Rule Morocco 2065 only - Nov 22 3:00 -1:00 -
Rule Morocco 2066 only - Jan 3 2:00 0 -
Rule Morocco 2066 only - Nov 14 3:00 -1:00 -
-Rule Morocco 2066 only - Dec 19 2:00 0 -
+Rule Morocco 2066 only - Dec 26 2:00 0 -
Rule Morocco 2067 only - Nov 6 3:00 -1:00 -
Rule Morocco 2067 only - Dec 11 2:00 0 -
Rule Morocco 2068 only - Oct 21 3:00 -1:00 -
@@ -1045,13 +1051,13 @@ Rule Morocco 2069 only - Nov 17 2:00 0 -
Rule Morocco 2070 only - Oct 5 3:00 -1:00 -
Rule Morocco 2070 only - Nov 9 2:00 0 -
Rule Morocco 2071 only - Sep 20 3:00 -1:00 -
-Rule Morocco 2071 only - Oct 25 2:00 0 -
+Rule Morocco 2071 only - Nov 1 2:00 0 -
Rule Morocco 2072 only - Sep 11 3:00 -1:00 -
Rule Morocco 2072 only - Oct 16 2:00 0 -
Rule Morocco 2073 only - Aug 27 3:00 -1:00 -
Rule Morocco 2073 only - Oct 8 2:00 0 -
Rule Morocco 2074 only - Aug 19 3:00 -1:00 -
-Rule Morocco 2074 only - Sep 23 2:00 0 -
+Rule Morocco 2074 only - Sep 30 2:00 0 -
Rule Morocco 2075 only - Aug 11 3:00 -1:00 -
Rule Morocco 2075 only - Sep 15 2:00 0 -
Rule Morocco 2076 only - Jul 26 3:00 -1:00 -
@@ -1061,7 +1067,7 @@ Rule Morocco 2077 only - Aug 22 2:00 0 -
Rule Morocco 2078 only - Jul 10 3:00 -1:00 -
Rule Morocco 2078 only - Aug 14 2:00 0 -
Rule Morocco 2079 only - Jun 25 3:00 -1:00 -
-Rule Morocco 2079 only - Jul 30 2:00 0 -
+Rule Morocco 2079 only - Aug 6 2:00 0 -
Rule Morocco 2080 only - Jun 16 3:00 -1:00 -
Rule Morocco 2080 only - Jul 21 2:00 0 -
Rule Morocco 2081 only - Jun 1 3:00 -1:00 -
@@ -1077,7 +1083,7 @@ Rule Morocco 2085 only - May 27 2:00 0 -
Rule Morocco 2086 only - Apr 14 3:00 -1:00 -
Rule Morocco 2086 only - May 19 2:00 0 -
Rule Morocco 2087 only - Mar 30 3:00 -1:00 -
-Rule Morocco 2087 only - May 4 2:00 0 -
+Rule Morocco 2087 only - May 11 2:00 0 -
# For dates after the somewhat-arbitrary cutoff of 2087, assume that
# Morocco will no longer observe DST. At some point this table will
# need to be extended, though quite possibly Morocco will change the
@@ -1179,7 +1185,7 @@ Link Africa/Maputo Africa/Lusaka # Zambia
Rule Namibia 1994 only - Mar 21 0:00 -1:00 WAT
Rule Namibia 1994 2017 - Sep Sun>=1 2:00 0 CAT
Rule Namibia 1995 2017 - Apr Sun>=1 2:00 -1:00 WAT
-# Rearguard section, for parsers that do not support negative DST.
+# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
#Rule Namibia 1994 only - Mar 21 0:00 0 WAT
#Rule Namibia 1994 2017 - Sep Sun>=1 2:00 1:00 CAT
#Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 WAT
@@ -1193,7 +1199,7 @@ Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8
2:00 - SAST 1990 Mar 21 # independence
# Vanguard section, for zic and other parsers that support negative DST.
2:00 Namibia %s
-# Rearguard section, for parsers that do not support negative DST.
+# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
# 2:00 - CAT 1994 Mar 21 0:00
# From Paul Eggert (2017-04-07):
# The official date of the 2017 rule change was 2017-10-24. See:
diff --git a/asia b/asia
index b29c896e5fde..106efad877bc 100644
--- a/asia
+++ b/asia
@@ -286,6 +286,27 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
# China
+# From Phake Nick (2020-04-15):
+# According to this news report:
+# http://news.sina.com.cn/c/2004-09-01/19524201403.shtml
+# on April 11, 1919, newspaper in Shanghai said clocks in Shanghai will spring
+# forward for an hour starting from midnight of that Saturday. The report did
+# not mention what happened in Shanghai thereafter, but it mentioned that a
+# similar trial in Tianjin which ended at October 1st as citizens are told to
+# recede the clock on September 30 from 12:00pm to 11:00pm. The trial at
+# Tianjin got terminated in 1920.
+#
+# From Paul Eggert (2020-04-15):
+# The Returns of Trade and Trade Reports, page 711, says "Daylight saving was
+# given a trial during the year, and from the 12th April to the 1st October
+# the clocks were all set one hour ahead of sun time. Though the scheme was
+# generally esteemed a success, it was announced early in 1920 that it would
+# not be repeated."
+#
+# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
+Rule Shang 1919 only - Apr 12 24:00 1:00 D
+Rule Shang 1919 only - Sep 30 24:00 0 S
+
# From Paul Eggert (2018-10-02):
# The following comes from Table 1 of:
# Li Yu. Research on the daylight saving movement in 1940s Shanghai.
@@ -294,6 +315,89 @@ Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon
# The table lists dates only; I am guessing 00:00 and 24:00 transition times.
# Also, the table lists the planned end of DST in 1949, but the corresponding
# zone line cuts this off on May 28, when the Communists took power.
+
+# From Phake Nick (2020-04-15):
+#
+# For the history of time in Shanghai between 1940-1942, the situation is
+# actually slightly more complex than the table [below].... At the time,
+# there were three different authorities in Shanghai, including Shanghai
+# International Settlement, a settlement established by western countries with
+# its own westernized form of government, Shanghai French Concession, similar
+# to the international settlement but is controlled by French, and then the
+# rest of the city of Shanghai, which have already been controlled by Japanese
+# force through a puppet local government (Wang Jingwei regime). It was
+# additionally complicated by the circumstances that, according to the 1940s
+# Shanghai summer time essay cited in the database, some
+# departments/businesses/people in the Shanghai city itself during that time
+# period, refused to change their clock and instead only changed their opening
+# hours.
+#
+# For example, as quoted in the article, in 1940, other than the authority
+# itself, power, tram, bus companies, cinema, department stores, and other
+# public service organizations have all decided to follow the summer time and
+# spring forward the clock. On the other hand, the custom office refused to
+# spring forward the clock because of worry on mechanical wear to the physical
+# clock, postal office refused to spring forward because of disruption to
+# business and log-keeping, although they did changed their office hour to
+# match rest of the city. So is travel agents, and also weather
+# observatory. It is said both time standards had their own supporters in the
+# city at the time, those who prefer new time standard would have moved their
+# clock while those who prefer the old time standard would keep their clock
+# unchange, and there were different clocks that use different time standard
+# in the city at the time for people who use different time standard to adjust
+# their clock to their preferred time.
+#
+# a. For the 1940 May 31 spring forward, the essay claim that it was
+# coordinared between the international settlement authority and the French
+# concession authority and have gathered support from Hong Kong and Xiamen,
+# that it would spring forward an hour from May 31 "midnight", and the essay
+# claim "Hong Kong government implemented the spring forward in the same time
+# on the same date as Shanghai".
+#
+# b. For the 1940 fall back, it was said that they initially intended to do
+# so on September 30 00:59 at night, however they postponed it to October 12
+# after discussion with relevant parties. However schools restored to the
+# original schedule ten days earlier.
+#
+# c. For the 1941 spring forward, it is said to start from March 15
+# "following the previous year's method", and in addition to that the essay
+# cited an announcement in 1941 from the Wang regime which said the Special
+# City of Shanghai under Wang regime control will follow the DST rule set by
+# the Settlements, irrespective of the original DST plan announced by the Wang
+# regime for other area under its control(April 1 to September 30). (no idea
+# to situation before that announcement)
+#
+# d. For the 1941 fall back, it was said that the fall back would occurs at
+# the end of September (A newspaper headline cited by the essay, published on
+# October 1, 1941, have the headlines which said "French Concession would
+# rewind to the old clock this morning), but it ultimately didn't happen due
+# to disagreement between the international settlement authority and the
+# French concession authority, and the fall back ultimately occurred on
+# November 1.
+#
+# e. In 1941 December, Japan have officially started war with the United
+# States and the United Kingdom, and in Shanghai they have marched into the
+# international settlement, taken over its control
+#
+# f. For the 1942 spring forward, the essay said that the spring forward
+# started on January 31. It said this time the custom office and postal
+# department will also change their clocks, unlike before.
+#
+# g. The essay itself didn't cover any specific changes thereafter until the
+# end of the war, it quoted a November 1942 command from the government of the
+# Wang regime, which claim the daylight saving time applies year round during
+# the war. However, the essay ambiguously said the period is "February 1 to
+# September 30", which I don't really understand what is the meaning of such
+# period in the context of year round implementation here.. More researches
+# might be needed to show exactly what happened during that period of time.
+
+# From Phake Nick (2020-04-15):
+# According to a Japanese tour bus pamphlet in Nanjing area believed to be
+# from around year 1941: http://www.tt-museum.jp/tairiku_0280_nan1941.html ,
+# the schedule listed was in the format of Japanese time. Which indicate some
+# use of the Japanese time (instead of syncing by DST) might have occurred in
+# the Yangtze river delta area during that period of time although the scope
+# of such use will need to be investigated to determine.
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Shang 1940 only - Jun 1 0:00 1:00 D
@@ -572,7 +676,7 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
6:00 - +06
-# Hong Kong (Xianggang)
+# Hong Kong
# Milne gives 7:36:41.7; round this.
@@ -582,9 +686,7 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
# it is not [an] observatory, but the official meteorological agency of HK,
# and also serves as the official timing agency), there are some missing
# and incorrect rules. Although the exact switch over time is missing, I
-# think 3:30 is correct. The official DST record for Hong Kong can be
-# obtained from
-# http://www.hko.gov.hk/gts/time/Summertime.htm
+# think 3:30 is correct.
# From Phake Nick (2018-10-27):
# According to Singaporean newspaper
@@ -695,10 +797,10 @@ Zone Asia/Urumqi 5:50:20 - LMT 1928
# Resolution of the Legislative Council passed on 9 May 1979
# https://www.legco.gov.hk/yr78-79/english/lc_sitg/hansard/h790509.pdf#page=39
-# From Paul Eggert (2019-05-31):
+# From Paul Eggert (2020-04-15):
# Here are the dates given at
-# https://www.hko.gov.hk/gts/time/Summertime.htm
-# as of 2014-06-19:
+# https://www.hko.gov.hk/en/gts/time/Summertime.htm
+# as of 2020-02-10:
# Year Period
# 1941 15 Jun to 30 Sep
# 1942 Whole year
@@ -1828,6 +1930,47 @@ Zone Asia/Jerusalem 2:20:54 - LMT 1880
# '9:00' and 'JST' is from Guy Harris.
+# From Paul Eggert (2020-01-19):
+# Starting in the 7th century, Japan generally followed an ancient Chinese
+# timekeeping system that divided night and day into six hours each,
+# with hour length depending on season. In 1873 the government
+# started requiring the use of a Western style 24-hour clock. See:
+# Yulia Frumer, "Making Time: Astronomical Time Measurement in Tokugawa Japan"
+# . As the tzdb code and
+# data support only 24-hour clocks, its tables model timestamps before
+# 1873 using Western-style local mean time.
+
+# From Hideyuki Suzuki (1998-11-09):
+# 'Tokyo' usually stands for the former location of Tokyo Astronomical
+# Observatory: 139° 44' 40.90" E (9h 18m 58.727s), 35° 39' 16.0" N.
+# This data is from 'Rika Nenpyou (Chronological Scientific Tables) 1996'
+# edited by National Astronomical Observatory of Japan....
+# JST (Japan Standard Time) has been used since 1888-01-01 00:00 (JST).
+# The law is enacted on 1886-07-07.
+
+# From Hideyuki Suzuki (1998-11-16):
+# The ordinance No. 51 (1886) established "standard time" in Japan,
+# which stands for the time on 135° E.
+# In the ordinance No. 167 (1895), "standard time" was renamed to "central
+# standard time". And the same ordinance also established "western standard
+# time", which stands for the time on 120° E.... But "western standard
+# time" was abolished in the ordinance No. 529 (1937). In the ordinance No.
+# 167, there is no mention regarding for what place western standard time is
+# standard....
+#
+# I wrote "ordinance" above, but I don't know how to translate.
+# In Japanese it's "chokurei", which means ordinance from emperor.
+
+# From Yu-Cheng Chuang (2013-07-12):
+# ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause
+# about standard time" ... The adoption began from Jan 1, 1896.
+# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時)
+#
+# ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which
+# means the whole Japan territory, including later occupations, adopt Japan
+# Central Time (UT+9). The adoption began on Oct 1, 1937.
+# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件
+
# From Paul Eggert (1995-03-06):
# Today's _Asahi Evening News_ (page 4) reports that Japan had
# daylight saving between 1948 and 1951, but "the system was discontinued
@@ -1876,37 +2019,6 @@ Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S
Rule Japan 1949 only - Apr Sat>=1 24:00 1:00 D
Rule Japan 1950 1951 - May Sat>=1 24:00 1:00 D
-# From Hideyuki Suzuki (1998-11-09):
-# 'Tokyo' usually stands for the former location of Tokyo Astronomical
-# Observatory: 139° 44' 40.90" E (9h 18m 58.727s), 35° 39' 16.0" N.
-# This data is from 'Rika Nenpyou (Chronological Scientific Tables) 1996'
-# edited by National Astronomical Observatory of Japan....
-# JST (Japan Standard Time) has been used since 1888-01-01 00:00 (JST).
-# The law is enacted on 1886-07-07.
-
-# From Hideyuki Suzuki (1998-11-16):
-# The ordinance No. 51 (1886) established "standard time" in Japan,
-# which stands for the time on 135° E.
-# In the ordinance No. 167 (1895), "standard time" was renamed to "central
-# standard time". And the same ordinance also established "western standard
-# time", which stands for the time on 120° E.... But "western standard
-# time" was abolished in the ordinance No. 529 (1937). In the ordinance No.
-# 167, there is no mention regarding for what place western standard time is
-# standard....
-#
-# I wrote "ordinance" above, but I don't know how to translate.
-# In Japanese it's "chokurei", which means ordinance from emperor.
-
-# From Yu-Cheng Chuang (2013-07-12):
-# ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause
-# about standard time" ... The adoption began from Jan 1, 1896.
-# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時)
-#
-# ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which
-# means the whole Japan territory, including later occupations, adopt Japan
-# Central Time (UT+9). The adoption began on Oct 1, 1937.
-# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件
-
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
9:00 Japan J%sT
@@ -3086,22 +3198,9 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# [T]he Palestinian cabinet decision (Mar 8th 2016) published on
# http://www.palestinecabinet.gov.ps/WebSite/Upload/Decree/GOV_17/16032016134830.pdf
# states that summer time will end on Oct 29th at 01:00.
-#
-# From Tim Parenti (2016-10-19):
-# Predict fall transitions on October's last Saturday at 01:00 from now on.
-# This is consistent with the 2016 transition as well as our spring
-# predictions.
-#
-# From Paul Eggert (2016-10-19):
-# It's also consistent with predictions in the following URLs today:
-# https://www.timeanddate.com/time/change/gaza-strip/gaza
-# https://www.timeanddate.com/time/change/west-bank/hebron
# From Sharef Mustafa (2018-03-16):
-# Palestine summer time will start on Mar 24th 2018 by advancing the
-# clock by 60 minutes as per Palestinian cabinet decision published on
-# the official website, though the decree did not specify the exact
-# time of the time shift.
+# Palestine summer time will start on Mar 24th 2018 ...
# http://www.palestinecabinet.gov.ps/Website/AR/NDecrees/ViewFile.ashx?ID=e7a42ab7-ee23-435a-b9c8-a4f7e81f3817
# From Even Scharning (2019-03-23):
@@ -3111,15 +3210,20 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# From Sharif Mustafa (2019-03-26):
# The Palestinian cabinet announced today that the switch to DST will
# be on Fri Mar 29th 2019 by advancing the clock by 60 minutes.
-# The decree signing date is Mar 12th but it was not published till today.
-# The decree does not specify the exact time of switch.
# http://palestinecabinet.gov.ps/Website/AR/NDecrees/ViewFile.ashx?ID=e54e9ea1-50ee-4137-84df-0d6c78da259b
#
# From Even Scharning (2019-04-10):
# Our source in Palestine said it happened Friday 29 at 00:00 local time....
+
+# From Sharef Mustafa (2019-10-18):
+# Palestine summer time will end on midnight Oct 26th 2019 ...
+# http://www.palestinecabinet.gov.ps/website/ar/ViewDetails?ID=43948
#
# From Paul Eggert (2019-04-10):
# For now, guess spring-ahead transitions are March's last Friday at 00:00.
+#
+# From Tim Parenti (2016-10-19):
+# Predict fall transitions on October's last Saturday at 01:00 from now on.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
diff --git a/backward b/backward
index b4ae3cf9d3e2..e13ae527a9e8 100644
--- a/backward
+++ b/backward
@@ -17,6 +17,7 @@ Link America/Atikokan America/Coral_Harbour
Link America/Argentina/Cordoba America/Cordoba
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
+Link America/Nuuk America/Godthab
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
diff --git a/backzone b/backzone
index 3ccadd139240..91fa21da8e39 100644
--- a/backzone
+++ b/backzone
@@ -33,6 +33,35 @@
# assumes rules from other files. In the tz distribution, use
# 'make PACKRATDATA=backzone zones' to compile and install this file.
+
+# From Paul Eggert (2020-04-15):
+# The following remarks should be incorporated into this table sometime.
+# Patches in 'git format-patch' format would be welcome.
+#
+# From Phake Nick (2020-04-15):
+# ... the historical timezone data for those China zones seems to be
+# incorrect. The transition to GMT+8 date given there for these zones
+# were 1980 which also contradict the file description that they do
+# not disagree with normal zone after 1970. According to sources that
+# have also been cited in the asia file, except Xinjiang and Tibet,
+# they should have adopted the Beijing Time from around 1949/1950
+# depends on exactly when each of those cities were taken over by the
+# communist army. And they should also follow the DST setting of
+# Asia/Shanghai after that point of time. In addition,
+# http://gaz.ncl.edu.tw/detail.jsp?sysid=E1091792 the document from
+# Chongqing Nationalist government say in year 1945 all of China
+# should adopt summer time due to the war (not sure whether it
+# continued after WWII ends)(Probably only enforced in area under
+# their rule at the time?) The Asia/Harbin's 1932 and 1940 entry
+# should also be incorrect. As per sources recorded at
+# https://wiki.suikawiki.org/n/%E6%BA%80%E5%B7%9E%E5%9B%BD%E3%81%AE%E6%A8%99%E6%BA%96%E6%99%82
+# , in 1932 Harbin should have adopted UTC+8:00 instead of data
+# currently listed in the tz database according to official
+# announcement from Manchuko. And they should have adopted GMT+9 in
+# 1937 January 1st according to official announcement at the time
+# being cited on the webpage.
+
+
# Zones are sorted by zone name. Each zone is preceded by the
# name of the country that the zone is in, along with any other
# commentary and rules associated with the entry.
diff --git a/europe b/europe
index 361b396c026d..5593c6079db1 100644
--- a/europe
+++ b/europe
@@ -549,12 +549,13 @@ Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2
0:00 1:00 IST 1947 Nov 2 2:00s
0:00 - GMT 1948 Apr 18 2:00s
0:00 GB-Eire GMT/IST 1968 Oct 27
-# The next line is for when negative SAVE values are used.
+# Vanguard section, for zic and other parsers that support negative DST.
1:00 Eire IST/GMT
-# These three lines are for when SAVE values are always nonnegative.
+# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
# 1:00 - IST 1971 Oct 31 2:00u
# 0:00 GB-Eire GMT/IST 1996
# 0:00 EU GMT/IST
+# End of rearguard section.
###############################################################################
@@ -1018,7 +1019,7 @@ Zone Europe/Prague 0:57:44 - LMT 1850
1:00 Czech CE%sT 1946 Dec 1 3:00
# Vanguard section, for zic and other parsers that support negative DST.
1:00 -1:00 GMT 1947 Feb 23 2:00
-# Rearguard section, for parsers that do not support negative DST.
+# Rearguard section, for parsers lacking negative DST; see ziguard.awk.
# 0:00 - GMT 1947 Feb 23 2:00
# End of rearguard section.
1:00 Czech CE%sT 1979
@@ -1175,14 +1176,17 @@ Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02 1996
0:00 - GMT
+#
+# Use the old name Scoresbysund, as the current name Ittoqqortoormiit
+# exceeds tzdb's 14-letter limit and has no common English abbreviation.
Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit
-2:00 - -02 1980 Apr 6 2:00
-2:00 C-Eur -02/-01 1981 Mar 29
-1:00 EU -01/+00
-Zone America/Godthab -3:26:56 - LMT 1916 Jul 28 # Nuuk
+Zone America/Nuuk -3:26:56 - LMT 1916 Jul 28 # Godthåb
-3:00 - -03 1980 Apr 6 2:00
-3:00 EU -03/-02
-Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base
+Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik
-4:00 Thule A%sT
# Estonia
@@ -1552,7 +1556,7 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 Oct
#
# From January 1st, 1908 the whole of Iceland was standardised at 1 hour
# behind GMT. Previously, local mean solar time was used in different parts
-# of Iceland, the almanak had been based on Reykjavik mean solar time which
+# of Iceland, the almanak had been based on Reykjavík mean solar time which
# was 1 hour and 28 minutes behind GMT.
#
# "first day of winter" referred to [below] means the first day of the 26 weeks
diff --git a/leap-seconds.list b/leap-seconds.list
index a1bc5a782a83..ac153daebf86 100644
--- a/leap-seconds.list
+++ b/leap-seconds.list
@@ -62,7 +62,7 @@
# Terry Quinn, "The BIPM and the Accurate Measurement
# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
# July, 1991.
-# reprinted in:
+# reprinted in:
# Christine Hackman and Donald B Sullivan (eds.)
# Time and Frequency Measurement
# American Association of Physics Teachers (1996)
@@ -204,10 +204,10 @@
# current -- the update time stamp, the data and the name of the file
# will not change.
#
-# Updated through IERS Bulletin C58
-# File expires on: 28 June 2020
+# Updated through IERS Bulletin C59
+# File expires on: 28 December 2020
#
-#@ 3802291200
+#@ 3818102400
#
2272060800 10 # 1 Jan 1972
2287785600 11 # 1 Jul 1972
@@ -252,4 +252,4 @@
# the hash line is also ignored in the
# computation.
#
-#h f28827d2 f263b6c3 ec0f19eb a3e0dbf0 97f3fa30
+#h a1c168ae 27c79a7d 9dddcfc3 bcfe616b 2e2c44ea
diff --git a/leapseconds b/leapseconds
index 7808df8f894f..3b9cc7b20317 100644
--- a/leapseconds
+++ b/leapseconds
@@ -64,9 +64,15 @@ Leap 2012 Jun 30 23:59:60 + S
Leap 2015 Jun 30 23:59:60 + S
Leap 2016 Dec 31 23:59:60 + S
+# UTC timestamp when this leap second list expires.
+# Any additional leap seconds will come after this.
+# This Expires line is commented out for now,
+# so that pre-2020a zic implementations do not reject this file.
+#Expires 2020 Dec 28 00:00:00
+
# POSIX timestamps for the data in this file:
#updated 1467936000 (2016-07-08 00:00:00 UTC)
-#expires 1593302400 (2020-06-28 00:00:00 UTC)
+#expires 1609113600 (2020-12-28 00:00:00 UTC)
-# Updated through IERS Bulletin C58
-# File expires on: 28 June 2020
+# Updated through IERS Bulletin C59
+# File expires on: 28 December 2020
diff --git a/leapseconds.awk b/leapseconds.awk
index 1fe50120afda..924ade9e2193 100644
--- a/leapseconds.awk
+++ b/leapseconds.awk
@@ -68,12 +68,12 @@ BEGIN {
monthabbr[11] = "Nov"
monthabbr[12] = "Dec"
- # Strip trailing CR, in case the input has CRLF form a la NIST.
- RS = "\r?\n"
-
sstamp_init()
}
+# In case the input has CRLF form a la NIST.
+{ sub(/\r$/, "") }
+
/^#[ \t]*[Uu]pdated through/ || /^#[ \t]*[Ff]ile expires on/ {
last_lines = last_lines $0 "\n"
}
@@ -100,6 +100,17 @@ BEGIN {
}
END {
+ sstamp_to_ymdhMs(expires, ss_NTP)
+
+ print ""
+ print "# UTC timestamp when this leap second list expires."
+ print "# Any additional leap seconds will come after this."
+ print "# This Expires line is commented out for now,"
+ print "# so that pre-2020a zic implementations do not reject this file."
+ printf "%sExpires %.4d\t%s\t%.2d\t%.2d:%.2d:%.2d\n", \
+ EXPIRES_LINE ? "" : "#", \
+ ss_year, monthabbr[ss_month], ss_mday, ss_hour, ss_min, ss_sec
+
# The difference between the NTP and POSIX epochs is 70 years
# (including 17 leap days), each 24 hours of 60 minutes of 60
# seconds each.
diff --git a/northamerica b/northamerica
index 8771d96e64e8..febf05bfddb6 100644
--- a/northamerica
+++ b/northamerica
@@ -86,7 +86,7 @@
# For more about the first ten years of DST in the United States, see
# Robert Garland, Ten years of daylight saving from the Pittsburgh standpoint
# (Carnegie Library of Pittsburgh, 1927).
-# http://www.clpgh.org/exhibit/dst.html
+# https://web.archive.org/web/20160517155308/http://www.clpgh.org/exhibit/dst.html
#
# Shanks says that DST was called "War Time" in the US in 1918 and 1919.
# However, DST was imposed by the Standard Time Act of 1918, which
@@ -1470,7 +1470,8 @@ Zone America/Goose_Bay -4:01:40 - LMT 1884 # Happy Valley-Goose Bay
-4:00 Canada A%sT
-# west Labrador, Nova Scotia, Prince Edward I
+# west Labrador, Nova Scotia, Prince Edward I,
+# Îles-de-la-Madeleine, Listuguj reserve
# From Brian Inglis (2015-07-20):
# From the historical weather station records available at:
@@ -1489,6 +1490,13 @@ Zone America/Goose_Bay -4:01:40 - LMT 1884 # Happy Valley-Goose Bay
# in Canada to observe DST in 1971 but not 1970; for now we'll assume
# this is a typo.
+# From Jeffery Nichols (2020-01-09):
+# America/Halifax ... also applies to Îles-de-la-Madeleine and the Listuguj
+# reserve in Quebec. Officially, this came into effect on January 1, 2007
+# (Legal Time Act, CQLR c T-5.1), but the legislative debates surrounding that
+# bill say that it is "accommodating the customs and practices" of those
+# regions, which suggests that they have always been in-line with Halifax.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Halifax 1916 only - Apr 1 0:00 1:00 D
Rule Halifax 1916 only - Oct 1 0:00 0 S
@@ -1582,19 +1590,20 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# Quebec
-# From Paul Eggert (2015-03-24):
+# From Paul Eggert (2020-01-10):
# See America/Toronto for most of Quebec, including Montreal.
+# See America/Halifax for the Îles de la Madeleine and the Listuguj reserve.
#
# Matthews and Vincent (1998) also write that Quebec east of the -63
# meridian is supposed to observe AST, but residents as far east as
# Natashquan use EST/EDT, and residents east of Natashquan use AST.
# The Quebec department of justice writes in
# "The situation in Minganie and Basse-Côte-Nord"
-# http://www.justice.gouv.qc.ca/english/publications/generale/temps-minganie-a.htm
+# https://www.justice.gouv.qc.ca/en/department/ministre/functions-and-responsabilities/legal-time-in-quebec/the-situation-in-minganie-and-basse-cote-nord/
# that the coastal strip from just east of Natashquan to Blanc-Sablon
# observes Atlantic standard time all year round.
-# https://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en
-# says this common practice was codified into law as of 2007.
+# This common practice was codified into law as of 2007; see Legal Time Act,
+# CQLR c T-5.1 .
# For lack of better info, guess this practice began around 1970, contra to
# Shanks & Pottenger who have this region observing AST/ADT.
@@ -1613,6 +1622,15 @@ Zone America/Blanc-Sablon -3:48:28 - LMT 1884
# Nipigon (EST) and Rainy River (CST) are the largest that we know of.
# Far west Ontario is like Winnipeg; far east Quebec is like Halifax.
+# From Jeffery Nichols (2020-02-06):
+# According to the [Shanks] atlas, those western Ontario zones are huge,
+# covering most of Ontario northwest of Sault Ste Marie and Timmins.
+# The zones seem to include towns bigger than the ones they're named after,
+# like Dryden in America/Rainy_River and Wawa (and maybe Attawapiskat) in
+# America/Nipigon. I assume it's too much trouble to change the name of the
+# zone (like when you found out that America/Glace_Bay includes Sydney, Nova
+# Scotia)....
+
# From Mark Brader (2003-07-26):
# [According to the Toronto Star] Orillia, Ontario, adopted DST
# effective Saturday, 1912-06-22, 22:00; the article mentions that
@@ -2419,6 +2437,18 @@ Zone America/Creston -7:46:04 - LMT 1884
# obtained in November 2008 should be ignored...
# I apologize for reporting incorrect information in 2008.
+# From Tim Parenti (2020-03-05):
+# The government of Yukon announced [yesterday] the cessation of seasonal time
+# changes. "After clocks are pushed ahead one hour on March 8, the territory
+# will remain on [UTC-07]. ... [The government] found 93 per cent of
+# respondents wanted to end seasonal time changes and, of that group, 70 per
+# cent wanted 'permanent Pacific Daylight Saving Time.'"
+# https://www.cbc.ca/news/canada/north/yukon-end-daylight-saving-time-1.5486358
+#
+# Although the government press release prefers PDT, we prefer MST for
+# consistency with nearby Dawson Creek, Creston, and Fort Nelson.
+# https://yukon.ca/en/news/yukon-end-seasonal-time-change
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D
Rule NT_YK 1918 only - Oct 27 2:00 0 S
@@ -2473,11 +2503,13 @@ Zone America/Inuvik 0 - -00 1953 # Inuvik founded
Zone America/Whitehorse -9:00:12 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1967 May 28 0:00
-8:00 NT_YK P%sT 1980
- -8:00 Canada P%sT
+ -8:00 Canada P%sT 2020 Mar 8 2:00
+ -7:00 - MST
Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
-9:00 NT_YK Y%sT 1973 Oct 28 0:00
-8:00 NT_YK P%sT 1980
- -8:00 Canada P%sT
+ -8:00 Canada P%sT 2020 Mar 8 2:00
+ -7:00 - MST
###############################################################################
diff --git a/theory.html b/theory.html
index 7af7cb23c657..c0e6f021269a 100644
--- a/theory.html
+++ b/theory.html
@@ -298,6 +298,10 @@ in decreasing order of importance:
If a name is changed, put its old spelling in the
'backward
' file.
This means old spellings will continue to work.
+ Ordinarily a name change should occur only in the rare case when
+ a location's consensus English-language spelling changes; for example,
+ in 2008 Asia/Calcutta
was renamed to Asia/Kolkata
+ due to long-time widespread use of the new city name instead of the old.
@@ -1053,23 +1057,6 @@ an older zic
.
extra timezone_t
argument.
The functions were inspired by NetBSD.
-
- A function tzsetwall
has been added to arrange for the
- system's best approximation to local (wall clock) time to be delivered
- by subsequent calls to localtime
.
- Source code for portable applications that "must" run on local
- time should call tzsetwall
;
- if such code is moved to "old" systems that do not
- provide tzsetwall
, you will not be able to generate an
- executable program.
- (These functions also arrange for local time to
- be used if tzset
is called – directly or
- indirectly – and there is no TZ
environment
- variable; portable applications should not, however, rely on this
- behavior since it is not the way SVR2
- systems behave.)
-
Negative time_t
values are supported, on systems
where time_t
is signed.
@@ -1137,7 +1124,7 @@ The vestigial APIs are:
may now examine localtime(&clock)->tm_zone
(if TM_ZONE
is defined) or
tzname[localtime(&clock)->tm_isdst]
- (if HAVE_TZNAME
is defined) to learn the correct time
+ (if HAVE_TZNAME
is nonzero) to learn the correct time
zone abbreviation to use.
diff --git a/version b/version
index db18f8311daf..7f680eec360e 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2019c
+2020a
diff --git a/zone.tab b/zone.tab
index 408fcb2051d7..8d056e374835 100644
--- a/zone.tab
+++ b/zone.tab
@@ -131,8 +131,8 @@ CA +4906-11631 America/Creston MST - BC (Creston)
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
-CA +6043-13503 America/Whitehorse Pacific - Yukon (south)
-CA +6404-13925 America/Dawson Pacific - Yukon (north)
+CA +6043-13503 America/Whitehorse Pacific - Yukon (east)
+CA +6404-13925 America/Dawson Pacific - Yukon (west)
CC -1210+09655 Indian/Cocos
CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west)
CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east)
@@ -189,7 +189,7 @@ GF +0456-05220 America/Cayenne
GG +492717-0023210 Europe/Guernsey
GH +0533-00013 Africa/Accra
GI +3608-00521 Europe/Gibraltar
-GL +6411-05144 America/Godthab Greenland (most areas)
+GL +6411-05144 America/Nuuk Greenland (most areas)
GL +7646-01840 America/Danmarkshavn National Park (east coast)
GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit
GL +7634-06847 America/Thule Thule/Pituffik
@@ -335,7 +335,7 @@ RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
# The obsolescent zone.tab format cannot represent Europe/Simferopol well.
# Put it in RU section and list as UA. See "territorial claims" above.
# Programs should use zone1970.tab instead; see above.
-UA +4457+03406 Europe/Simferopol MSK+00 - Crimea
+UA +4457+03406 Europe/Simferopol Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
@@ -399,8 +399,8 @@ TV -0831+17913 Pacific/Funafuti
TW +2503+12130 Asia/Taipei
TZ -0648+03917 Africa/Dar_es_Salaam
UA +5026+03031 Europe/Kiev Ukraine (most areas)
-UA +4837+02218 Europe/Uzhgorod Ruthenia
-UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east)
+UA +4837+02218 Europe/Uzhgorod Transcarpathia
+UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk
UG +0019+03225 Africa/Kampala
UM +2813-17722 Pacific/Midway Midway Islands
UM +1917+16637 Pacific/Wake Wake Island
diff --git a/zone1970.tab b/zone1970.tab
index 822ffa1f1af0..53ee77e88e5e 100644
--- a/zone1970.tab
+++ b/zone1970.tab
@@ -128,8 +128,8 @@ CA +4906-11631 America/Creston MST - BC (Creston)
CA +5946-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
-CA +6043-13503 America/Whitehorse Pacific - Yukon (south)
-CA +6404-13925 America/Dawson Pacific - Yukon (north)
+CA +6043-13503 America/Whitehorse Pacific - Yukon (east)
+CA +6404-13925 America/Dawson Pacific - Yukon (west)
CC -1210+09655 Indian/Cocos
CH,DE,LI +4723+00832 Europe/Zurich Swiss time
CI,BF,GM,GN,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan
@@ -173,7 +173,7 @@ GE +4143+04449 Asia/Tbilisi
GF +0456-05220 America/Cayenne
GH +0533-00013 Africa/Accra
GI +3608-00521 Europe/Gibraltar
-GL +6411-05144 America/Godthab Greenland (most areas)
+GL +6411-05144 America/Nuuk Greenland (most areas)
GL +7646-01840 America/Danmarkshavn National Park (east coast)
GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit
GL +7634-06847 America/Thule Thule/Pituffik
@@ -290,7 +290,7 @@ RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
# Mention RU and UA alphabetically. See "territorial claims" above.
-RU,UA +4457+03406 Europe/Simferopol MSK+00 - Crimea
+RU,UA +4457+03406 Europe/Simferopol Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
RU +4844+04425 Europe/Volgograd MSK+01 - Volgograd
@@ -341,8 +341,8 @@ TT,AG,AI,BL,DM,GD,GP,KN,LC,MF,MS,VC,VG,VI +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti
TW +2503+12130 Asia/Taipei
UA +5026+03031 Europe/Kiev Ukraine (most areas)
-UA +4837+02218 Europe/Uzhgorod Ruthenia
-UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east)
+UA +4837+02218 Europe/Uzhgorod Transcarpathia
+UA +4750+03510 Europe/Zaporozhye Zaporozhye and east Lugansk
UM +1917+16637 Pacific/Wake Wake Island
US +404251-0740023 America/New_York Eastern (most areas)
US +421953-0830245 America/Detroit Eastern - MI (most areas)