aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorPhilip Paeps <philip@FreeBSD.org>2021-09-26 06:45:39 +0000
committerPhilip Paeps <philip@FreeBSD.org>2021-09-26 06:45:39 +0000
commit94c2d487f14bc7143bbf3a9809f1f8f98db9f0ab (patch)
tree02b48c1223db4cda14c6a21199c83a3b2fe609b8 /contrib
parentcb17f4a6bdaf133bdc658b8ed92ad2c62eff8a18 (diff)
parenta5725262945a2971af3b808088217fe975e8364e (diff)
downloadsrc-94c2d487f14bc7143bbf3a9809f1f8f98db9f0ab.tar.gz
src-94c2d487f14bc7143bbf3a9809f1f8f98db9f0ab.zip
contrib/tzdata: import tzdata 2021b
Merge commit 'a5725262945a2971af3b808088217fe975e8364e' Changes: https://github.com/eggert/tz/blob/2021b/NEWS MFC after: 3 days
Diffstat (limited to 'contrib')
-rw-r--r--contrib/tzdata/CONTRIBUTING15
-rw-r--r--contrib/tzdata/Makefile43
-rw-r--r--contrib/tzdata/NEWS229
-rw-r--r--contrib/tzdata/africa135
-rw-r--r--contrib/tzdata/antarctica29
-rw-r--r--contrib/tzdata/asia34
-rw-r--r--contrib/tzdata/australasia120
-rw-r--r--contrib/tzdata/backward102
-rw-r--r--contrib/tzdata/backzone426
-rw-r--r--contrib/tzdata/checktab.awk50
-rw-r--r--contrib/tzdata/europe44
-rw-r--r--contrib/tzdata/leap-seconds.list8
-rw-r--r--contrib/tzdata/leapseconds8
-rw-r--r--contrib/tzdata/northamerica244
-rw-r--r--contrib/tzdata/southamerica87
-rw-r--r--contrib/tzdata/theory.html39
-rw-r--r--contrib/tzdata/version2
-rw-r--r--contrib/tzdata/ziguard.awk11
-rw-r--r--contrib/tzdata/zone.tab9
-rw-r--r--contrib/tzdata/zone1970.tab29
20 files changed, 1092 insertions, 572 deletions
diff --git a/contrib/tzdata/CONTRIBUTING b/contrib/tzdata/CONTRIBUTING
index 01336fce7f74..537335423ff4 100644
--- a/contrib/tzdata/CONTRIBUTING
+++ b/contrib/tzdata/CONTRIBUTING
@@ -26,8 +26,11 @@ to work well. Additions to data should contain commentary citing
reliable sources as justification. Citations should use https: URLs
if available.
+For changes that fix sensitive security-related bugs, please see the
+file SECURITY.
+
Please submit changes against either the latest release in
-<https://www.iana.org/time-zones> or the master branch of the development
+<https://www.iana.org/time-zones> or the main branch of the development
repository. The latter is preferred. If you use Git the following
workflow may be helpful:
@@ -36,9 +39,9 @@ workflow may be helpful:
git clone https://github.com/eggert/tz.git
cd tz
- * Get current with the master branch.
+ * Get current with the main branch.
- git checkout master
+ git checkout main
git pull
* Switch to a new branch for the changes. Choose a different
@@ -70,17 +73,17 @@ workflow may be helpful:
* Create patch files 0001-*, 0002-*, ...
- git format-patch master
+ git format-patch main
* After reviewing the patch files, send the patches to tz@iana.org
for others to review.
- git send-email master
+ git send-email main
For an archived example of such an email, see
<https://mm.icann.org/pipermail/tz/2018-February/026122.html>.
- * Start anew by getting current with the master branch again
+ * Start anew by getting current with the main branch again
(the second step above).
Please do not create issues or pull requests on GitHub, as the
diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile
index 1136af9298f1..33f31684114b 100644
--- a/contrib/tzdata/Makefile
+++ b/contrib/tzdata/Makefile
@@ -45,9 +45,9 @@ LOCALTIME= GMT
#
# Any other value for POSIXRULES is obsolete and should not be relied on, as:
# * 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.
+# * It does not work even in tzcode, except for historical timestamps
+# that precede the last explicit transition in the POSIXRULES file.
+# Hence it typically does not work for current and future timestamps.
# In short, software should avoid ruleless settings like TZ='EET-2EEST'
# and so should not depend on the value of POSIXRULES.
#
@@ -122,8 +122,8 @@ LIBDIR = $(TOPDIR)/$(USRDIR)/lib
# Types to try, as an alternative to time_t.
TIME_T_ALTERNATIVES = $(TIME_T_ALTERNATIVES_HEAD) $(TIME_T_ALTERNATIVES_TAIL)
-TIME_T_ALTERNATIVES_HEAD = int64_t
-TIME_T_ALTERNATIVES_TAIL = int32_t uint32_t uint64_t
+TIME_T_ALTERNATIVES_HEAD = int_least64_t
+TIME_T_ALTERNATIVES_TAIL = int_least32_t uint_least32_t uint_least64_t
# What kind of TZif data files to generate. (TZif is the binary time
# zone data format that zic generates; see Internet RFC 8536.)
@@ -152,8 +152,10 @@ REDO= posix_right
# 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.
+# and was modified in tzdb 2021b to generate version 4 TZif files.
+# EXPIRES_LINE defaults to 0 for now so that the leapseconds file
+# can be given to pre-2020a zic implementations and so that TZif files
+# built by newer zic implementations can be read by pre-2021b libraries.
EXPIRES_LINE= 0
# To install data in text form that has all the information of the TZif data,
@@ -210,6 +212,7 @@ LDLIBS=
# -DHAVE_LOCALTIME_R=0 if your system lacks a localtime_r function
# -DHAVE_LOCALTIME_RZ=0 if you do not want zdump to use localtime_rz
# localtime_rz can make zdump significantly faster, but is nonstandard.
+# -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure.
# -DHAVE_POSIX_DECLS=0 if your system's include files do not declare
# functions like 'link' or variables like 'tzname' required by POSIX
# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function
@@ -220,7 +223,6 @@ LDLIBS=
# -DHAVE_STRTOLL=0 if your system lacks the strtoll function
# -DHAVE_SYMLINK=0 if your system lacks the symlink function
# -DHAVE_SYS_STAT_H=0 if your compiler lacks a <sys/stat.h>
-# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a <sys/wait.h>
# -DHAVE_TZSET=0 if your system lacks a tzset function
# -DHAVE_UNISTD_H=0 if your compiler lacks a <unistd.h>
# -Dlocale_t=XXX if your system uses XXX instead of locale_t
@@ -257,22 +259,26 @@ LDLIBS=
GCC_INSTRUMENT = \
-fsanitize=undefined -fsanitize-address-use-after-scope \
-fsanitize-undefined-trap-on-error -fstack-protector
+# Omit -fanalyzer from GCC_DEBUG_FLAGS, as it makes GCC too slow.
GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fno-common \
$(GCC_INSTRUMENT) \
-Wall -Wextra \
-Walloc-size-larger-than=100000 -Warray-bounds=2 \
-Wbad-function-cast -Wcast-align=strict -Wdate-time \
-Wdeclaration-after-statement -Wdouble-promotion \
+ -Wduplicated-branches -Wduplicated-cond \
-Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \
- -Winit-self -Wjump-misses-init -Wlogical-op \
+ -Winit-self -Wlogical-op \
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs \
+ -Wnull-dereference \
-Wold-style-definition -Woverlength-strings -Wpointer-arith \
- -Wshadow -Wshift-overflow=2 -Wstrict-prototypes -Wstringop-overflow=4 \
+ -Wshadow -Wshift-overflow=2 -Wstrict-overflow \
+ -Wstrict-prototypes -Wstringop-overflow=4 \
-Wstringop-truncation -Wsuggest-attribute=cold \
-Wsuggest-attribute=const -Wsuggest-attribute=format \
-Wsuggest-attribute=malloc \
-Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \
- -Wtrampolines -Wundef -Wuninitialized -Wunused \
+ -Wtrampolines -Wundef -Wuninitialized -Wunused-macros \
-Wvariadic-macros -Wvla -Wwrite-strings \
-Wno-address -Wno-format-nonliteral -Wno-sign-compare \
-Wno-type-limits -Wno-unused-parameter
@@ -523,7 +529,7 @@ TZS_YEAR= 2050
TZS_CUTOFF_FLAG= -c $(TZS_YEAR)
TZS= to$(TZS_YEAR).tzs
TZS_NEW= to$(TZS_YEAR)new.tzs
-TZS_DEPS= $(PRIMARY_YDATA) asctime.c localtime.c \
+TZS_DEPS= $(YDATA) asctime.c localtime.c \
private.h tzfile.h zdump.c zic.c
# EIGHT_YARDS is just a yard short of the whole ENCHILADA.
EIGHT_YARDS = $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) tzdata.zi
@@ -796,9 +802,10 @@ check_links: checklinks.awk $(TDATA_TO_CHECK) tzdata.zi
$(AWK) -f checklinks.awk tzdata.zi
touch $@
-check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES)
+check_tables: checktab.awk $(YDATA) backward $(ZONETABLES)
for tab in $(ZONETABLES); do \
- $(AWK) -f checktab.awk -v zone_table=$$tab $(PRIMARY_YDATA) \
+ test "$$tab" = zone.tab && links='$(BACKWARD)' || links=''; \
+ $(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA) $$links \
|| exit; \
done
touch $@
@@ -952,6 +959,12 @@ check_public: $(VERSION_DEPS)
public.dir/zic -v -d public.dir/zoneinfo $$i 2>&1 || exit; \
done
public.dir/zic -v -d public.dir/zoneinfo-all $(TDATA_TO_CHECK)
+ :
+ : Also check 'backzone' syntax.
+ rm public.dir/main.zi
+ cd public.dir && $(MAKE) PACKRATDATA=backzone main.zi
+ public.dir/zic -d public.dir/zoneinfo main.zi
+ :
rm -fr public.dir
touch $@
@@ -964,7 +977,7 @@ $(TIME_T_ALTERNATIVES): $(VERSION_DEPS)
mkdir $@.dir
ln $(VERSION_DEPS) $@.dir
case $@ in \
- int32_t) range=-2147483648,2147483648;; \
+ int*32_t) range=-2147483648,2147483648;; \
u*) range=0,4294967296;; \
*) range=-4294967296,4294967296;; \
esac && \
diff --git a/contrib/tzdata/NEWS b/contrib/tzdata/NEWS
index a60847beae81..d1ccf4e0fb7b 100644
--- a/contrib/tzdata/NEWS
+++ b/contrib/tzdata/NEWS
@@ -1,5 +1,228 @@
News for the tz database
+Release 2021b - 2021-09-24 16:23:00 -0700
+
+ Briefly:
+ Jordan now starts DST on February's last Thursday.
+ Samoa no longer observes DST.
+ Merge more location-based Zones whose timestamps agree since 1970.
+ Move some backward-compatibility links to 'backward'.
+ Rename Pacific/Enderbury to Pacific/Kanton.
+ Correct many pre-1993 transitions in Malawi, Portugal, etc.
+ zic now creates each output file or link atomically.
+ zic -L no longer omits the POSIX TZ string in its output.
+ zic fixes for truncation and leap second table expiration.
+ zic now follows POSIX for TZ strings using all-year DST.
+ Fix some localtime crashes and bugs in obscure cases.
+ zdump -v now outputs more-useful boundary cases.
+ tzfile.5 better matches a draft successor to RFC 8536.
+ A new file SECURITY.
+
+ This release is prompted by recent announcements by Jordan and Samoa.
+ It incorporates many other changes that had accumulated since 2021a.
+ However, it omits most proposed changes that merged all Zones
+ agreeing since 1970, as concerns were raised about doing too many of
+ these changes at once. It does keeps some of these changes in the
+ interest of making tzdb more equitable one step at a time; see
+ "Merge more location-based Zones" below.
+
+ Changes to future timestamps
+
+ Jordan now starts DST on February's last Thursday.
+ (Thanks to Steffen Thorsen.)
+
+ Samoa no longer observes DST. (Thanks to Geoffrey D. Bennett.)
+
+ Changes to zone name
+
+ Rename Pacific/Enderbury to Pacific/Kanton. When we added
+ Enderbury in 1993, we did not know that it is uninhabited and that
+ Kanton (population two dozen) is the only inhabited location in
+ that timezone. The old name is now a backward-compatility link.
+
+ Changes to past timestamps
+
+ Correct many pre-1993 transitions, fixing entries originally
+ derived from Shanks, Whitman, and Mundell. The fixes include:
+ - Barbados: standard time was introduced in 1911, not 1932; and
+ DST was observed in 1942-1944
+ - Cook Islands: In 1899 they switched from east to west of GMT,
+ celebrating Christmas for two days. They (and Niue) switched
+ to standard time in 1952, not 1901.
+ - Guyana: corrected LMT for Georgetown; the introduction of
+ standard time in 1911, not 1915; and corrections to 1975 and
+ 1992 transitions
+ - Kanton: uninhabited before 1937-08-31
+ - Niue: only observed -11:20 from 1952 through 1964, then went to
+ -11 instead of -11:30
+ - Portugal: DST was observed in 1950
+ - Tonga: corrected LMT; the introduction of standard time in 1945,
+ not 1901; and corrections to the transition from +12:20 to +13
+ in 1961, not 1941
+ Additional fixes to entries in the 'backzone' file include:
+ - Enderbury: inhabited only 1860/1885 and 1938-03-06/1942-02-09
+ - The Gambia: 1933 and 1942 transitions
+ - Malawi: several 1911 through 1925 transitions
+ - Sierra Leone: several 1913 through 1941 transitions, and DST
+ was NOT observed in 1957 through 1962
+ (Thanks to P Chan, Michael Deckers, Alexander Krivenyshev and
+ Alois Treindl.)
+
+ Merge more location-based Zones whose timestamps agree since 1970,
+ as pre-1970 timestamps are out of scope. This is part of a
+ process that has been ongoing since 2013. This does not affect
+ post-1970 timestamps, and timezone historians who build with 'make
+ PACKRATDATA=backzone' should see no changes to pre-1970 timestamps.
+ When merging, keep the most-populous location's data, and move
+ data for other locations to 'backzone' with a backward
+ link in 'backward'. For example, move America/Creston data to
+ 'backzone' with a link in 'backward' from America/Phoenix because
+ the two timezones' timestamps agree since 1970; this change
+ affects some pre-1968 timestamps in America/Creston because
+ Creston and Phoenix disagreed before 1968. The affected Zones
+ are Africa/Accra, America/Atikokan, America/Blanc-Sablon,
+ America/Creston, America/Curacao, America/Nassau,
+ America/Port_of_Spain, Antarctica/DumontDUrville, and
+ Antarctica/Syowa.
+
+ Changes to maintenance procedure
+
+ The new file SECURITY covers how to report security-related bugs.
+
+ Several backward-compatibility links have been moved to the
+ 'backward' file. These links, which range from Africa/Addis_Ababa
+ to Pacific/Saipan, are only for compatibility with now-obsolete
+ guidelines suggesting an entry for every ISO 3166 code.
+ The intercontinental convenience links Asia/Istanbul and
+ Europe/Nicosia have also been moved to 'backward'.
+
+ Changes to code
+
+ zic now creates each output file or link atomically,
+ possibly by creating a temporary file and then renaming it.
+ This avoids races where a TZ setting would temporarily stop
+ working while zic was installing a replacement file or link.
+
+ zic -L no longer omits the POSIX TZ string in its output.
+ Starting with 2020a, zic -L truncated its output according to the
+ "Expires" directive or "#expires" comment in the leapseconds file.
+ The resulting TZif files omitted daylight saving transitions after
+ the leap second table expired, which led to far less-accurate
+ predictions of times after the expiry. Although future timestamps
+ cannot be converted accurately in the presence of leap seconds, it
+ is more accurate to convert near-future timestamps with a few
+ seconds error than with an hour error, so zic -L no longer
+ truncates output in this way.
+
+ Instead, when zic -L is given the "Expires" directive, it now
+ outputs the expiration by appending a no-change entry to the leap
+ second table. Although this should work well with most TZif
+ readers, it does not conform to Internet RFC 8536 and some pickier
+ clients (including tzdb 2017c through 2021a) reject it, so
+ "Expires" directives are currently disabled by default. To enable
+ them, set the EXPIRES_LINE Makefile variable. If a TZif file uses
+ this new feature it is marked with a new TZif version number 4,
+ a format intended to be documented in a successor to RFC 8536.
+
+ zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
+ that omits leap second information for the range LO..B when LO
+ falls between two leap seconds A and B. Instead, it generates a
+ TZif version 4 file that represents the previously-missing
+ information.
+
+ The TZif reader now allows the leap second table to begin with a
+ correction other than -1 or +1, and to contain adjacent
+ transitions with equal corrections. This supports TZif version 4.
+
+ The TZif reader now lets leap seconds occur less than 28 days
+ apart. This supports possible future TZif extensions.
+
+ Fix bug that caused 'localtime' etc. to crash when TZ was
+ set to a all-year DST string like "EST5EDT4,0/0,J365/25" that does
+ not conform to POSIX but does conform to Internet RFC 8536.
+
+ Fix another bug that caused 'localtime' etc. to crash when TZ was
+ set to a POSIX-conforming but unusual TZ string like
+ "EST5EDT4,0/0,J365/0", where almost all the year is DST.
+
+ Fix yet another bug that caused 'localtime' etc. to mishandle slim
+ TZif files containing leap seconds after the last explicit
+ transition in the table, or when handling far-future timestamps
+ in slim TZif files lacking leap seconds.
+
+ Fix localtime misbehavior involving positive leap seconds.
+ This change affects only behavior for "right" system time,
+ which contains leap seconds, and only if the UT offset is
+ not a multiple of 60 seconds when a positive leap second occurs.
+ (No such timezone exists in tzdb, luckily.) Without the fix,
+ the timestamp was ambiguous during a positive leap second.
+ With the fix, any seconds occurring after a positive leap second
+ and within the same localtime minute are counted through 60, not
+ through 59; their UT offset (tm_gmtoff) is the same as before.
+ Here is how the fix affects timestamps in a timezone with UT
+ offset +01:23:45 (5025 seconds) and with a positive leap second at
+ 1972-06-30 23:59:60 UTC (78796800):
+
+ time_t without the fix with the fix
+ 78796800 1972-07-01 01:23:45 1972-07-01 01:23:45 (leap second)
+ 78796801 1972-07-01 01:23:45 1972-07-01 01:23:46
+ ...
+ 78796815 1972-07-01 01:23:59 1972-07-01 01:23:60
+ 78796816 1972-07-01 01:24:00 1972-07-01 01:24:00
+
+ Fix an unlikely bug that caused 'localtime' etc. to misbehave if
+ civil time changes a few seconds before time_t wraps around, when
+ leap seconds are enabled.
+
+ Fix bug in zic -r; in some cases, the dummy time type after the
+ last time transition disagreed with the TZ string, contrary to
+ Internet RFC 8563 section 3.3.
+
+ Fix a bug with 'zic -r @X' when X is a negative leap second that
+ has a nonnegative correction. Without the fix, the output file
+ was truncated so that X appeared to be a positive leap second.
+ Fix a similar, even-less-likely bug when truncating at a positive
+ leap second that has a nonpositive correction.
+
+ zic -r now reports an error if given rolling leap seconds, as this
+ usage has never generally worked and is evidently unused.
+
+ zic now generates a POSIX-conforming TZ string for TZif files
+ where all-year DST is predicted for the indefinite future.
+ For example, for all-year Eastern Daylight Time, zic now generates
+ "XXX3EDT4,0/0,J365/23" where it previously generated
+ "EST5EDT,0/0,J365/25" or "". (Thanks to Michael Deckers for
+ noting the possibility of POSIX conformance.)
+
+ zic.c no longer requires sys/wait.h (thanks to spazmodius for
+ noting it wasn't needed).
+
+ When reading slim TZif files, zdump no longer mishandles leap
+ seconds on the rare platforms where time_t counts leap seconds,
+ fixing a bug introduced in 2014g.
+
+ zdump -v now outputs timestamps at boundaries of what localtime
+ and gmtime can represent, instead of the less-useful timestamps
+ one day after the minimum and one day before the maximum.
+ (Thanks to Arthur David Olson for prototype code, and to Manuela
+ Friedrich for debugging help.)
+
+ zdump's -c and -t options are now consistently inclusive for the
+ lower time bound and exclusive for the upper. Formerly they were
+ inconsistent. (Confusion noted by Martin Burnicki.)
+
+ Changes to build procedure
+
+ You can now compile with -DHAVE_MALLOC_ERRNO=0 to port to
+ non-POSIX hosts where malloc doesn't set errno.
+ (Problem reported by Jan Engelhardt.)
+
+ Changes to documentation
+
+ tzfile.5 better matches a draft successor to RFC 8536
+ <https://datatracker.ietf.org/doc/draft-murchison-rfc8536bis/01/>.
+
+
Release 2021a - 2021-01-24 10:54:57 -0800
Changes to future timestamps
@@ -31,7 +254,7 @@ Release 2020e - 2020-12-22 15:14:34 -0800
Correct many pre-1986 transitions, fixing entries originally
derived from Shanks. The fixes include:
- Australia: several 1917 through 1971 transitions
- - Bahamas: several 1941 through 1945 transitions
+ - The Bahamas: several 1941 through 1945 transitions
- Bermuda: several 1917 through 1956 transitions
- Belize: several 1942 through 1968 transitions
- Ghana: several 1915 through 1956 transitions
@@ -825,8 +1048,8 @@ Release 2018d - 2018-03-22 07:05:46 -0700
Institute in Montevideo.
(Thanks to Jeremie Bonjour, Tim Parenti, and Michael Deckers.)
- Enderbury and Kiritimati skipped New Year's Eve 1994, not
- New Year's Day 1995. (Thanks to Kerry Shetline.)
+ East Kiribati skipped New Year's Eve 1994, not New Year's Day 1995.
+ (Thanks to Kerry Shetline.)
Fix the 1912-01-01 transition for Portugal and its colonies.
This transition was at 00:00 according to the new UT offset, not
diff --git a/contrib/tzdata/africa b/contrib/tzdata/africa
index 28168cfc17f8..c73f0df3785c 100644
--- a/contrib/tzdata/africa
+++ b/contrib/tzdata/africa
@@ -30,9 +30,6 @@
# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94.
# https://www.jstor.org/stable/1774359
#
-# A reliable and entertaining source about time zones is
-# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
-#
# European-style abbreviations are commonly used along the Mediterranean.
# For sub-Saharan Africa abbreviations were less standardized.
# Previous editions of this database used WAT, CAT, SAT, and EAT
@@ -153,15 +150,6 @@ Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Abidjan -0:16:08 - LMT 1912
0:00 - GMT
-Link Africa/Abidjan Africa/Bamako # Mali
-Link Africa/Abidjan Africa/Banjul # Gambia
-Link Africa/Abidjan Africa/Conakry # Guinea
-Link Africa/Abidjan Africa/Dakar # Senegal
-Link Africa/Abidjan Africa/Freetown # Sierra Leone
-Link Africa/Abidjan Africa/Lome # Togo
-Link Africa/Abidjan Africa/Nouakchott # Mauritania
-Link Africa/Abidjan Africa/Ouagadougou # Burkina Faso
-Link Africa/Abidjan Atlantic/St_Helena # St Helena
# Djibouti
# See Africa/Nairobi.
@@ -381,93 +369,8 @@ Zone Africa/Cairo 2:05:09 - LMT 1900 Oct
# Gabon
# See Africa/Lagos.
-# Gambia
-# See Africa/Abidjan.
-
+# The Gambia
# Ghana
-
-# From P Chan (2020-11-20):
-# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
-# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
-# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
-# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
-# Interpretation Ordinance, 1876.
-#
-# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
-# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
-# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
-# This Ordinance removed the previous definition of time and introduced DST.
-#
-# Time Determination Ordinance (Cap. 214)
-# The Laws of the Gold Coast (including Togoland Under British Mandate)
-# Vol. II (1937), p 2328
-# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
-# Revised edition of the 1919 Ordinance.
-#
-# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
-# Annual Volume of the Laws of the Gold Coast:
-# Containing All Legislation Enacted During Year 1940, p 22
-# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
-# This Ordinance changed the forward transition from September to May.
-#
-# Defence (Time Determination Ordinance Amendment) Regulations, 1942
-# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
-# Annual Volume of the Laws of the Gold Coast:
-# Containing All Legislation Enacted During Year 1942, p 48
-# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
-# These regulations advanced the [standard] time by thirty minutes.
-#
-# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
-# 1942 (Regulations No. 28 of 1942) [1942-04-25]
-# Annual Volume of the Laws of the Gold Coast:
-# Containing All Legislation Enacted During Year 1942, p 87
-# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
-# These regulations abolished DST and changed the time to GMT+0:30.
-#
-# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
-# 1945) [1945-10-24, commenced on 1946-01-06]
-# Annual Volume of the Laws of the Gold Coast:
-# Containing All Legislation Enacted During Year 1945, p 256
-# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
-# These regulations revoked the previous two sets of Regulations.
-#
-# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
-# Annual Volume of the Laws of the Gold Coast:
-# Containing All Legislation Enacted During Year 1945, p 69
-# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
-# This Ordinance abolished DST.
-#
-# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
-# Annual Volume of the Laws of the Gold Coast:
-# Containing All Legislation Enacted During Year 1950, p 35
-# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
-# This Ordinance restored DST but with thirty minutes offset.
-#
-# Time Determination Ordinance (Cap. 264)
-# The Laws of the Gold Coast, Vol. V (1954), p 380
-# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
-# Revised edition of the Time Determination Ordinance.
-#
-# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
-# Annual Volume of the Ordinances of the Gold Coast Enacted During the
-# Year 1956, p 83
-# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
-# This Ordinance abolished DST.
-
-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
-Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
-Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
-Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
-Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
-Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
-
-# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
- 0:00 Ghana %s 1942 Feb 8
- 0:30 - +0030 1946 Jan 6
- 0:00 Ghana %s
-
# Guinea
# See Africa/Abidjan.
@@ -533,15 +436,6 @@ Zone Africa/Nairobi 2:27:16 - LMT 1908 May
2:30 - +0230 1936 Dec 31 24:00
2:45 - +0245 1942 Jul 31 24:00
3:00 - EAT
-Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia
-Link Africa/Nairobi Africa/Asmara # Eritrea
-Link Africa/Nairobi Africa/Dar_es_Salaam # Tanzania
-Link Africa/Nairobi Africa/Djibouti
-Link Africa/Nairobi Africa/Kampala # Uganda
-Link Africa/Nairobi Africa/Mogadishu # Somalia
-Link Africa/Nairobi Indian/Antananarivo # Madagascar
-Link Africa/Nairobi Indian/Comoro
-Link Africa/Nairobi Indian/Mayotte
# Lesotho
# See Africa/Johannesburg.
@@ -732,7 +626,7 @@ Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis
# See Africa/Nairobi.
# Morocco
-# See the 'europe' file for Spanish Morocco (Africa/Ceuta).
+# See Africa/Ceuta for Spanish Morocco.
# From Alex Krivenyshev (2008-05-09):
# Here is an article that Morocco plan to introduce Daylight Saving Time between
@@ -1228,13 +1122,6 @@ Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Maputo 2:10:20 - LMT 1903 Mar
2:00 - CAT
-Link Africa/Maputo Africa/Blantyre # Malawi
-Link Africa/Maputo Africa/Bujumbura # Burundi
-Link Africa/Maputo Africa/Gaborone # Botswana
-Link Africa/Maputo Africa/Harare # Zimbabwe
-Link Africa/Maputo Africa/Kigali # Rwanda
-Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo
-Link Africa/Maputo Africa/Lusaka # Zambia
# Namibia
@@ -1382,23 +1269,12 @@ Zone Africa/Lagos 0:13:35 - LMT 1905 Jul 1
0:13:35 - LMT 1914 Jan 1
0:30 - +0030 1919 Sep 1
1:00 - WAT
-Link Africa/Lagos Africa/Bangui # Central African Republic
-Link Africa/Lagos Africa/Brazzaville # Rep. of the Congo
-Link Africa/Lagos Africa/Douala # Cameroon
-Link Africa/Lagos Africa/Kinshasa # Dem. Rep. of the Congo (west)
-Link Africa/Lagos Africa/Libreville # Gabon
-Link Africa/Lagos Africa/Luanda # Angola
-Link Africa/Lagos Africa/Malabo # Equatorial Guinea
-Link Africa/Lagos Africa/Niamey # Niger
-Link Africa/Lagos Africa/Porto-Novo # Benin
# Réunion
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis
4:00 - +04
#
-# Crozet Islands also observes Réunion time; see the 'antarctica' file.
-#
# Scattered Islands (Îles Éparses) administered from Réunion are as follows.
# The following information about them is taken from
# Îles Éparses (<http://www.outre-mer.gouv.fr/domtom/ile.htm>, 1997-07-22,
@@ -1490,8 +1366,6 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 -
Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8
1:30 - SAST 1903 Mar
2:00 SA SAST
-Link Africa/Johannesburg Africa/Maseru # Lesotho
-Link Africa/Johannesburg Africa/Mbabane # Eswatini
#
# Marion and Prince Edward Is
# scientific station since 1947
@@ -1527,12 +1401,13 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931
3:00 - EAT 2017 Nov 1
2:00 - CAT
+# South Sudan
+
# From Steffen Thorsen (2021-01-18):
# "South Sudan will change its time zone by setting the clock back 1
# hour on February 1, 2021...."
# from https://eyeradio.org/south-sudan-adopts-new-time-zone-makuei/
-# South Sudan
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Africa/Juba 2:06:28 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
@@ -1637,7 +1512,7 @@ Rule Tunisia 2005 only - Sep 30 1:00s 0 -
Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
-# See Europe/Paris for PMT-related transitions.
+# See Europe/Paris commentary for PMT-related transitions.
# 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
diff --git a/contrib/tzdata/antarctica b/contrib/tzdata/antarctica
index ed750a899217..70a5422a9e0a 100644
--- a/contrib/tzdata/antarctica
+++ b/contrib/tzdata/antarctica
@@ -148,7 +148,7 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
#
# Alfred Faure, Possession Island, Crozet Islands, -462551+0515152, since 1964;
# sealing & whaling stations operated variously 1802/1911+;
-# see Indian/Reunion.
+# see Asia/Dubai.
#
# Martin-de-Viviès, Amsterdam Island, -374105+0773155, since 1950
# Port-aux-Français, Kerguelen Islands, -492110+0701303, since 1951;
@@ -162,17 +162,7 @@ Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
5:00 - +05
#
# year-round base in the main continent
-# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
-# <https://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
-#
-# Another base at Port-Martin, 50km east, began operation in 1947.
-# It was destroyed by fire on 1952-01-14.
-#
-# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Antarctica/DumontDUrville 0 - -00 1947
- 10:00 - +10 1952 Jan 14
- 0 - -00 1956 Nov
- 10:00 - +10
+# Dumont d'Urville - see Pacific/Port_Moresby.
# France & Italy - year-round base
# Concordia, -750600+1232000, since 2005
@@ -188,20 +178,7 @@ Zone Antarctica/DumontDUrville 0 - -00 1947
# Zuchelli, Terra Nova Bay, -744140+1640647, since 1986
# Japan - year-round bases
-# Syowa (also known as Showa), -690022+0393524, since 1957
-#
-# From Hideyuki Suzuki (1999-02-06):
-# In all Japanese stations, +0300 is used as the standard time.
-#
-# 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 STDOFF RULES FORMAT [UNTIL]
-Zone Antarctica/Syowa 0 - -00 1957 Jan 29
- 3:00 - +03
-# See:
-# NIPR Antarctic Research Activities (1999-08-17)
-# http://www.nipr.ac.jp/english/ara01.html
+# See Asia/Riyadh.
# S Korea - year-round base
# Jang Bogo, Terra Nova Bay, -743700+1641205 since 2014
diff --git a/contrib/tzdata/asia b/contrib/tzdata/asia
index ed944130e99f..73e01831d09b 100644
--- a/contrib/tzdata/asia
+++ b/contrib/tzdata/asia
@@ -34,9 +34,6 @@
# Byalokoz EL. New Counting of Time in Russia since July 1, 1919.
# (See the 'europe' file for a fuller citation.)
#
-# A reliable and entertaining source about time zones is
-# Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
-#
# The following alphabetic abbreviations appear in these tables
# (corrections are welcome):
# std dst
@@ -1176,10 +1173,9 @@ Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14
2:00 EUAsia EE%sT 2016 Sep 8
3:00 - +03 2017 Oct 29 1:00u
2:00 EUAsia EE%sT
-
# Classically, Cyprus belongs to Asia; e.g. see Herodotus, Histories, I.72.
# However, for various reasons many users expect to find it under Europe.
-Link Asia/Nicosia Europe/Nicosia
+# See the 'backward' file for the Europe/Nicosia link.
# Georgia
# From Paul Eggert (1994-11-19):
@@ -2234,6 +2230,14 @@ Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u
# From Paul Eggert (2013-12-11):
# As Steffen suggested, consider the past 21-month experiment to be DST.
+# From Steffen Thorsen (2021-09-24):
+# The Jordanian Government announced yesterday that they will start DST
+# in February instead of March:
+# https://petra.gov.jo/Include/InnerPage.jsp?ID=37683&lang=en&name=en_news (English)
+# https://petra.gov.jo/Include/InnerPage.jsp?ID=189969&lang=ar&name=news (Arabic)
+# From the Arabic version, it seems to say it would be at midnight
+# (assume 24:00) on the last Thursday in February, starting from 2022.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Jordan 1973 only - Jun 6 0:00 1:00 S
Rule Jordan 1973 1975 - Oct 1 0:00 0 -
@@ -2264,8 +2268,9 @@ Rule Jordan 2004 only - Oct 15 0:00s 0 -
Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
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 2021 - Mar lastThu 24:00 1:00 S
Rule Jordan 2014 max - Oct lastFri 0:00s 0 -
+Rule Jordan 2022 max - Feb lastThu 24:00 1:00 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Asia/Amman 2:23:44 - LMT 1931
2:00 Jordan EE%sT
@@ -2740,7 +2745,8 @@ 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
+# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
+# This agrees with Singapore since 1905-06-01.
# 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.
@@ -3500,6 +3506,12 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
# influence of the sources. There is no current abbreviation for DST,
# so use "PDT", the usual American style.
+# From P Chan (2021-05-10):
+# Here's a fairly comprehensive article in Japanese:
+# https://wiki.suikawiki.org/n/Philippine%20Time
+# From Paul Eggert (2021-05-10):
+# The info in the Japanese table has not been absorbed (yet) below.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Phil 1936 only - Nov 1 0:00 1:00 D
Rule Phil 1937 only - Feb 1 0:00 0 S
@@ -3519,7 +3531,6 @@ Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha
4:00 - +04 1972 Jun
3:00 - +03
-Link Asia/Qatar Asia/Bahrain
# Saudi Arabia
#
@@ -3566,12 +3577,10 @@ Link Asia/Qatar Asia/Bahrain
# 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
-Link Asia/Riyadh Asia/Kuwait
# Singapore
# taken from Mok Ly Yng (2003-10-30)
-# http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html
+# https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html
# 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.
@@ -3824,8 +3833,6 @@ Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2
Zone Asia/Bangkok 6:42:04 - LMT 1880
6:42:04 - BMT 1920 Apr # Bangkok Mean Time
7:00 - +07
-Link Asia/Bangkok Asia/Phnom_Penh # Cambodia
-Link Asia/Bangkok Asia/Vientiane # Laos
# Turkmenistan
# From Shanks & Pottenger.
@@ -3840,7 +3847,6 @@ Zone Asia/Ashgabat 3:53:32 - LMT 1924 May 2 # or Ashkhabad
# 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.
diff --git a/contrib/tzdata/australasia b/contrib/tzdata/australasia
index cf8a0638f831..8e76c270abc5 100644
--- a/contrib/tzdata/australasia
+++ b/contrib/tzdata/australasia
@@ -458,13 +458,12 @@ Zone Pacific/Guam -14:21:00 - LMT 1844 Dec 31
9:00 - +09 1944 Jul 31
10:00 Guam G%sT 2000 Dec 23
10:00 - ChST # Chamorro Standard Time
-Link Pacific/Guam Pacific/Saipan # N Mariana Is
# Kiribati
# 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
+Zone Pacific/Kanton 0 - -00 1937 Aug 31
-12:00 - -12 1979 Oct
-11:00 - -11 1994 Dec 31
13:00 - +13
@@ -584,8 +583,6 @@ Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2
12:15 - +1215 1946 Jan 1
12:45 Chatham +1245/+1345
-Link Pacific/Auckland Antarctica/McMurdo
-
# Auckland Is
# uninhabited; Māori and Moriori, colonial settlers, pastoralists, sealers,
# and scientific personnel have wintered
@@ -597,13 +594,46 @@ Link Pacific/Auckland Antarctica/McMurdo
# was probably like Pacific/Auckland
# Cook Is
-# From Shanks & Pottenger:
+#
+# From Alexander Krivenyshev (2021-03-24):
+# In 1899 the Cook Islands celebrated Christmas twice to correct the calendar.
+# According to the old books, missionaries were unaware of
+# the International Date line, when they came from Sydney.
+# Thus the Cook Islands were one day ahead....
+# http://nzetc.victoria.ac.nz/tm/scholarly/tei-KloDisc-t1-body-d18.html
+# ... Appendix to the Journals of the House of Representatives, 1900
+# https://atojs.natlib.govt.nz/cgi-bin/atojs?a=d&d=AJHR1900-I.2.1.2.3
+# (page 20)
+#
+# From Michael Deckers (2021-03-24):
+# ... in the Cook Island Act of 1915-10-11, online at
+# http://www.paclii.org/ck/legis/ck-nz_act/cia1915132/
+# "651. The hour of the day shall in each of the islands included in the
+# Cook Islands be determined in accordance with the meridian of that island."
+# so that local (mean?) time was still used in Rarotonga (and Niue) in 1915.
+# This was changed in the Cook Island Amendment Act of 1952-10-16 ...
+# http://www.paclii.org/ck/legis/ck-nz_act/ciaa1952212/
+# "651 (1) The hour of the day in each of the islands included in the Cook
+# Islands, other than Niue, shall be determined as if each island were
+# situated on the meridian one hundred and fifty-seven degrees thirty minutes
+# West of Greenwich. (2) The hour of the day in the Island of Niue shall be
+# determined as if that island were situated on the meridian one hundred and
+# seventy degrees West of Greenwich."
+# This act does not state when it takes effect, so one has to assume it
+# applies since 1952-10-16. But there is the possibility that the act just
+# legalized prior existing practice, as we had seen with the Guernsey law of
+# 1913-06-18 for the switch in 1909-04-19.
+#
+# From Paul Eggert (2021-03-24):
+# Transitions after 1952 are from Shanks & Pottenger.
+#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
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 STDOFF RULES FORMAT [UNTIL]
-Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
+Zone Pacific/Rarotonga 13:20:56 - LMT 1899 Dec 26 # Avarua
+ -10:39:04 - LMT 1952 Oct 16
-10:30 - -1030 1978 Nov 12
-10:00 Cook -10/-0930
@@ -611,10 +641,18 @@ Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua
# Niue
+# See Pacific/Raratonga comments for 1952 transition.
+#
+# From Tim Parenti (2021-09-13):
+# Consecutive contemporaneous editions of The Air Almanac listed -11:20 for
+# Niue as of Apr 1964 but -11 as of Aug 1964:
+# Apr 1964: https://books.google.com/books?id=_1So677Y5vUC&pg=SL1-PA23
+# Aug 1964: https://books.google.com/books?id=MbJloqd-zyUC&pg=SL1-PA23
+# Without greater specificity, guess 1964-07-01 for this transition.
+
# 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
+Zone Pacific/Niue -11:19:40 - LMT 1952 Oct 16 # Alofi
+ -11:20 - -1120 1964 Jul
-11:00 - -11
# Norfolk
@@ -673,7 +711,6 @@ Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown
Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5
-11:22:48 - LMT 1911
-11:00 - SST # S=Samoa
-Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands
# Samoa (formerly and also known as Western Samoa)
@@ -742,13 +779,17 @@ Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands
# From Paul Eggert (2014-07-08):
# That web page currently lists transitions for 2012/3 and 2013/4.
# Assume the pattern instituted in 2012 will continue indefinitely.
+#
+# From Geoffrey D. Bennett (2021-09-20):
+# https://www.mcil.gov.ws/storage/2021/09/MCIL-Scan_20210920_120553.pdf
+# DST has been cancelled for this year.
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule WS 2010 only - Sep lastSun 0:00 1 -
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 -
+Rule WS 2012 2021 - Apr Sun>=1 4:00 0 -
+Rule WS 2012 2020 - Sep lastSun 3:00 1 -
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5
-11:26:56 - LMT 1911
@@ -795,8 +836,8 @@ 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 STDOFF RULES FORMAT [UNTIL]
-Zone Pacific/Tongatapu 12:19:20 - LMT 1901
- 12:20 - +1220 1941
+Zone Pacific/Tongatapu 12:19:12 - LMT 1945 Sep 10
+ 12:20 - +1220 1961
13:00 - +13 1999
13:00 Tonga +13/+14
@@ -1738,6 +1779,23 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# One source for this is page 202 of: Bartky IR. One Time Fits All:
# The Campaigns for Global Uniformity (2007).
+# Kanton
+
+# From Paul Eggert (2021-05-27):
+# Kiribati's +13 timezone is represented by Kanton, its only populated
+# island. (It was formerly spelled "Canton", but Gilbertese lacks "C".)
+# Kanton was settled on 1937-08-31 by two British radio operators
+# <https://history.state.gov/historicaldocuments/frus1937v02/d94>;
+# Americans came the next year and built an airfield, partly to
+# establish airline service and perhaps partly anticipating the
+# next war. Aside from the war, the airfield was used by commercial
+# airlines until long-range jets became standard; although currently
+# for emergency use only, China says it is considering rebuilding the
+# airfield for high-end niche tourism. Kanton has about two dozen
+# people, caretakers who rotate in from the rest of Kiribati in 2-5
+# year shifts, and who use some of the leftover structures
+# <http://pipa.neaq.org/2012/06/images-of-kanton-island.html>.
+
# Kwajalein
# From an AP article (1993-08-22):
@@ -2021,6 +2079,17 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Tonga
+# From Paul Eggert (2021-03-04):
+# In 1943 "The standard time kept is 12 hrs. 19 min. 12 sec. fast
+# on Greenwich mean time." according to the Admiralty's Hydrographic
+# Dept., Pacific Islands Pilot, Vol. II, 7th ed., 1943, p 360.
+
+# From Michael Deckers (2021-03-03):
+# [Ian R Bartky: "One Time Fits All: The Campaigns for Global Uniformity".
+# Stanford University Press. 2007. p. 255]:
+# On 10 September 1945 Tonga adopted a standard time 12 hours,
+# 20 minutes in advance of Greenwich.
+
# From Paul Eggert (1996-01-22):
# Today's _Wall Street Journal_ (p 1) reports that "Tonga has been plotting
# to sneak ahead of [New Zealanders] by introducing daylight-saving time."
@@ -2049,9 +2118,26 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# The Crown Prince, presented an unanswerable argument: "Remember that
# on the World Day of Prayer, you would be the first people on Earth
# to say your prayers in the morning."
-
-# From Paul Eggert (2006-03-22):
-# Shanks & Pottenger say the transition was on 1968-10-01; go with Mundell.
+#
+# From Tim Parenti (2021-09-13), per Paul Eggert (2006-03-22) and Michael
+# Deckers (2021-03-03):
+# Mundell places the transition from +12:20 to +13 in 1941, while Shanks &
+# Pottenger say the transition was on 1968-10-01.
+#
+# The Air Almanac published contemporaneous tables of standard times,
+# which listed +12:20 as of Nov 1960 and +13 as of Mar 1961:
+# Nov 1960: https://books.google.com/books?id=bVgtWM6kPZUC&pg=SL1-PA19
+# Mar 1961: https://books.google.com/books?id=W2nItAul4g0C&pg=SL1-PA19
+# (Thanks to P Chan for pointing us toward these sources.)
+# This agrees with Bartky, who writes that "since 1961 [Tonga's] official time
+# has been thirteen hours in advance of Greenwich time" (p. 202) and further
+# writes in an endnote that this was because "the legislation was amended" on
+# 1960-10-19. (p. 255)
+#
+# Without greater specificity, presume that Bartky and the Air Almanac point to
+# a 1961-01-01 transition, as Tāufaʻāhau Tupou IV was still Crown Prince in
+# 1961 and this still jives with the gist of Mundell's telling, and go with
+# this over Shanks & Pottenger.
# From Eric Ulevik (1999-05-03):
# Tonga's director of tourism, who is also secretary of the National Millennium
diff --git a/contrib/tzdata/backward b/contrib/tzdata/backward
index 0c55be221df1..7c288e31b74e 100644
--- a/contrib/tzdata/backward
+++ b/contrib/tzdata/backward
@@ -3,50 +3,121 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
-# This file provides links between current names for timezones
-# and their old names. Many names changed in late 1993.
+# This file provides links from old or merged timezone names to current ones.
+# Many names changed in late 1993, and many merged names moved here
+# in the period from 2013 through 2021. Several of these names are
+# also present in the file 'backzone', which has data important only
+# for pre-1970 timestamps and so is out of scope for tzdb proper.
# Link TARGET LINK-NAME
+Link Africa/Abidjan Africa/Accra
+Link Africa/Nairobi Africa/Addis_Ababa
+Link Africa/Nairobi Africa/Asmara
Link Africa/Nairobi Africa/Asmera
+Link Africa/Abidjan Africa/Bamako
+Link Africa/Lagos Africa/Bangui
+Link Africa/Abidjan Africa/Banjul
+Link Africa/Maputo Africa/Blantyre
+Link Africa/Lagos Africa/Brazzaville
+Link Africa/Maputo Africa/Bujumbura
+Link Africa/Abidjan Africa/Conakry
+Link Africa/Abidjan Africa/Dakar
+Link Africa/Nairobi Africa/Dar_es_Salaam
+Link Africa/Nairobi Africa/Djibouti
+Link Africa/Lagos Africa/Douala
+Link Africa/Abidjan Africa/Freetown
+Link Africa/Maputo Africa/Gaborone
+Link Africa/Maputo Africa/Harare
+Link Africa/Nairobi Africa/Kampala
+Link Africa/Maputo Africa/Kigali
+Link Africa/Lagos Africa/Kinshasa
+Link Africa/Lagos Africa/Libreville
+Link Africa/Abidjan Africa/Lome
+Link Africa/Lagos Africa/Luanda
+Link Africa/Maputo Africa/Lubumbashi
+Link Africa/Maputo Africa/Lusaka
+Link Africa/Lagos Africa/Malabo
+Link Africa/Johannesburg Africa/Maseru
+Link Africa/Johannesburg Africa/Mbabane
+Link Africa/Nairobi Africa/Mogadishu
+Link Africa/Lagos Africa/Niamey
+Link Africa/Abidjan Africa/Nouakchott
+Link Africa/Abidjan Africa/Ouagadougou
+Link Africa/Lagos Africa/Porto-Novo
Link Africa/Abidjan Africa/Timbuktu
+Link America/Puerto_Rico America/Anguilla
+Link America/Puerto_Rico America/Antigua
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
+Link America/Puerto_Rico America/Aruba
+Link America/Panama America/Atikokan
Link America/Adak America/Atka
+Link America/Puerto_Rico America/Blanc-Sablon
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
-Link America/Atikokan America/Coral_Harbour
+Link America/Panama America/Cayman
+Link America/Panama America/Coral_Harbour
Link America/Argentina/Cordoba America/Cordoba
+Link America/Phoenix America/Creston
+Link America/Puerto_Rico America/Curacao
+Link America/Puerto_Rico America/Dominica
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
Link America/Nuuk America/Godthab
+Link America/Puerto_Rico America/Grenada
+Link America/Puerto_Rico America/Guadeloupe
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
+Link America/Puerto_Rico America/Kralendijk
Link America/Kentucky/Louisville America/Louisville
+Link America/Puerto_Rico America/Lower_Princes
+Link America/Puerto_Rico America/Marigot
Link America/Argentina/Mendoza America/Mendoza
Link America/Toronto America/Montreal
+Link America/Puerto_Rico America/Montserrat
+Link America/Toronto America/Nassau
+Link America/Puerto_Rico America/Port_of_Spain
Link America/Rio_Branco America/Porto_Acre
Link America/Argentina/Cordoba America/Rosario
Link America/Tijuana America/Santa_Isabel
Link America/Denver America/Shiprock
-Link America/Port_of_Spain America/Virgin
+Link America/Puerto_Rico America/St_Barthelemy
+Link America/Puerto_Rico America/St_Kitts
+Link America/Puerto_Rico America/St_Lucia
+Link America/Puerto_Rico America/St_Thomas
+Link America/Puerto_Rico America/St_Vincent
+Link America/Puerto_Rico America/Tortola
+Link America/Puerto_Rico America/Virgin
+Link Pacific/Port_Moresby Antarctica/DumontDUrville
+Link Pacific/Auckland Antarctica/McMurdo
Link Pacific/Auckland Antarctica/South_Pole
+Link Asia/Riyadh Antarctica/Syowa
+Link Europe/Oslo Arctic/Longyearbyen
+Link Asia/Riyadh Asia/Aden
Link Asia/Ashgabat Asia/Ashkhabad
+Link Asia/Qatar Asia/Bahrain
Link Asia/Kolkata Asia/Calcutta
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Chungking
Link Asia/Dhaka Asia/Dacca
Link Asia/Shanghai Asia/Harbin
+Link Europe/Istanbul Asia/Istanbul
Link Asia/Urumqi Asia/Kashgar
Link Asia/Kathmandu Asia/Katmandu
+Link Asia/Riyadh Asia/Kuwait
Link Asia/Macau Asia/Macao
+Link Asia/Dubai Asia/Muscat
+Link Asia/Bangkok Asia/Phnom_Penh
Link Asia/Yangon Asia/Rangoon
Link Asia/Ho_Chi_Minh Asia/Saigon
Link Asia/Jerusalem Asia/Tel_Aviv
Link Asia/Thimphu Asia/Thimbu
Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
+Link Asia/Bangkok Asia/Vientiane
Link Atlantic/Faroe Atlantic/Faeroe
-Link Europe/Oslo Atlantic/Jan_Mayen
+Link Europe/Berlin Atlantic/Jan_Mayen
+Link Africa/Abidjan Atlantic/St_Helena
Link Australia/Sydney Australia/ACT
Link Australia/Sydney Australia/Canberra
Link Australia/Hobart Australia/Currie
@@ -81,7 +152,22 @@ Link Africa/Cairo Egypt
Link Europe/Dublin Eire
Link Etc/UTC Etc/UCT
Link Europe/London Europe/Belfast
+Link Europe/Prague Europe/Bratislava
+Link Europe/Zurich Europe/Busingen
+Link Europe/London Europe/Guernsey
+Link Europe/London Europe/Isle_of_Man
+Link Europe/London Europe/Jersey
+Link Europe/Belgrade Europe/Ljubljana
+Link Europe/Helsinki Europe/Mariehamn
+Link Asia/Nicosia Europe/Nicosia
+Link Europe/Belgrade Europe/Podgorica
+Link Europe/Rome Europe/San_Marino
+Link Europe/Belgrade Europe/Sarajevo
+Link Europe/Belgrade Europe/Skopje
Link Europe/Chisinau Europe/Tiraspol
+Link Europe/Zurich Europe/Vaduz
+Link Europe/Rome Europe/Vatican
+Link Europe/Belgrade Europe/Zagreb
Link Europe/London GB
Link Europe/London GB-Eire
Link Etc/GMT GMT+0
@@ -90,6 +176,9 @@ Link Etc/GMT GMT0
Link Etc/GMT Greenwich
Link Asia/Hong_Kong Hongkong
Link Atlantic/Reykjavik Iceland
+Link Africa/Nairobi Indian/Antananarivo
+Link Africa/Nairobi Indian/Comoro
+Link Africa/Nairobi Indian/Mayotte
Link Asia/Tehran Iran
Link Asia/Jerusalem Israel
Link America/Jamaica Jamaica
@@ -103,8 +192,11 @@ Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
Link America/Denver Navajo
Link Asia/Shanghai PRC
+Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
+Link Pacific/Pago_Pago Pacific/Midway
Link Pacific/Pohnpei Pacific/Ponape
+Link Pacific/Guam Pacific/Saipan
Link Pacific/Pago_Pago Pacific/Samoa
Link Pacific/Chuuk Pacific/Truk
Link Pacific/Chuuk Pacific/Yap
diff --git a/contrib/tzdata/backzone b/contrib/tzdata/backzone
index 3ce7277314c0..fc5e8bf7ac78 100644
--- a/contrib/tzdata/backzone
+++ b/contrib/tzdata/backzone
@@ -68,6 +68,91 @@
#
# As explained in the zic man page, the zone columns are:
# Zone NAME STDOFF RULES FORMAT [UNTIL]
+# and the rule columns are:
+# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+
+
+# Ghana
+
+# From P Chan (2020-11-20):
+# Interpretation Amendment Ordinance, 1915 (No.24 of 1915) [1915-11-02]
+# Ordinances of the Gold Coast, Ashanti, Northern Territories 1915, p 69-71
+# https://books.google.com/books?id=ErA-AQAAIAAJ&pg=PA70
+# This Ordinance added "'Time' shall mean Greenwich Mean Time" to the
+# Interpretation Ordinance, 1876.
+#
+# Determination of the Time Ordinance, 1919 (No. 18 of 1919) [1919-11-24]
+# Ordinances of the Gold Coast, Ashanti, Northern Territories 1919, p 75-76
+# https://books.google.com/books?id=MbA-AQAAIAAJ&pg=PA75
+# This Ordinance removed the previous definition of time and introduced DST.
+#
+# Time Determination Ordinance (Cap. 214)
+# The Laws of the Gold Coast (including Togoland Under British Mandate)
+# Vol. II (1937), p 2328
+# https://books.google.com/books?id=Z7M-AQAAIAAJ&pg=PA2328
+# Revised edition of the 1919 Ordinance.
+#
+# Time Determination (Amendment) Ordinance, 1940 (No. 9 of 1940) [1940-04-06]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1940, p 22
+# https://books.google.com/books?id=1ao-AQAAIAAJ&pg=PA22
+# This Ordinance changed the forward transition from September to May.
+#
+# Defence (Time Determination Ordinance Amendment) Regulations, 1942
+# (Regulations No. 6 of 1942) [1942-01-31, commenced on 1942-02-08]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1942, p 48
+# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA48
+# These regulations advanced the [standard] time by thirty minutes.
+#
+# Defence (Time Determination Ordinance Amendment (No.2)) Regulations,
+# 1942 (Regulations No. 28 of 1942) [1942-04-25]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1942, p 87
+# https://books.google.com/books?id=Das-AQAAIAAJ&pg=PA87
+# These regulations abolished DST and changed the time to GMT+0:30.
+#
+# Defence (Revocation) (No.4) Regulations, 1945 (Regulations No. 45 of
+# 1945) [1945-10-24, commenced on 1946-01-06]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1945, p 256
+# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA256
+# These regulations revoked the previous two sets of Regulations.
+#
+# Time Determination (Amendment) Ordinance, 1945 (No. 18 of 1945) [1946-01-06]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1945, p 69
+# https://books.google.com/books?id=9as-AQAAIAAJ&pg=PA69
+# This Ordinance abolished DST.
+#
+# Time Determination (Amendment) Ordinance, 1950 (No. 26 of 1950) [1950-07-22]
+# Annual Volume of the Laws of the Gold Coast:
+# Containing All Legislation Enacted During Year 1950, p 35
+# https://books.google.com/books?id=e60-AQAAIAAJ&pg=PA35
+# This Ordinance restored DST but with thirty minutes offset.
+#
+# Time Determination Ordinance (Cap. 264)
+# The Laws of the Gold Coast, Vol. V (1954), p 380
+# https://books.google.com/books?id=Mqc-AQAAIAAJ&pg=PA380
+# Revised edition of the Time Determination Ordinance.
+#
+# Time Determination (Amendment) Ordinance, 1956 (No. 21 of 1956) [1956-08-29]
+# Annual Volume of the Ordinances of the Gold Coast Enacted During the
+# Year 1956, p 83
+# https://books.google.com/books?id=VLE-AQAAIAAJ&pg=PA83
+# This Ordinance abolished DST.
+
+Rule Ghana 1919 only - Nov 24 0:00 0:20 +0020
+Rule Ghana 1920 1942 - Jan 1 2:00 0 GMT
+Rule Ghana 1920 1939 - Sep 1 2:00 0:20 +0020
+Rule Ghana 1940 1941 - May 1 2:00 0:20 +0020
+Rule Ghana 1950 1955 - Sep 1 2:00 0:30 +0030
+Rule Ghana 1951 1956 - Jan 1 2:00 0 GMT
+
+Zone Africa/Accra -0:00:52 - LMT 1915 Nov 2
+ 0:00 Ghana %s 1942 Feb 8
+ 0:30 - +0030 1946 Jan 6
+ 0:00 Ghana %s
# Ethiopia
# From Paul Eggert (2014-07-31):
@@ -101,14 +186,36 @@ Zone Africa/Bamako -0:32:00 - LMT 1912
Zone Africa/Bangui 1:14:20 - LMT 1912
1:00 - WAT
-# Gambia
+# The Gambia
+# From P Chan (2020-12-09):
+# Standard time of GMT-1 was adopted on 1933-04-01. On 1942-02-01, GMT was
+# adopted as a war time measure. This was made permanent in 1946.
+#
+# Interpretation Ordinance, 1914 (No. 12 of 1914) [1914-09-29]
+# Interpretation Ordinance, 1933 (No. 10 of 1933) [1933-03-31]
+# Notice No. 5 of 1942, Colony of the Gambia Government Gazette, Vol. LIX,
+# No.2, 1942-01-15, p 2
+# Interpretation (Amendment) Ordinance, 1946 (No. 3 of 1946) [1946-07-15]
Zone Africa/Banjul -1:06:36 - LMT 1912
- -1:06:36 - BMT 1935 # Banjul Mean Time
- -1:00 - -01 1964
+ -1:06:36 - BMT 1933 Apr 1 # Banjul Mean Time
+ -1:00 - -01 1942 Feb 1 0:00
0:00 - GMT
# Malawi
-Zone Africa/Blantyre 2:20:00 - LMT 1903 Mar
+# From P Chan (2020-12-09):
+# In 1911, Zomba mean time was adopted as the legal time of Nyasaland. In
+# 1914, Zomba mean time switched from GMT+2:21:10 to GMT+2:21. On 1925-07-01,
+# GMT+2 was adopted.
+#
+# Interpretation and General Clauses Ordinance, 1911 (No. 12 of 1911)
+# [1911-07-24]
+# Notice No. 124 of 1914, 1914-06-30, The Nyasaland Government Gazette, Vol.
+# XXI, No. 8, 1914-06-30, p 122
+# Interpretation and General Clauses (Amendment) Ordinance, 1925 (No. 3 of
+# 1925) [1925-04-02]
+Zone Africa/Blantyre 2:20:00 - LMT 1911 Jul 24
+ 2:21:10 - ZMT 1914 Jun 30 # Zomba Mean Time
+ 2:21 - ZMT 1925 Jul 1
2:00 - CAT
# Republic of the Congo
@@ -145,19 +252,48 @@ Zone Africa/Djibouti 2:52:36 - LMT 1911 Jul
Zone Africa/Douala 0:38:48 - LMT 1912
1:00 - WAT
# Sierra Leone
-# From Paul Eggert (2014-08-12):
-# The following table is from Shanks & Pottenger, but it can't be right.
-# Whitman gives Mar 31 - Aug 31 for 1931 on.
-# The International Hydrographic Bulletin, 1932-33, p 63 says that
-# Sierra Leone would advance its clocks by 20 minutes on 1933-10-01.
-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule SL 1935 1942 - Jun 1 0:00 0:40 -0020
-Rule SL 1935 1942 - Oct 1 0:00 0 -01
-Rule SL 1957 1962 - Jun 1 0:00 1:00 +01
-Rule SL 1957 1962 - Sep 1 0:00 0 GMT
+# From P Chan (2020-12-09):
+# Standard time of GMT-1 was adopted on 1913-07-01. Twenty minutes of DST was
+# introduce[d] in 1932 and was suspended in 1939. In 1941, GMT was adopted by
+# Defence Regulations. This was made permanent in 1946.
+#
+# Government Notice No. 121 of 1913, 1913-06-06, Sierra Leone Royal Gazette,
+# Vol. XLIV, No. 1384, 1913-06-14, p 347
+# Alteration of Time Ordinance, 1932 (No. 34 of 1932) [1932-12-01]
+# Alteration of Time (Amendment) Ordinance, 1938 (No. 25 of 1938) [1938-11-24]
+# Defence Regulations (No. 9), 1939 (Regulations No. 9 of 1939), 1939-09-05
+# Defence Regulations (No. 11), 1939 (Regulations No. 11 of 1939), 1939-09-27
+# Defence (Amendment) (No. 17) Regulations, 1941 (Public Notice No. 157 of
+# 1941), 1914-12-04
+# Alteration of Time (Amendment) Ordinance, 1946 (No. 2 of 1946) [1946-02-07]
+
+# From Tim Parenti (2021-03-02), per P Chan (2021-02-25):
+# For Sierra Leone in 1957-1962, the standard time was defined in the
+# Alteration of Time Ordinance, 1932 (as amended in 1946, renamed to Local Time
+# Ordinance in 1960 and Local Time Act in 1961). It was unamended throughout
+# that period. See references to "Time" in the Alphabetical Index of the
+# Legislation in force on the 31st day of December,
+# 1957: https://books.google.com/books?id=lvQ-AQAAIAAJ&pg=RA2-PA49
+# 1958: https://books.google.com/books?id=4fQ-AQAAIAAJ&pg=RA2-PA50
+# 1959: https://books.google.com/books?id=p_U-AQAAIAAJ&pg=RA2-PA55
+# 1960: https://books.google.com/books?id=JPY-AQAAIAAJ&pg=RA3-PA37
+# 1961: https://books.google.com/books?id=7vY-AQAAIAAJ&pg=RA3-PA41
+# 1962: https://books.google.com/books?id=W_c-AQAAIAAJ&pg=RA3-PA44
+# 1963: https://books.google.com/books?id=9vk-AQAAIAAJ&pg=RA1-PA47
+#
+# Although Shanks & Pottenger had DST from Jun 1 00:00 to Sep 1 00:00 in this
+# period, many contemporaneous almanacs agree that it wasn't used:
+# https://mm.icann.org/pipermail/tz/2021-February/029866.html
+# Go with the above.
+
+Rule SL 1932 only - Dec 1 0:00 0:20 -0040
+Rule SL 1933 1938 - Mar 31 24:00 0 -01
+Rule SL 1933 1939 - Aug 31 24:00 0:20 -0040
+Rule SL 1939 only - May 31 24:00 0 -01
Zone Africa/Freetown -0:53:00 - LMT 1882
- -0:53:00 - FMT 1913 Jun # Freetown Mean Time
- -1:00 SL %s 1957
+ -0:53:00 - FMT 1913 Jul 1 # Freetown MT
+ -1:00 SL %s 1939 Sep 5
+ -1:00 - -01 1941 Dec 6 24:00
0:00 SL GMT/+01
# Botswana
@@ -298,6 +434,85 @@ Zone America/Aruba -4:40:24 - LMT 1912 Feb 12 # Oranjestad
-4:30 - -0430 1965
-4:00 - AST
+# Atikokan, Ontario
+
+# From Paul Eggert (1997-10-17):
+# Mark Brader writes that an article in the 1997-10-14 Toronto Star
+# says that Atikokan, Ontario currently does not observe DST,
+# but will vote on 11-10 whether to use EST/EDT.
+# He also writes that the Ontario Time Act (1990, Chapter T.9)
+# http://www.gov.on.ca/MBS/english/publications/statregs/conttext.html
+# says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT.
+# Officially Atikokan is therefore on CST/CDT, and most likely this report
+# concerns a non-official time observed as a matter of local practice.
+#
+# From Paul Eggert (2000-10-02):
+# Matthews and Vincent (1998) write that Atikokan, Pickle Lake, and
+# New Osnaburgh observe CST all year, that Big Trout Lake observes
+# CST/CDT, and that Upsala and Shebandowan observe EST/EDT, all in
+# violation of the official Ontario rules.
+#
+# From Paul Eggert (2006-07-09):
+# Chris Walton (2006-07-06) mentioned an article by Stephanie MacLellan in the
+# 2005-07-21 Chronicle-Journal, which said:
+#
+# The clocks in Atikokan stay set on standard time year-round.
+# This means they spend about half the time on central time and
+# the other half on eastern time.
+#
+# For the most part, the system works, Mayor Dennis Brown said.
+#
+# "The majority of businesses in Atikokan deal more with Eastern
+# Canada, but there are some that deal with Western Canada," he
+# said. "I don't see any changes happening here."
+#
+# Walton also writes "Supposedly Pickle Lake and Mishkeegogamang
+# [New Osnaburgh] follow the same practice."
+
+# From Garry McKinnon (2006-07-14) via Chris Walton:
+# I chatted with a member of my board who has an outstanding memory
+# and a long history in Atikokan (and in the telecom industry) and he
+# can say for certain that Atikokan has been practicing the current
+# time keeping since 1952, at least.
+
+# From Paul Eggert (2006-07-17):
+# Shanks & Pottenger say that Atikokan has agreed with Rainy River
+# ever since standard time was introduced, but the information from
+# McKinnon sounds more authoritative. For now, assume that Atikokan
+# switched to EST immediately after WWII era daylight saving time
+# ended. This matches the old (less-populous) America/Coral_Harbour
+# entry since our cutoff date of 1970, so we can move
+# America/Coral_Harbour to the 'backward' file.
+
+Zone America/Atikokan -6:06:28 - LMT 1895
+ -6:00 Canada C%sT 1940 Sep 29
+ -6:00 1:00 CDT 1942 Feb 9 2:00s
+ -6:00 Canada C%sT 1945 Sep 30 2:00
+ -5:00 - EST
+
+# Quebec east of Natashquan
+
+# From Paul Eggert (2021-05-09):
+# H. David Matthews and Mary Vincent's map
+# "It's about TIME", _Canadian Geographic_ (September-October 1998)
+# http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp
+# says 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"
+# 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.
+# This common practice was codified into law as of 2007; see Legal Time Act,
+# CQLR c T-5.1 <http://legisquebec.gouv.qc.ca/en/ShowDoc/cs/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.
+
+Zone America/Blanc-Sablon -3:48:28 - LMT 1884
+ -4:00 Canada A%sT 1970
+ -4:00 - AST
+
# Cayman Is
Zone America/Cayman -5:25:32 - LMT 1890 # Georgetown
-5:07:10 - KMT 1912 Feb # Kingston Mean Time
@@ -318,6 +533,85 @@ Zone America/Coral_Harbour -5:32:40 - LMT 1884
-5:00 NT_YK E%sT 1946
-5:00 - EST
+# From Chris Walton (2011-12-01):
+# There are two areas within the Canadian province of British Columbia
+# that do not currently observe daylight saving:
+# a) The Creston Valley (includes the town of Creston and surrounding area)
+# b) The eastern half of the Peace River Regional District
+# (includes the cities of Dawson Creek and Fort St. John)
+
+# Earlier this year I stumbled across a detailed article about the time
+# keeping history of Creston; it was written by Tammy Hardwick who is the
+# manager of the Creston & District Museum. The article was written in May 2009.
+# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
+# According to the article, Creston has not changed its clocks since June 1918.
+# i.e. Creston has been stuck on UT-7 for 93 years.
+# Dawson Creek, on the other hand, changed its clocks as recently as April 1972.
+
+# Unfortunately the exact date for the time change in June 1918 remains
+# unknown and will be difficult to ascertain. I e-mailed Tammy a few months
+# ago to ask if Sunday June 2 was a reasonable guess. She said it was just
+# as plausible as any other date (in June). She also said that after writing
+# the article she had discovered another time change in 1916; this is the
+# subject of another article which she wrote in October 2010.
+# http://www.creston.museum.bc.ca/index.php?module=comments&uop=view_comment&cm+id=56
+
+# Here is a summary of the three clock change events in Creston's history:
+# 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
+# Exact date unknown
+# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
+# Exact date in October unknown; Sunday October 1 is a reasonable guess.
+# 3. June 1918: switch to Pacific Daylight Time (GMT-7)
+# Exact date in June unknown; Sunday June 2 is a reasonable guess.
+# note 1:
+# On Oct 27/1918 when daylight saving ended in the rest of Canada,
+# Creston did not change its clocks.
+# note 2:
+# During WWII when the Federal Government legislated a mandatory clock change,
+# Creston did not oblige.
+# note 3:
+# There is no guarantee that Creston will remain on Mountain Standard Time
+# (UTC-7) forever.
+# The subject was debated at least once this year by the town Council.
+# http://www.bclocalnews.com/kootenay_rockies/crestonvalleyadvance/news/116760809.html
+
+# During a period WWII, summer time (Daylight saying) was mandatory in Canada.
+# In Creston, that was handled by shifting the area to PST (-8:00) then applying
+# summer time to cause the offset to be -7:00, the same as it had been before
+# the change. It can be argued that the timezone abbreviation during this
+# period should be PDT rather than MST, but that doesn't seem important enough
+# (to anyone) to further complicate the rules.
+
+# The transition dates (and times) are guesses.
+
+Zone America/Creston -7:46:04 - LMT 1884
+ -7:00 - MST 1916 Oct 1
+ -8:00 - PST 1918 Jun 2
+ -7:00 - MST
+
+# Curaçao
+# Milne gives 4:35:46.9 for Curaçao mean time; round to nearest.
+#
+# From Paul Eggert (2006-03-22):
+# Shanks & Pottenger say that The Bottom and Philipsburg have been at
+# -4:00 since standard time was introduced on 1912-03-02; and that
+# Kralendijk and Rincon used Kralendijk Mean Time (-4:33:08) from
+# 1912-02-02 to 1965-01-01. The former is dubious, since S&P also say
+# Saba Island has been like Curaçao.
+# This all predates our 1970 cutoff, though.
+#
+# By July 2007 Curaçao and St Maarten are planned to become
+# associated states within the Netherlands, much like Aruba;
+# Bonaire, Saba and St Eustatius would become directly part of the
+# Netherlands as Kingdom Islands. This won't affect their time zones
+# though, as far as we know.
+#
+Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad
+ -4:30 - -0430 1965
+ -4:00 - AST
+Link America/Curacao America/Kralendijk
+Link America/Curacao America/Lower_Princes
+
# Dominica
Zone America/Dominica -4:05:36 - LMT 1911 Jul 1 0:01 # Roseau
-4:00 - AST
@@ -340,6 +634,7 @@ Zone America/Grenada -4:07:00 - LMT 1911 Jul # St George's
Zone America/Guadeloupe -4:06:08 - LMT 1911 Jun 8 # Pointe-à-Pitre
-4:00 - AST
+
# Canada
#
# From Paul Eggert (2015-03-24):
@@ -351,7 +646,6 @@ Zone America/Guadeloupe -4:06:08 - LMT 1911 Jun 8 # Pointe-à-Pitre
# Pottenger data. The post-1970 entries have been corrected, but the
# pre-1970 entries are unchecked and probably have errors.
#
-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Mont 1917 only - Mar 25 2:00 1:00 D
Rule Mont 1917 only - Apr 24 0:00 0 S
Rule Mont 1919 only - Mar 31 2:30 1:00 D
@@ -387,6 +681,48 @@ Zone America/Montreal -4:54:16 - LMT 1884
Zone America/Montserrat -4:08:52 - LMT 1911 Jul 1 0:01 # Cork Hill
-4:00 - AST
+# The Bahamas
+#
+# For 1899 Milne gives -5:09:29.5; round that.
+#
+# From P Chan (2020-11-27, corrected on 2020-12-02):
+# There were two periods of DST observed in 1942-1945: 1942-05-01
+# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
+# "midnight" should mean 24:00 from the context.
+#
+# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
+# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
+#
+# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
+# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
+#
+# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
+# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
+# 1945. p 160, 247-248
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
+# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
+#
+# From Sue Williams (2006-12-07):
+# The Bahamas announced about a month ago that they plan to change their DST
+# rules to sync with the U.S. starting in 2007....
+# http://www.jonesbahamas.com/?c=45&a=10412
+
+Rule Bahamas 1942 only - May 1 24:00 1:00 W
+Rule Bahamas 1944 only - Dec 31 24:00 0 S
+Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
+Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
+Rule Bahamas 1945 only - Oct 17 24:00 0 S
+Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
+Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
+
+Zone America/Nassau -5:09:30 - LMT 1912 Mar 2
+ -5:00 Bahamas E%sT 1976
+ -5:00 US E%sT
+
# United States
#
# From Paul Eggert (2018-03-18):
@@ -411,6 +747,13 @@ Zone America/Montserrat -4:08:52 - LMT 1911 Jul 1 0:01 # Cork Hill
# https://cdnc.ucr.edu/cgi-bin/cdnc?a=d&d=DS19470110
# front page reports on end.
+# Trinidad and Tobago
+Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
+ -4:00 - AST
+Link America/Port_of_Spain America/Marigot
+Link America/Port_of_Spain America/St_Barthelemy
+Link America/Port_of_Spain America/Virgin
+
# Argentina
# This entry was intended for the following areas, but has been superseded by
# more detailed zones.
@@ -434,7 +777,7 @@ Zone America/St_Lucia -4:04:00 - LMT 1890 # Castries
-4:04:00 - CMT 1912 # Castries Mean Time
-4:00 - AST
-# Virgin Is
+# US Virgin Is
Zone America/St_Thomas -4:19:44 - LMT 1911 Jul # Charlotte Amalie
-4:00 - AST
@@ -447,11 +790,36 @@ Zone America/St_Vincent -4:04:56 - LMT 1890 # Kingstown
Zone America/Tortola -4:18:28 - LMT 1911 Jul # Road Town
-4:00 - AST
+# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
+# <https://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
+#
+# Another base at Port-Martin, 50km east, began operation in 1947.
+# It was destroyed by fire on 1952-01-14.
+#
+Zone Antarctica/DumontDUrville 0 - -00 1947
+ 10:00 - +10 1952 Jan 14
+ 0 - -00 1956 Nov
+ 10:00 - +10
+
# McMurdo, Ross Island, since 1955-12
Zone Antarctica/McMurdo 0 - -00 1956
12:00 NZ NZ%sT
Link Antarctica/McMurdo Antarctica/South_Pole
+# Syowa, Antarctica
+#
+# From Hideyuki Suzuki (1999-02-06):
+# In all Japanese stations, +0300 is used as the standard time.
+#
+# 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 Antarctica/Syowa 0 - -00 1957 Jan 29
+ 3:00 - +03
+# See:
+# NIPR Antarctic Research Activities (1999-08-17)
+# http://www.nipr.ac.jp/english/ara01.html
+
# Yemen
# Milne says 2:59:54 was the meridian of the saluting battery at Aden,
# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia.
@@ -711,6 +1079,8 @@ Zone Europe/Skopje 1:25:44 - LMT 1884
1:00 - CET 1982 Nov 27
1:00 EU CE%sT
+
+
# Moldova / Transnistria
Zone Europe/Tiraspol 1:58:32 - LMT 1880
1:55 - CMT 1918 Feb 15 # Chisinau MT
@@ -749,10 +1119,22 @@ Zone Indian/Comoro 2:53:04 - LMT 1911 Jul # Moroni, Gran Comoro
Zone Indian/Mayotte 3:00:56 - LMT 1911 Jul # Mamoutzou
3:00 - EAT
-# US minor outlying islands
+# Phoenix Islands, Kiribati
+# From Paul Eggert (2021-05-27):
+# Enderbury was inhabited 1860/1880s to mine guano, and 1938-03-06/1942-02-09
+# for aviation (ostensibly commercial, but military uses foreseen).
+# The 19th-century dates are approximate. See Pacific/Kanton for
+# the currently-inhabited representative for this timezone.
+Zone Pacific/Enderbury 0 - -00 1860
+ -11:24:20 - LMT 1885
+ 0 - -00 1938 Mar 6
+ -12:00 - -12 1942 Feb 9
+ 0 - -00
+
+# Johnston
Zone Pacific/Johnston -10:00 - HST
-# US minor outlying islands
+# Midway
#
# From Mark Brader (2005-01-23):
# [Fallacies and Fantasies of Air Transport History, by R.E.G. Davies,
@@ -775,3 +1157,7 @@ Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31
9:00 - +09 1969 Oct
10:00 - +10 2000 Dec 23
10:00 - ChST # Chamorro Standard Time
+
+# Local Variables:
+# coding: utf-8
+# End:
diff --git a/contrib/tzdata/checktab.awk b/contrib/tzdata/checktab.awk
index ec145b5adf95..23e0a3a5c567 100644
--- a/contrib/tzdata/checktab.awk
+++ b/contrib/tzdata/checktab.awk
@@ -58,11 +58,12 @@ BEGIN {
zone_table, zone_NR >>"/dev/stderr"
status = 1
}
- split($1, cca, /,/)
- cc = cca[1]
+ ccs = input_ccs[zone_NR] = $1
coordinates = $2
tz = $3
- comments = $4
+ comments = input_comments[zone_NR] = $4
+ split(ccs, cca, /,/)
+ cc = cca[1]
# Don't complain about a special case for Crimea in zone.tab.
# FIXME: zone.tab should be removed, since it is obsolete.
@@ -77,12 +78,9 @@ BEGIN {
cc0 = cc
tz0 = tz
tztab[tz] = 1
- tz2comments[tz] = comments
tz2NR[tz] = zone_NR
for (i in cca) {
cc = cca[i]
- cctz = cc tz
- cctztab[cctz] = 1
if (cc2name[cc]) {
cc_used[cc]++
} else {
@@ -99,27 +97,27 @@ BEGIN {
}
}
- for (cctz in cctztab) {
- cc = substr (cctz, 1, 2)
- tz = substr (cctz, 3)
- if (1 < cc_used[cc]) {
- comments_needed[tz] = cc
- }
- }
- for (cctz in cctztab) {
- cc = substr (cctz, 1, 2)
- tz = substr (cctz, 3)
- if (!comments_needed[tz] && tz2comments[tz]) {
+ for (i = 1; i <= zone_NR; i++) {
+ ccs = input_ccs[i]
+ if (!ccs) continue
+ comments = input_comments[i]
+ split(ccs, cca, /,/)
+ used_max = 0
+ for (j in cca) {
+ cc = cca[j]
+ if (used_max < cc_used[cc]) {
+ used_max = cc_used[cc]
+ }
+ }
+ if (used_max <= 1 && comments) {
printf "%s:%d: unnecessary comment '%s'\n", \
- zone_table, tz2NR[tz], tz2comments[tz] \
- >>"/dev/stderr"
- tz2comments[tz] = 0
+ zone_table, i, comments \
+ >>"/dev/stderr"
status = 1
- } else if (comments_needed[tz] && !tz2comments[tz]) {
+ } else if (1 < cc_used[cc] && !comments) {
printf "%s:%d: missing comment for %s\n", \
- zone_table, tz2NR[tz], comments_needed[tz] \
+ zone_table, i, cc \
>>"/dev/stderr"
- tz2comments[tz] = 1
status = 1
}
}
@@ -149,8 +147,8 @@ $1 ~ /^#/ { next }
ruleUsed[$2] = 1
if ($3 ~ /%/) rulePercentUsed[$2] = 1
}
- if (tz && tz ~ /\//) {
- if (!tztab[tz]) {
+ if (tz && tz ~ /\// && tz !~ /^Etc\//) {
+ if (!tztab[tz] && FILENAME != "backward") {
printf "%s: no data for '%s'\n", zone_table, tz \
>>"/dev/stderr"
status = 1
@@ -173,7 +171,7 @@ END {
}
}
for (tz in tztab) {
- if (!zoneSeen[tz]) {
+ if (!zoneSeen[tz] && tz !~ /^Etc\//) {
printf "%s:%d: no Zone table for '%s'\n", \
zone_table, tz2NR[tz], tz >>"/dev/stderr"
status = 1
diff --git a/contrib/tzdata/europe b/contrib/tzdata/europe
index bba4d5648228..1204c09d0abe 100644
--- a/contrib/tzdata/europe
+++ b/contrib/tzdata/europe
@@ -68,7 +68,6 @@
# 0:00 GMT BST BDST Greenwich, British Summer
# 0:00 GMT IST Greenwich, Irish Summer
# 0:00 WET WEST WEMT Western Europe
-# 0:19:32.13 AMT* NST* Amsterdam, Netherlands Summer (1835-1937)
# 1:00 BST British Standard (1968-1971)
# 1:00 IST GMT Irish Standard (1968-) with winter DST
# 1:00 CET CEST CEMT Central Europe
@@ -506,9 +505,6 @@ Zone Europe/London -0:01:15 - LMT 1847 Dec 1 0:00s
1:00 - BST 1971 Oct 31 2:00u
0:00 GB-Eire %s 1996
0:00 EU GMT/BST
-Link Europe/London Europe/Jersey
-Link Europe/London Europe/Guernsey
-Link Europe/London Europe/Isle_of_Man
# From Paul Eggert (2018-02-15):
# In January 2018 we discovered that the negative SAVE values in the
@@ -1307,9 +1303,8 @@ 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
2:00 EU EE%sT
-
# Åland Is
-Link Europe/Helsinki Europe/Mariehamn
+# See Europe/Helsinki.
# France
@@ -1505,8 +1500,7 @@ Zone Europe/Berlin 0:53:28 - LMT 1893 Apr
# From Arthur David Olson (2012-03-03):
# Büsingen and Zurich have shared clocks since 1970.
-
-Link Europe/Zurich Europe/Busingen
+# See Europe/Zurich.
# Georgia
# Please see the "asia" file for Asia/Tbilisi.
@@ -1800,8 +1794,9 @@ Zone Europe/Rome 0:49:56 - LMT 1866 Dec 12
1:00 Italy CE%sT 1980
1:00 EU CE%sT
-Link Europe/Rome Europe/Vatican
-Link Europe/Rome Europe/San_Marino
+# Kosovo
+# See Europe/Belgrade.
+
# Latvia
@@ -1895,7 +1890,7 @@ Zone Europe/Riga 1:36:34 - LMT 1880
# 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
+# See Europe/Zurich.
# Lithuania
@@ -2150,6 +2145,10 @@ Zone Europe/Monaco 0:29:32 - LMT 1892 Jun 1
# The data entries before 1945 are taken from
# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm
+# From Paul Eggert (2021-05-09):
+# I invented the abbreviations AMT for Amsterdam Mean Time and NST for
+# Netherlands Summer Time, used in the Netherlands from 1835 to 1937.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time
Rule Neth 1916 only - Oct 1 0:00 0 AMT # Amsterdam Mean Time
@@ -2248,8 +2247,7 @@ Zone Europe/Oslo 0:43:00 - LMT 1895 Jan 1
# Haudegen did not surrender to the Allies until September 1945.
#
# All these events predate our cutoff date of 1970, so use Europe/Oslo
-# for these regions.
-Link Europe/Oslo Arctic/Longyearbyen
+# for these regions; see 'backward'.
# Poland
@@ -2376,12 +2374,10 @@ Rule Port 1943 1945 - Aug Sat>=25 22:00s 1:00 S
Rule Port 1944 1945 - Apr Sat>=21 22:00s 2:00 M
Rule Port 1946 only - Apr Sat>=1 23:00s 1:00 S
Rule Port 1946 only - Oct Sat>=1 23:00s 0 -
-Rule Port 1947 1949 - Apr Sun>=1 2:00s 1:00 S
-Rule Port 1947 1949 - Oct Sun>=1 2:00s 0 -
-# Shanks & Pottenger say DST was observed in 1950; go with Whitman.
+# Whitman says DST was not observed in 1950; go with Shanks & Pottenger.
# Whitman gives Oct lastSun for 1952 on; go with Shanks & Pottenger.
-Rule Port 1951 1965 - Apr Sun>=1 2:00s 1:00 S
-Rule Port 1951 1965 - Oct Sun>=1 2:00s 0 -
+Rule Port 1947 1965 - Apr Sun>=1 2:00s 1:00 S
+Rule Port 1947 1965 - Oct Sun>=1 2:00s 0 -
Rule Port 1977 only - Mar 27 0:00s 1:00 S
Rule Port 1977 only - Sep 25 0:00s 0 -
Rule Port 1978 1979 - Apr Sun>=1 0:00s 1:00 S
@@ -3520,14 +3516,9 @@ Zone Europe/Belgrade 1:22:00 - LMT 1884
# Shanks & Pottenger don't give as much detail, so go with Koželj.
1:00 - CET 1982 Nov 27
1:00 EU CE%sT
-Link Europe/Belgrade Europe/Ljubljana # Slovenia
-Link Europe/Belgrade Europe/Podgorica # Montenegro
-Link Europe/Belgrade Europe/Sarajevo # Bosnia and Herzegovina
-Link Europe/Belgrade Europe/Skopje # North Macedonia
-Link Europe/Belgrade Europe/Zagreb # Croatia
# Slovakia
-Link Europe/Prague Europe/Bratislava
+# See Europe/Prague.
# Slovenia
# See Europe/Belgrade.
@@ -3683,6 +3674,9 @@ 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.
+# An extra-special abbreviation style is SET for Swedish Time (svensk
+# normaltid) 1879-1899, 3° west of the Stockholm Observatory.
+
# 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
@@ -3995,7 +3989,7 @@ Zone Europe/Istanbul 1:55:52 - LMT 1880
2:00 1:00 EEST 2015 Nov 8 1:00u
2:00 EU EE%sT 2016 Sep 7
3:00 - +03
-Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
+# See the 'backward' file for Asia/Istanbul.
# Ukraine
#
diff --git a/contrib/tzdata/leap-seconds.list b/contrib/tzdata/leap-seconds.list
index 3198d65146a5..cfda3e885e64 100644
--- a/contrib/tzdata/leap-seconds.list
+++ b/contrib/tzdata/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 C61
-# File expires on: 28 December 2021
+# Updated through IERS Bulletin C62
+# File expires on: 28 June 2022
#
-#@ 3849638400
+#@ 3865363200
#
2272060800 10 # 1 Jan 1972
2287785600 11 # 1 Jul 1972
@@ -252,4 +252,4 @@
# the hash line is also ignored in the
# computation.
#
-#h 2ab8253d d4380d28 75f01343 381504f8 8f8a4bfc
+#h 599d45bf accd4b4f 8b60e46 49b623 7d13b825
diff --git a/contrib/tzdata/leapseconds b/contrib/tzdata/leapseconds
index cf0df04c3c8e..834b96ea882c 100644
--- a/contrib/tzdata/leapseconds
+++ b/contrib/tzdata/leapseconds
@@ -72,11 +72,11 @@ Leap 2016 Dec 31 23:59:60 + S
# 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 2021 Dec 28 00:00:00
+#Expires 2022 Jun 28 00:00:00
# POSIX timestamps for the data in this file:
#updated 1467936000 (2016-07-08 00:00:00 UTC)
-#expires 1640649600 (2021-12-28 00:00:00 UTC)
+#expires 1656374400 (2022-06-28 00:00:00 UTC)
-# Updated through IERS Bulletin C61
-# File expires on: 28 December 2021
+# Updated through IERS Bulletin C62
+# File expires on: 28 June 2022
diff --git a/contrib/tzdata/northamerica b/contrib/tzdata/northamerica
index ddc575976e59..a2f2b43c6f24 100644
--- a/contrib/tzdata/northamerica
+++ b/contrib/tzdata/northamerica
@@ -729,7 +729,11 @@ Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35
-11:00 US B%sT 1983 Oct 30 2:00
-10:00 US AH%sT 1983 Nov 30
-10:00 US H%sT
-# The following switches don't quite make our 1970 cutoff.
+# The following switches don't make our 1970 cutoff.
+#
+# Kiska observed Tokyo date and time during Japanese occupation from
+# 1942-06-06 to 1943-07-29, and similarly for Attu from 1942-06-07 to
+# 1943-05-29 (all dates American). Both islands are now uninhabited.
#
# Shanks writes that part of southwest Alaska (e.g. Aniak)
# switched from -11:00 to -10:00 on 1968-09-22 at 02:00,
@@ -1593,24 +1597,7 @@ Zone America/Moncton -4:19:08 - LMT 1883 Dec 9
# 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"
-# 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.
-# This common practice was codified into law as of 2007; see Legal Time Act,
-# CQLR c T-5.1 <http://legisquebec.gouv.qc.ca/en/ShowDoc/cs/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.
-
-# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone America/Blanc-Sablon -3:48:28 - LMT 1884
- -4:00 Canada A%sT 1970
- -4:00 - AST
+# See America/Puerto_Rico for east of Natashquan.
# Ontario
@@ -1649,54 +1636,6 @@ Zone America/Blanc-Sablon -3:48:28 - LMT 1884
# time became a comic failure in Orillia. Toronto Star 2017-07-08.
# https://www.thestar.com/news/insight/2017/07/08/bold-attempt-at-daylight-saving-time-became-a-comic-failure-in-orillia.html
-# From Paul Eggert (1997-10-17):
-# Mark Brader writes that an article in the 1997-10-14 Toronto Star
-# says that Atikokan, Ontario currently does not observe DST,
-# but will vote on 11-10 whether to use EST/EDT.
-# He also writes that the Ontario Time Act (1990, Chapter T.9)
-# http://www.gov.on.ca/MBS/english/publications/statregs/conttext.html
-# says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT.
-# Officially Atikokan is therefore on CST/CDT, and most likely this report
-# concerns a non-official time observed as a matter of local practice.
-#
-# From Paul Eggert (2000-10-02):
-# Matthews and Vincent (1998) write that Atikokan, Pickle Lake, and
-# New Osnaburgh observe CST all year, that Big Trout Lake observes
-# CST/CDT, and that Upsala and Shebandowan observe EST/EDT, all in
-# violation of the official Ontario rules.
-#
-# From Paul Eggert (2006-07-09):
-# Chris Walton (2006-07-06) mentioned an article by Stephanie MacLellan in the
-# 2005-07-21 Chronicle-Journal, which said:
-#
-# The clocks in Atikokan stay set on standard time year-round.
-# This means they spend about half the time on central time and
-# the other half on eastern time.
-#
-# For the most part, the system works, Mayor Dennis Brown said.
-#
-# "The majority of businesses in Atikokan deal more with Eastern
-# Canada, but there are some that deal with Western Canada," he
-# said. "I don't see any changes happening here."
-#
-# Walton also writes "Supposedly Pickle Lake and Mishkeegogamang
-# [New Osnaburgh] follow the same practice."
-
-# From Garry McKinnon (2006-07-14) via Chris Walton:
-# I chatted with a member of my board who has an outstanding memory
-# and a long history in Atikokan (and in the telecom industry) and he
-# can say for certain that Atikokan has been practicing the current
-# time keeping since 1952, at least.
-
-# From Paul Eggert (2006-07-17):
-# Shanks & Pottenger say that Atikokan has agreed with Rainy River
-# ever since standard time was introduced, but the information from
-# McKinnon sounds more authoritative. For now, assume that Atikokan
-# switched to EST immediately after WWII era daylight saving time
-# ended. This matches the old (less-populous) America/Coral_Harbour
-# entry since our cutoff date of 1970, so we can move
-# America/Coral_Harbour to the 'backward' file.
-
# From Mark Brader (2010-03-06):
#
# Currently the database has:
@@ -1842,11 +1781,7 @@ Zone America/Rainy_River -6:18:16 - LMT 1895
-6:00 Canada C%sT 1940 Sep 29
-6:00 1:00 CDT 1942 Feb 9 2:00s
-6:00 Canada C%sT
-Zone America/Atikokan -6:06:28 - LMT 1895
- -6:00 Canada C%sT 1940 Sep 29
- -6:00 1:00 CDT 1942 Feb 9 2:00s
- -6:00 Canada C%sT 1945 Sep 30 2:00
- -5:00 - EST
+# For Atikokan see America/Panama.
# Manitoba
@@ -2037,60 +1972,6 @@ Zone America/Edmonton -7:33:52 - LMT 1906 Sep
# Shanks & Pottenger write that since 1970 most of this region has
# been like Vancouver.
# Dawson Creek uses MST. Much of east BC is like Edmonton.
-# Matthews and Vincent (1998) write that Creston is like Dawson Creek.
-
-# It seems though that (re: Creston) is not entirely correct:
-
-# From Chris Walton (2011-12-01):
-# There are two areas within the Canadian province of British Columbia
-# that do not currently observe daylight saving:
-# a) The Creston Valley (includes the town of Creston and surrounding area)
-# b) The eastern half of the Peace River Regional District
-# (includes the cities of Dawson Creek and Fort St. John)
-
-# Earlier this year I stumbled across a detailed article about the time
-# keeping history of Creston; it was written by Tammy Hardwick who is the
-# manager of the Creston & District Museum. The article was written in May 2009.
-# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
-# According to the article, Creston has not changed its clocks since June 1918.
-# i.e. Creston has been stuck on UT-7 for 93 years.
-# Dawson Creek, on the other hand, changed its clocks as recently as April 1972.
-
-# Unfortunately the exact date for the time change in June 1918 remains
-# unknown and will be difficult to ascertain. I e-mailed Tammy a few months
-# ago to ask if Sunday June 2 was a reasonable guess. She said it was just
-# as plausible as any other date (in June). She also said that after writing
-# the article she had discovered another time change in 1916; this is the
-# subject of another article which she wrote in October 2010.
-# http://www.creston.museum.bc.ca/index.php?module=comments&uop=view_comment&cm+id=56
-
-# Here is a summary of the three clock change events in Creston's history:
-# 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
-# Exact date unknown
-# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
-# Exact date in October unknown; Sunday October 1 is a reasonable guess.
-# 3. June 1918: switch to Pacific Daylight Time (GMT-7)
-# Exact date in June unknown; Sunday June 2 is a reasonable guess.
-# note 1:
-# On Oct 27/1918 when daylight saving ended in the rest of Canada,
-# Creston did not change its clocks.
-# note 2:
-# During WWII when the Federal Government legislated a mandatory clock change,
-# Creston did not oblige.
-# note 3:
-# There is no guarantee that Creston will remain on Mountain Standard Time
-# (UTC-7) forever.
-# The subject was debated at least once this year by the town Council.
-# http://www.bclocalnews.com/kootenay_rockies/crestonvalleyadvance/news/116760809.html
-
-# During a period WWII, summer time (Daylight saying) was mandatory in Canada.
-# In Creston, that was handled by shifting the area to PST (-8:00) then applying
-# summer time to cause the offset to be -7:00, the same as it had been before
-# the change. It can be argued that the timezone abbreviation during this
-# period should be PDT rather than MST, but that doesn't seem important enough
-# (to anyone) to further complicate the rules.
-
-# The transition dates (and times) are guesses.
# From Matt Johnson (2015-09-21):
# Fort Nelson, BC, Canada will cancel DST this year. So while previously they
@@ -2144,10 +2025,7 @@ Zone America/Fort_Nelson -8:10:47 - LMT 1884
-8:00 Vanc P%sT 1987
-8:00 Canada P%sT 2015 Mar 8 2:00
-7:00 - MST
-Zone America/Creston -7:46:04 - LMT 1884
- -7:00 - MST 1916 Oct 1
- -8:00 - PST 1918 Jun 2
- -7:00 - MST
+# For Creston see America/Phoenix.
# Northwest Territories, Nunavut, Yukon
@@ -2929,64 +2807,61 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56
# Anguilla
# Antigua and Barbuda
-# See America/Port_of_Spain.
+# See America/Puerto_Rico.
-# Bahamas
-#
-# For 1899 Milne gives -5:09:29.5; round that.
-#
-# From P Chan (2020-11-27, corrected on 2020-12-02):
-# There were two periods of DST observed in 1942-1945: 1942-05-01
-# midnight to 1944-12-31 midnight and 1945-02-01 to 1945-10-17 midnight.
-# "midnight" should mean 24:00 from the context.
-#
-# War Time Order 1942 [1942-05-01] and War Time (No. 2) Order 1942 [1942-09-29]
-# Appendix to the Statutes of 7 George VI. and the Year 1942. p 34, 43
-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA34
-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA3-PA43
-#
-# War Time Order 1943 [1943-03-31] and War Time Order 1944 [1943-12-29]
-# Appendix to the Statutes of 8 George VI. and the Year 1943. p 9-10, 28-29
-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA9
-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA4-PA28
-#
-# War Time Order 1945 [1945-01-31] and the Order which revoke War Time Order
-# 1945 [1945-10-16] Appendix to the Statutes of 9 George VI. and the Year
-# 1945. p 160, 247-248
-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA160
-# https://books.google.com/books?id=5rlNAQAAIAAJ&pg=RA6-PA247
-#
-# From Sue Williams (2006-12-07):
-# The Bahamas announced about a month ago that they plan to change their DST
-# rules to sync with the U.S. starting in 2007....
-# http://www.jonesbahamas.com/?c=45&a=10412
+# The Bahamas
+# See America/Montreal.
-# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Bahamas 1942 only - May 1 24:00 1:00 W
-Rule Bahamas 1944 only - Dec 31 24:00 0 S
-Rule Bahamas 1945 only - Feb 1 0:00 1:00 W
-Rule Bahamas 1945 only - Aug 14 23:00u 1:00 P # Peace
-Rule Bahamas 1945 only - Oct 17 24:00 0 S
-Rule Bahamas 1964 1975 - Oct lastSun 2:00 0 S
-Rule Bahamas 1964 1975 - Apr lastSun 2:00 1:00 D
-# 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
# Barbados
# For 1899 Milne gives -3:58:29.2; round that.
+# From P Chan (2020-12-09 and 2020-12-11):
+# Standard time of GMT-4 was adopted in 1911.
+# Definition of Time Act, 1911 (1911-7) [1911-08-28]
+# 1912, Laws of Barbados (5 v.), OCLC Number: 919801291, Vol. 4, Image No. 522
+# 1944, Laws of Barbados (5 v.), OCLC Number: 84548697, Vol. 4, Image No. 122
+# http://llmc.com/browse.aspx?type=2&coll=85&div=297
+#
+# DST was observed in 1942-44.
+# Defence (Daylight Saving) Regulations, 1942, 1942-04-13
+# Defence (Daylight Saving) (Repeal) Regulations, 1942, 1942-08-22
+# Defence (Daylight Saving) Regulations, 1943, 1943-04-16
+# Defence (Daylight Saving) (Repeal) Regulations, 1943, 1943-09-01
+# Defence (Daylight Saving) Regulations, 1944, 1944-03-21
+# [Defence (Daylight Saving) (Amendment) Regulations 1944, 1944-03-28]
+# Defence (Daylight Saving) (Repeal) Regulations, 1944, 1944-08-30
+#
+# 1914-, Subsidiary Legis., Annual Vols. OCLC Number: 226290591
+# 1942: Image Nos. 527-528, 555-556
+# 1943: Image Nos. 178-179, 198
+# 1944: Image Nos. 113-115, 129
+# http://llmc.com/titledescfull.aspx?type=2&coll=85&div=297&set=98437
+#
+# From Tim Parenti (2021-02-20):
+# The transitions below are derived from P Chan's sources, except that the 1977
+# through 1980 transitions are from Shanks & Pottenger since we have no better
+# data there. Of particular note, the 1944 DST regulation only advanced the
+# time to "exactly three and a half hours later than Greenwich mean time", as
+# opposed to "three hours" in the 1942 and 1943 regulations.
+
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+Rule Barb 1942 only - Apr 19 5:00u 1:00 D
+Rule Barb 1942 only - Aug 31 6:00u 0 S
+Rule Barb 1943 only - May 2 5:00u 1:00 D
+Rule Barb 1943 only - Sep 5 6:00u 0 S
+Rule Barb 1944 only - Apr 10 5:00u 0:30 -
+Rule Barb 1944 only - Sep 10 6:00u 0 S
Rule Barb 1977 only - Jun 12 2:00 1:00 D
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 STDOFF RULES FORMAT [UNTIL]
-Zone America/Barbados -3:58:29 - LMT 1924 # Bridgetown
- -3:58:29 - BMT 1932 # Bridgetown Mean Time
+Zone America/Barbados -3:58:29 - LMT 1911 Aug 28 # Bridgetown
+ -4:00 Barb A%sT 1944
+ -4:00 Barb AST/-0330 1945
-4:00 Barb A%sT
# Belize
@@ -3148,6 +3023,9 @@ Zone Atlantic/Bermuda -4:19:18 - LMT 1890 # Hamilton
-4:00 Canada A%sT 1976
-4:00 US A%sT
+# Caribbean Netherlands
+# See America/Puerto_Rico.
+
# Cayman Is
# See America/Panama.
@@ -3376,7 +3254,7 @@ Zone America/Havana -5:29:28 - LMT 1890
-5:00 Cuba C%sT
# Dominica
-# See America/Port_of_Spain.
+# See America/Puerto_Rico.
# Dominican Republic
@@ -3428,7 +3306,7 @@ Zone America/El_Salvador -5:56:48 - LMT 1921 # San Salvador
# Guadeloupe
# St Barthélemy
# St Martin (French part)
-# See America/Port_of_Spain.
+# See America/Puerto_Rico.
# Guatemala
#
@@ -3615,7 +3493,7 @@ Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France
-4:00 - AST
# Montserrat
-# See America/Port_of_Spain.
+# See America/Puerto_Rico.
# Nicaragua
#
@@ -3687,7 +3565,6 @@ Zone America/Managua -5:45:08 - LMT 1890
Zone America/Panama -5:18:08 - LMT 1890
-5:19:36 - CMT 1908 Apr 22 # Colón Mean Time
-5:00 - EST
-Link America/Panama America/Cayman
# Puerto Rico
# There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
@@ -3699,7 +3576,7 @@ Zone America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12:00 # San Juan
# St Kitts-Nevis
# St Lucia
-# See America/Port_of_Spain.
+# See America/Puerto_Rico.
# St Pierre and Miquelon
# There are too many St Pierres elsewhere, so we'll use 'Miquelon'.
@@ -3710,7 +3587,10 @@ Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre
-3:00 Canada -03/-02
# St Vincent and the Grenadines
-# See America/Port_of_Spain.
+# See America/Puerto_Rico.
+
+# Sint Maarten
+# See America/Puerto_Rico.
# Turks and Caicos
#
@@ -3781,8 +3661,8 @@ Zone America/Grand_Turk -4:44:32 - LMT 1890
-5:00 US E%sT
# British Virgin Is
-# Virgin Is
-# See America/Port_of_Spain.
+# US Virgin Is
+# See America/Puerto_Rico.
# Local Variables:
diff --git a/contrib/tzdata/southamerica b/contrib/tzdata/southamerica
index aad8b2dbd190..9d8f46039d3d 100644
--- a/contrib/tzdata/southamerica
+++ b/contrib/tzdata/southamerica
@@ -574,7 +574,7 @@ Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31
-3:00 - -03
# Aruba
-Link America/Curacao America/Aruba
+# See America/Puerto_Rico.
# Bolivia
# Zone NAME STDOFF RULES FORMAT [UNTIL]
@@ -1369,35 +1369,14 @@ Zone America/Bogota -4:56:16 - LMT 1884 Mar 13
# no information; probably like America/Bogota
# Curaçao
-
-# Milne gives 4:35:46.9 for Curaçao mean time; round to nearest.
-#
-# From Paul Eggert (2006-03-22):
-# Shanks & Pottenger say that The Bottom and Philipsburg have been at
-# -4:00 since standard time was introduced on 1912-03-02; and that
-# Kralendijk and Rincon used Kralendijk Mean Time (-4:33:08) from
-# 1912-02-02 to 1965-01-01. The former is dubious, since S&P also say
-# Saba Island has been like Curaçao.
-# This all predates our 1970 cutoff, though.
-#
-# By July 2007 Curaçao and St Maarten are planned to become
-# associated states within the Netherlands, much like Aruba;
-# Bonaire, Saba and St Eustatius would become directly part of the
-# Netherlands as Kingdom Islands. This won't affect their time zones
-# though, as far as we know.
+# See America/Puerto_Rico.
#
-# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad
- -4:30 - -0430 1965
- -4:00 - AST
-
# From Arthur David Olson (2011-06-15):
# use links for places with new iso3166 codes.
# The name "Lower Prince's Quarter" is both longer than fourteen characters
-# and contains an apostrophe; use "Lower_Princes" below.
-
-Link America/Curacao America/Lower_Princes # Sint Maarten
-Link America/Curacao America/Kralendijk # Caribbean Netherlands
+# and contains an apostrophe; use "Lower_Princes"....
+# From Paul Eggert (2021-05-06):
+# These backward-compatibility links now are in the 'backward' file.
# Ecuador
#
@@ -1540,11 +1519,40 @@ Zone America/Cayenne -3:29:20 - LMT 1911 Jul
-3:00 - -03
# Guyana
+
+# From P Chan (2020-11-27):
+# https://books.google.com/books?id=5-5CAQAAMAAJ&pg=SA1-PA547
+# The Official Gazette of British Guiana. (New Series.) Vol. XL. July to
+# December, 1915, p 1547, lists as several notes:
+# "Local Mean Time 3 hours 52 mins. 39 secs. slow of Greenwich Mean Time
+# (Georgetown.) From 1st August, 1911, British Guiana Standard Mean Time 4
+# hours slow of Greenwich Mean Time, by notice in Official Gazette on 1st July,
+# 1911. From 1st March, 1915, British Guiana Standard Mean Time 3 hours 45
+# mins. 0 secs. slow of Greenwich Mean Time, by notice in Official Gazette on
+# 23rd January, 1915."
+#
+# https://parliament.gov.gy/documents/acts/10923-act_no._27_of_1975_-_interpretation_and_general_clauses_(amendment)_act_1975.pdf
+# Interpretation and general clauses (Amendment) Act 1975 (Act No. 27 of 1975)
+# [dated 1975-07-31]
+# "This Act...shall come into operation on 1st August, 1975."
+# "...where any expression of time occurs...the time referred to shall signify
+# the standard time of Guyana which shall be three hours behind Greenwich Mean
+# Time."
+#
+# Circular No. 10/1992 dated 1992-03-20
+# https://dps.gov.gy/wp-content/uploads/2018/12/1992-03-20-Circular-010.pdf
+# "...cabinet has decided that with effect from Sunday 29th March, 1992, Guyana
+# Standard Time would be re-established at 01:00 hours by adjusting the hands
+# of the clock back to 24:00 hours."
+# Legislated in the Interpretation and general clauses (Amendment) Act 1992
+# (Act No. 6 of 1992) [passed 1992-03-27, published 1992-04-18]
+# https://parliament.gov.gy/documents/acts/5885-6_of_1992_interpretation_and_general_clauses_(amendment)_act_1992.pdf
+
# 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
-# IATA SSIM (1996-06) says -4:00. Assume a 1991 switch.
+Zone America/Guyana -3:52:39 - LMT 1911 Aug 1 # Georgetown
+ -4:00 - -04 1915 Mar 1
+ -3:45 - -0345 1975 Aug 1
+ -3:00 - -03 1992 Mar 29 1:00
-4:00 - -04
# Paraguay
@@ -1685,24 +1693,7 @@ Zone America/Paramaribo -3:40:40 - LMT 1911
-3:00 - -03
# Trinidad and Tobago
-# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone America/Port_of_Spain -4:06:04 - LMT 1912 Mar 2
- -4:00 - AST
-
-# These all agree with Trinidad and Tobago since 1970.
-Link America/Port_of_Spain America/Anguilla
-Link America/Port_of_Spain America/Antigua
-Link America/Port_of_Spain America/Dominica
-Link America/Port_of_Spain America/Grenada
-Link America/Port_of_Spain America/Guadeloupe
-Link America/Port_of_Spain America/Marigot # St Martin (French part)
-Link America/Port_of_Spain America/Montserrat
-Link America/Port_of_Spain America/St_Barthelemy # St Barthélemy
-Link America/Port_of_Spain America/St_Kitts # St Kitts & Nevis
-Link America/Port_of_Spain America/St_Lucia
-Link America/Port_of_Spain America/St_Thomas # Virgin Islands (US)
-Link America/Port_of_Spain America/St_Vincent
-Link America/Port_of_Spain America/Tortola # Virgin Islands (UK)
+# See America/Puerto_Rico.
# Uruguay
# From Paul Eggert (1993-11-18):
diff --git a/contrib/tzdata/theory.html b/contrib/tzdata/theory.html
index 28f6b8ec51a8..5a05f4b12d22 100644
--- a/contrib/tzdata/theory.html
+++ b/contrib/tzdata/theory.html
@@ -42,12 +42,13 @@ href="https://en.wikipedia.org/wiki/Unix_time">POSIX Epoch</a>
(1970-01-01 00:00:00 <a
href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time"><abbr
title="Coordinated Universal Time">UTC</abbr></a>).
-The database labels each timezone with a notable location and
-records all known clock transitions for that location.
Although 1970 is a somewhat-arbitrary cutoff, there are significant
challenges to moving the cutoff earlier even by a decade or two, due
to the wide variety of local practices before computer timekeeping
became prevalent.
+Most timezones correspond to a notable location and the database
+records all known clock transitions for that location;
+some timezones correspond instead to a fixed <abbr>UTC</abbr> offset.
</p>
<p>
@@ -58,8 +59,9 @@ specifies current standard time. For example, applications that deal
with current and future timestamps in the traditional North
American mountain time zone can choose from the timezones
<code>America/Denver</code> which observes US-style daylight saving
-time, <code>America/Mazatlan</code> which observes Mexican-style DST,
-and <code>America/Phoenix</code> which does not observe DST.
+time (<abbr>DST</abbr>),
+<code>America/Mazatlan</code> which observes Mexican-style <abbr>DST</abbr>,
+and <code>America/Phoenix</code> which does not observe <abbr>DST</abbr>.
Applications that also deal with past timestamps in the mountain time
zone can choose from over a dozen timezones, such as
<code>America/Boise</code>, <code>America/Edmonton</code>, and
@@ -68,7 +70,7 @@ time but differs from other timezones for some timestamps after 1970.
</p>
<p>
-Clock transitions before 1970 are recorded for each timezone,
+Clock transitions before 1970 are recorded for location-based timezones,
because most systems support timestamps before 1970 and could
misbehave if data entries were omitted for pre-1970 transitions.
However, the database is not designed for and does not suffice for
@@ -190,8 +192,8 @@ in decreasing order of importance:
<code>TZ</code> strings</a>.
A file name component must not exceed 14 characters or start with
'<code>-</code>'.
- E.g., prefer <code>Asia/Brunei</code> to
- <code>Asia/Bandar_Seri_Begawan</code>.
+ E.g., prefer <code>America/Noronha</code> to
+ <code>America/Fernando_de_Noronha</code>.
Exceptions: see the discussion of legacy names below.
</li>
<li>
@@ -473,10 +475,10 @@ in decreasing order of importance:
<p>
<small>These abbreviations are:
- AMT Amsterdam, Asunción, Athens;
+ AMT Asunción, Athens;
BMT Baghdad, Bangkok, Batavia, Bermuda, Bern, Bogotá, Bridgetown,
Brussels, Bucharest;
- CMT Calamarca, Caracas, Chisinau, Colón, Copenhagen, Córdoba;
+ CMT Calamarca, Caracas, Chisinau, Colón, Córdoba;
DMT Dublin/Dunsink;
EMT Easter;
FFMT Fort-de-France;
@@ -499,7 +501,8 @@ in decreasing order of importance:
SMT Santiago, Simferopol, Singapore, Stanley;
TBMT Tbilisi;
TMT Tallinn, Tehran;
- WMT Warsaw</small>.
+ WMT Warsaw;
+ ZMT Zomba.</small>
</p>
<p>
@@ -513,9 +516,7 @@ in decreasing order of importance:
1880&ndash;1916,
MMT/MST/MDST for Moscow 1880&ndash;1919, and
RMT/LST for Riga Mean Time and Latvian Summer time 1880&ndash;1926.
- An extra-special case is SET for Swedish Time (<em>svensk
- normaltid</em>) 1879&ndash;1899, 3&deg; west of the Stockholm
- Observatory.</small>
+ </small>
</p>
</li>
<li>
@@ -702,11 +703,9 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
<li>
Sometimes historical timekeeping was specified more precisely
than what the <code><abbr>tz</abbr></code> code can handle.
- For example, from 1909 to 1937 <a
- href="https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm"
- hreflang="nl">Netherlands clocks</a> were legally Amsterdam Mean
+ For example, from 1880 to 1916 clocks in Ireland observed Dublin Mean
Time (estimated to be <abbr>UT</abbr>
- +00:19:32.13), but the <code><abbr>tz</abbr></code>
+ &minus;00:25:21.1), but the <code><abbr>tz</abbr></code>
code cannot represent the fractional second.
In practice these old specifications were rarely if ever
implemented to subsecond precision.
@@ -753,7 +752,8 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
the Western 06:00 to be 12:00. These practices are largely outside
the scope of the <code><abbr>tz</abbr></code> code and data, which
provide only limited support for date and time localization
- such as that required by POSIX. If DST is not used a different time zone
+ such as that required by POSIX.
+ If <abbr>DST</abbr> is not used a different time zone
can often do the trick; for example, in Kenya a <code>TZ</code> setting
like <code>&lt;-03&gt;3</code> or <code>America/Cayenne</code> starts
the day six hours later than <code>Africa/Nairobi</code> does.
@@ -1271,7 +1271,8 @@ The directly-supported mechanism assumes that <code>time_t</code>
counts of seconds since the POSIX epoch normally include leap seconds,
as opposed to POSIX <code>time_t</code> counts which exclude leap seconds.
This modified timescale is converted to <abbr>UTC</abbr>
-at the same point that time zone and DST adjustments are applied &ndash;
+at the same point that time zone and <abbr>DST</abbr>
+adjustments are applied &ndash;
namely, at calls to <code>localtime</code> and analogous functions &ndash;
and the process is driven by leap second information
stored in alternate versions of the <abbr>TZif</abbr> files.
diff --git a/contrib/tzdata/version b/contrib/tzdata/version
index 1d590958afd8..ba5601efbeda 100644
--- a/contrib/tzdata/version
+++ b/contrib/tzdata/version
@@ -1 +1 @@
-2021a
+2021b
diff --git a/contrib/tzdata/ziguard.awk b/contrib/tzdata/ziguard.awk
index 7d6f7c99c952..6888c27156b9 100644
--- a/contrib/tzdata/ziguard.awk
+++ b/contrib/tzdata/ziguard.awk
@@ -114,15 +114,16 @@ DATAFORM != "main" {
}
}
-# If a Link line is followed by a Zone line for the same data, comment
+# If a Link line is followed by a Link or Zone line for the same data, comment
# out the Link line. This can happen if backzone overrides a Link
-# with a Zone.
-/^Link/ {
- linkline[$3] = NR
-}
+# with a Zone or a different Link.
/^Zone/ {
sub(/^Link/, "#Link", line[linkline[$2]])
}
+/^Link/ {
+ sub(/^Link/, "#Link", line[linkline[$3]])
+ linkline[$3] = NR
+}
{ line[NR] = $0 }
diff --git a/contrib/tzdata/zone.tab b/contrib/tzdata/zone.tab
index 1f0128f3b280..086458fb2073 100644
--- a/contrib/tzdata/zone.tab
+++ b/contrib/tzdata/zone.tab
@@ -3,7 +3,7 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
-# From Paul Eggert (2018-06-27):
+# From Paul Eggert (2021-09-20):
# This file is intended as a backward-compatibility aid for older programs.
# New programs should use zone1970.tab. This file is like zone1970.tab (see
# zone1970.tab's comments), but with the following additional restrictions:
@@ -16,6 +16,9 @@
# clocks have agreed since 1970; this is a narrower definition than
# that of zone1970.tab.
#
+# Unlike zone1970.tab, a row's third column can be a Link from
+# 'backward' instead of a Zone.
+#
# This table is intended as an aid for users, to help them select timezones
# appropriate for their practical needs. It is not intended to take or
# endorse any position on legal or territorial claims.
@@ -228,7 +231,7 @@ KE -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KH +1133+10455 Asia/Phnom_Penh
KI +0125+17300 Pacific/Tarawa Gilbert Islands
-KI -0308-17105 Pacific/Enderbury Phoenix Islands
+KI -0247-17143 Pacific/Kanton Phoenix Islands
KI +0152-15720 Pacific/Kiritimati Line Islands
KM -1141+04316 Indian/Comoro
KN +1718-06243 America/St_Kitts
@@ -391,7 +394,7 @@ TK -0922-17114 Pacific/Fakaofo
TL -0833+12535 Asia/Dili
TM +3757+05823 Asia/Ashgabat
TN +3648+01011 Africa/Tunis
-TO -2110-17510 Pacific/Tongatapu
+TO -210800-1751200 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
TT +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti
diff --git a/contrib/tzdata/zone1970.tab b/contrib/tzdata/zone1970.tab
index 453a0fd063c9..8bf2412f744e 100644
--- a/contrib/tzdata/zone1970.tab
+++ b/contrib/tzdata/zone1970.tab
@@ -41,11 +41,9 @@ AL +4120+01950 Europe/Tirane
AM +4011+04430 Asia/Yerevan
AQ -6617+11031 Antarctica/Casey Casey
AQ -6835+07758 Antarctica/Davis Davis
-AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville
AQ -6736+06253 Antarctica/Mawson Mawson
AQ -6448-06406 Antarctica/Palmer Palmer
AQ -6734-06808 Antarctica/Rothera Rothera
-AQ -690022+0393524 Antarctica/Syowa Syowa
AQ -720041+0023206 Antarctica/Troll Troll
AQ -7824+10654 Antarctica/Vostok Vostok
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
@@ -98,7 +96,6 @@ BR +0249-06040 America/Boa_Vista Roraima
BR -0308-06001 America/Manaus Amazonas (east)
BR -0640-06952 America/Eirunepe Amazonas (west)
BR -0958-06748 America/Rio_Branco Acre
-BS +2505-07721 America/Nassau
BT +2728+08939 Asia/Thimphu
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
@@ -107,13 +104,11 @@ CA +4439-06336 America/Halifax Atlantic - NS (most areas); PE
CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
CA +4606-06447 America/Moncton Atlantic - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
-CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
-CA +4339-07923 America/Toronto Eastern - ON, QC (most areas)
+CA,BS +4339-07923 America/Toronto Eastern - ON, QC (most areas), Bahamas
CA +4901-08816 America/Nipigon Eastern - ON, QC (no DST 1967-73)
CA +4823-08915 America/Thunder_Bay Eastern - ON (Thunder Bay)
CA +6344-06828 America/Iqaluit Eastern - NU (most east areas)
CA +6608-06544 America/Pangnirtung Eastern - NU (Pangnirtung)
-CA +484531-0913718 America/Atikokan EST - ON (Atikokan); NU (Coral H)
CA +4953-09709 America/Winnipeg Central - ON (west); Manitoba
CA +4843-09434 America/Rainy_River Central - ON (Rainy R, Ft Frances)
CA +744144-0944945 America/Resolute Central - NU (Resolute)
@@ -124,7 +119,6 @@ CA +5333-11328 America/Edmonton Mountain - AB; BC (E); SK (W)
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
CA +6227-11421 America/Yellowknife Mountain - NT (central)
CA +682059-1334300 America/Inuvik Mountain - NT (west)
-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 +6043-13503 America/Whitehorse MST - Yukon (east)
@@ -132,7 +126,7 @@ CA +6404-13925 America/Dawson MST - Yukon (west)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
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
+CI,BF,GH,GM,GN,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan
CK -2114-15946 Pacific/Rarotonga
CL -3327-07040 America/Santiago Chile (most areas)
CL -5309-07055 America/Punta_Arenas Region of Magallanes
@@ -143,7 +137,6 @@ CO +0436-07405 America/Bogota
CR +0956-08405 America/Costa_Rica
CU +2308-08222 America/Havana
CV +1455-02331 Atlantic/Cape_Verde
-CW,AW,BQ,SX +1211-06900 America/Curacao
CX -1025+10543 Indian/Christmas
CY +3510+03322 Asia/Nicosia Cyprus (most areas)
CY +3507+03357 Asia/Famagusta Northern Cyprus
@@ -171,7 +164,6 @@ FR +4852+00220 Europe/Paris
GB,GG,IM,JE +513030-0000731 Europe/London
GE +4143+04449 Asia/Tbilisi
GF +0456-05220 America/Cayenne
-GH +0533-00013 Africa/Accra
GI +3608-00521 Europe/Gibraltar
GL +6411-05144 America/Nuuk Greenland (most areas)
GL +7646-01840 America/Danmarkshavn National Park (east coast)
@@ -205,7 +197,7 @@ JP +353916+1394441 Asia/Tokyo
KE,DJ,ER,ET,KM,MG,SO,TZ,UG,YT -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KI +0125+17300 Pacific/Tarawa Gilbert Islands
-KI -0308-17105 Pacific/Enderbury Phoenix Islands
+KI -0247-17143 Pacific/Kanton Phoenix Islands
KI +0152-15720 Pacific/Kiritimati Line Islands
KP +3901+12545 Asia/Pyongyang
KR +3733+12658 Asia/Seoul
@@ -263,19 +255,19 @@ NR -0031+16655 Pacific/Nauru
NU -1901-16955 Pacific/Niue
NZ,AQ -3652+17446 Pacific/Auckland New Zealand time
NZ -4357-17633 Pacific/Chatham Chatham Islands
-PA,KY +0858-07932 America/Panama
+PA,CA,KY +0858-07932 America/Panama EST - Panama, Cayman, ON (Atikokan), NU (Coral H)
PE -1203-07703 America/Lima
PF -1732-14934 Pacific/Tahiti Society Islands
PF -0900-13930 Pacific/Marquesas Marquesas Islands
PF -2308-13457 Pacific/Gambier Gambier Islands
-PG -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas)
+PG,AQ -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas), Dumont d'Urville
PG -0613+15534 Pacific/Bougainville Bougainville
PH +1435+12100 Asia/Manila
PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
PN -2504-13005 Pacific/Pitcairn
-PR +182806-0660622 America/Puerto_Rico
+PR,AG,CA,AI,AW,BL,BQ,CW,DM,GD,GP,KN,LC,MF,MS,SX,TT,VC,VG,VI +182806-0660622 America/Puerto_Rico AST
PS +3130+03428 Asia/Gaza Gaza Strip
PS +313200+0350542 Asia/Hebron West Bank
PT +3843-00908 Europe/Lisbon Portugal (mainland)
@@ -315,12 +307,12 @@ RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E); North Kuril Is
RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka
RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
-SA,KW,YE +2438+04643 Asia/Riyadh
+SA,AQ,KW,YE +2438+04643 Asia/Riyadh Arabia, Syowa
SB -0932+16012 Pacific/Guadalcanal
SC -0440+05528 Indian/Mahe
SD +1536+03232 Africa/Khartoum
SE +5920+01803 Europe/Stockholm
-SG +0117+10351 Asia/Singapore
+SG,MY +0117+10351 Asia/Singapore Singapore, peninsular Malaysia
SR +0550-05510 America/Paramaribo
SS +0451+03137 Africa/Juba
ST +0020+00644 Africa/Sao_Tome
@@ -335,9 +327,8 @@ TK -0922-17114 Pacific/Fakaofo
TL -0833+12535 Asia/Dili
TM +3757+05823 Asia/Ashgabat
TN +3648+01011 Africa/Tunis
-TO -2110-17510 Pacific/Tongatapu
+TO -210800-1751200 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
-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)
@@ -363,7 +354,7 @@ US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
US +394421-1045903 America/Denver Mountain (most areas)
US +433649-1161209 America/Boise Mountain - ID (south); OR (east)
-US +332654-1120424 America/Phoenix MST - Arizona (except Navajo)
+US,CA +332654-1120424 America/Phoenix MST - Arizona (except Navajo), Creston BC
US +340308-1181434 America/Los_Angeles Pacific
US +611305-1495401 America/Anchorage Alaska (most areas)
US +581807-1342511 America/Juneau Alaska - Juneau area