From 00dfa9b9be8f3e1eb832337eacc61c95bb031aad Mon Sep 17 00:00:00 2001 From: Gordon Tetlow Date: Thu, 2 Nov 2017 15:56:08 +0000 Subject: [PATCH] Add EN-17:09. --- .../advisories/FreeBSD-EN-17:09.tzdata.asc | 175 + .../patches/EN-17:09/tzdata-10.3.patch | 8914 +++++++++++++++++ .../patches/EN-17:09/tzdata-10.3.patch.asc | 18 + .../patches/EN-17:09/tzdata-10.4.patch | 5133 ++++++++++ .../patches/EN-17:09/tzdata-10.4.patch.asc | 18 + .../patches/EN-17:09/tzdata-11.0.patch | 8914 +++++++++++++++++ .../patches/EN-17:09/tzdata-11.0.patch.asc | 18 + .../patches/EN-17:09/tzdata-11.1.patch | 5133 ++++++++++ .../patches/EN-17:09/tzdata-11.1.patch.asc | 18 + share/xml/notices.xml | 12 + 10 files changed, 28353 insertions(+) create mode 100644 share/security/advisories/FreeBSD-EN-17:09.tzdata.asc create mode 100644 share/security/patches/EN-17:09/tzdata-10.3.patch create mode 100644 share/security/patches/EN-17:09/tzdata-10.3.patch.asc create mode 100644 share/security/patches/EN-17:09/tzdata-10.4.patch create mode 100644 share/security/patches/EN-17:09/tzdata-10.4.patch.asc create mode 100644 share/security/patches/EN-17:09/tzdata-11.0.patch create mode 100644 share/security/patches/EN-17:09/tzdata-11.0.patch.asc create mode 100644 share/security/patches/EN-17:09/tzdata-11.1.patch create mode 100644 share/security/patches/EN-17:09/tzdata-11.1.patch.asc diff --git a/share/security/advisories/FreeBSD-EN-17:09.tzdata.asc b/share/security/advisories/FreeBSD-EN-17:09.tzdata.asc new file mode 100644 index 0000000000..b649d57c4e --- /dev/null +++ b/share/security/advisories/FreeBSD-EN-17:09.tzdata.asc @@ -0,0 +1,175 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +============================================================================= +FreeBSD-EN-17:09.tzdata Errata Notice + The FreeBSD Project + +Topic: Timezone database information update + +Category: contrib +Module: zoneinfo +Announced: 2017-11-02 +Credits: Philip Paeps +Affects: All supported versions of FreeBSD +Corrected: 2017-10-30 15:56:17 UTC (stable/11, 11.1-STABLE) + 2017-11-02 15:40:19 UTC (releng/11.1, 11.1-RELEASE-p3) + 2017-11-02 15:39:49 UTC (releng/11.0, 11.0-RELEASE-p14) + 2017-10-30 15:57:48 UTC (stable/10, 10.4-STABLE) + 2017-11-02 15:38:54 UTC (releng/10.4, 10.4-RELEASE-p2) + 2017-11-02 15:38:24 UTC (releng/10.3, 10.3-RELEASE-p23) + +For general information regarding FreeBSD Errata Notices and Security +Advisories, including descriptions of the fields above, security +branches, and the following sections, please visit +. + +I. Background + +The tzsetup(8) program allows the user to specify the default local +timezone. Based on the selected timezone, tzsetup(8) copies one of the +files from /usr/share/zoneinfo to /etc/localtime. This file actually +controls the conversion. + +II. Problem Description + +Several changes in Daylight Savings Time happened after previous +FreeBSD releases were released that would affect many people who +live in different countries. Because of these changes, the data in +the zoneinfo files need to be updated, and if the local timezone on +the running system is affected, tzsetup(8) needs to be run so the +/etc/localtime is updated. + +III. Impact + +An incorrect time will be displayed on a system configured to use one +of the affected timezones if the /usr/share/zoneinfo and /etc/localtime +files are not updated, and all applications on the system that rely on +the system time, such as cron(8) and syslog(8), will be affected. + +IV. Workaround + +The system administrator can install an updated timezone database from +the misc/zoneinfo port and run tzsetup(8) to get the timezone database +corrected. + +Applications that store and display times in Coordinated Universal Time +(UTC) are not affected. + +V. Solution + +Please note that some third party software, for instance PHP, Ruby, +Java and Perl, may be using different zoneinfo data source, in such +cases these software has to be updated separately. For software +packages that is installed via package collection, they can be +upgraded by doing a `pkg upgrade'. + +Following the instructions in this Errata Notice will update all of +the zoneinfo files to be the same as what was released with FreeBSD +release. + +Perform one of the following: + +1) Upgrade your system to a supported FreeBSD stable or release / security +branch (releng) dated after the correction date. Restart all the affected +applications and daemons, or reboot the system. + +2) To update your system via a binary patch: + +Systems running a RELEASE version of FreeBSD on the i386 or amd64 +platforms can be updated via the freebsd-update(8) utility: + +# freebsd-update fetch +# freebsd-update install + +Restart all the affected applications and daemons, or reboot the system. + +3) To update your system via a source code patch: + +The following patches have been verified to apply to the applicable +FreeBSD release branches. + +a) Download the relevant patch from the location below, and verify the +detached PGP signature using your PGP utility. + +[FreeBSD 11.1] +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.1.patch +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.1.patch.asc +# gpg --verify tzdata-11.1.patch.asc + +[FreeBSD 11.0] +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.0.patch +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-11.0.patch.asc +# gpg --verify tzdata-11.0.patch.asc + +[FreeBSD 10.4] +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.4.patch +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.4.patch.asc +# gpg --verify tzdata-10.4.patch.asc + +[FreeBSD 10.3] +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.3.patch +# fetch https://security.FreeBSD.org/patches/EN-17:09/tzdata-10.3.patch.asc +# gpg --verify tzdata-10.3.patch.asc + +b) Apply the patch. Execute the following commands as root: + +# cd /usr/src +# patch < /path/to/patch + +c) Recompile the operating system using buildworld and installworld as +described in . + +Restart all the affected applications and daemons, or reboot the system. + +VI. Correction details + +The following list contains the correction revision numbers for each +affected branch. + +Branch/path Revision +- ------------------------------------------------------------------------- +stable/10/ r325160 +releng/10.3/ r325322 +releng/10.4/ r325323 +stable/11/ r325159 +releng/11.0/ r325324 +releng/11.1/ r325325 +- ------------------------------------------------------------------------- + +To see which files were modified by a particular revision, run the +following command, replacing NNNNNN with the revision number, on a +machine with Subversion installed: + +# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base + +Or visit the following URL, replacing NNNNNN with the revision number: + + + +VII. References + + + + + +The latest revision of this advisory is available at + +-----BEGIN PGP SIGNATURE----- + +iQKTBAEBCgB9FiEEHPf/b631yp++G4yy7Wfs1l3PaucFAln7PU1fFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFD +RjdGRjZGQURGNUNBOUZCRTFCOENCMkVENjdFQ0Q2NURDRjZBRTcACgkQ7Wfs1l3P +aueuIBAA3RuatfFdMtCSZNQ4Dnzis2V7fNQxXDtBz6yKs71TBuNBTlN7I2HjhwSz +/Xi81FZib24J9u95/dk3u5GsMy1YlMh7AX3ktwVkwU1PdbjkCsCSKyIg5VPmvKkP +BS73ksLc82CoEMH74EUoSd0Bp8HRhzXugoO1K8cgtcuXiuOiEfAhrQ6/V8LHwxaX +ISoQfZ2e7Nni0NmevF/18ftQm9xa8dW0957UGBd+W+mg3xsNWlpQa04pSBxoms5N +OVuW5iii7bbtD8rH3jcsqYyeXWyJhd04WoW921EcSspel9tbXByZDqzepkz09skO +xfCKoE7CoJY7DhJcvPjNnu8rTODofXZ8ac3mf60rgkMOwnupo/uR5JrXAry6PZHI +VEv8SyJ2j/hAJ7A1L3Rgd6A9GJ2zbXBRKvDmcz8aodmQBZ34dxwqGpAEudMDX8tK +rbTachnq5WNXKypm3XYql4wNbBvO0f5ooV962HKwflCFG/v5Lm3Zqx+FbpvIoSBq +AwoEvssX4krcBF0buNd3TjKVKJ+6O3G4SKjWlrgGMqUEKFWDbuC41z7N5Cse6dWs +3JVnPsP0EfucAPybiFOrSmJ29mfR9rtQjJeTm498Z3VeQ67pQt+VztKCIA1FU/NO +8elPk05f+cbjRhQgSiFTPuE0M2/0qE9Bj70x2kN7wDOCynEnIek= +=Ri9G +-----END PGP SIGNATURE----- diff --git a/share/security/patches/EN-17:09/tzdata-10.3.patch b/share/security/patches/EN-17:09/tzdata-10.3.patch new file mode 100644 index 0000000000..fb398ea14f --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-10.3.patch @@ -0,0 +1,8914 @@ +--- contrib/tzdata/CONTRIBUTING.orig ++++ contrib/tzdata/CONTRIBUTING +@@ -5,23 +5,29 @@ + warning, the data entries do not cover all of civil time before + 1970, and undoubtedly errors remain in the code and data. Feel + free to fill gaps or fix mistakes, and please email improvements +-to tz@iana.org for use in the future. ++to tz@iana.org for use in the future. In your email, please give ++reliable sources that reviewers can check. + ++----- ++ ++Developers can contribute technical changes to the source code and ++data as follows. ++ + To email small changes, please run a POSIX shell command like + 'diff -u old/europe new/europe >myfix.patch', and attach + myfix.patch to the email. + +-For more-elaborate changes, please read the Theory file and browse +-the mailing list archives for +-examples of patches that tend to work well. Ideally, additions to ++For more-elaborate changes, please read the theory.html file and browse ++the mailing list archives for ++examples of patches that tend to work well. Additions to + data should contain commentary citing reliable sources as +-justification. ++justification. Citations should use https: URLs if available. + + Please submit changes against either the latest release in +- or the master branch of the experimental +-Git repository. If you use Git the following workflow may be helpful: ++ or the master branch of the development ++repository. If you use Git the following workflow may be helpful: + +- * Copy the experimental repository. ++ * Copy the development repository. + + git clone https://github.com/eggert/tz.git + cd tz +--- contrib/tzdata/LICENSE.orig ++++ contrib/tzdata/LICENSE +@@ -1,4 +1,5 @@ +-With a few exceptions, all files in the tz code and data (including +-this one) are in the public domain. The exceptions are date.c, +-newstrftime.3, and strftime.c, which contain material derived from BSD +-and which use the BSD 3-clause license. ++Unless specified below, all files in the tz code and data (including ++this LICENSE file) are in the public domain. ++ ++If the files date.c, newstrftime.3, and strftime.c are present, they ++contain material derived from BSD and use the BSD 3-clause license. +--- contrib/tzdata/Makefile.orig ++++ contrib/tzdata/Makefile +@@ -49,6 +49,7 @@ + # "Compiled" time zone information is placed in the "TZDIR" directory + # (and subdirectories). + # Use an absolute path name for TZDIR unless you're just testing the software. ++# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty. + + TZDIR_BASENAME= zoneinfo + TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME) +@@ -72,11 +73,11 @@ + + LIBDIR= $(TOPDIR)/lib + +-# If you always want time values interpreted as "seconds since the epoch +-# (not counting leap seconds)", use ++# If you want only POSIX time, with time values interpreted as ++# seconds since the epoch (not counting leap seconds), use + # REDO= posix_only +-# below. If you always want right time values interpreted as "seconds since +-# the epoch" (counting leap seconds)", use ++# below. If you want only "right" time, with values interpreted ++# as seconds since the epoch (counting leap seconds), use + # REDO= right_only + # below. If you want both sets of data available, with leap seconds not + # counted normally, use +@@ -85,10 +86,31 @@ + # normally, use + # REDO= right_posix + # below. POSIX mandates that leap seconds not be counted; for compatibility +-# with it, use "posix_only" or "posix_right". ++# with it, use "posix_only" or "posix_right". Use POSIX time on systems with ++# leap smearing; this can work better than unsmeared "right" time with ++# applications that are not leap second aware, and is closer to unsmeared ++# "right" time than unsmeared POSIX time is (e.g., 0.5 vs 1.0 s max error). + + REDO= posix_right + ++# To install data in text form that has all the information of the binary data, ++# (optionally incorporating leap second information), use ++# TZDATA_TEXT= tzdata.zi leapseconds ++# To install text data without leap second information (e.g., because ++# REDO='posix_only'), use ++# TZDATA_TEXT= tzdata.zi ++# To avoid installing text data, use ++# TZDATA_TEXT= ++ ++TZDATA_TEXT= leapseconds tzdata.zi ++ ++# For backward-compatibility links for old zone names, use ++# BACKWARD= backward pacificnew ++# To omit these links, use ++# BACKWARD= ++ ++BACKWARD= backward pacificnew ++ + # If you want out-of-scope and often-wrong data from the file 'backzone', use + # PACKRATDATA= backzone + # To omit this data, use +@@ -96,6 +118,11 @@ + + PACKRATDATA= + ++# The name of a locale using the UTF-8 encoding, used during self-tests. ++# The tests are skipped if the name does not appear to work on this system. ++ ++UTF8_LOCALE= en_US.utf8 ++ + # Since "." may not be in PATH... + + YEARISTYPE= ./yearistype +@@ -103,50 +130,53 @@ + # Non-default libraries needed to link. + LDLIBS= + +-# Add the following to the end of the "CFLAGS=" line as needed. ++# Add the following to the end of the "CFLAGS=" line as needed to override ++# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1". + # -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c) ++# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime ++# formats that generate only the last two digits of year numbers ++# -DEPOCH_LOCAL if the 'time' function returns local time not UT ++# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater ++# than what POSIX specifies, assuming local time is UT. ++# For example, N is 252460800 on AmigaOS. + # -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r ++# -DHAVE_DECL_ENVIRON if declares 'environ' + # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) +-# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS) +-# -DHAVE_GETTEXT=1 if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) +-# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares ++# -DHAVE_GENERIC=0 if _Generic does not work ++# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) ++# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares + # ctime_r and asctime_r incompatibly with the POSIX standard + # (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). +-# -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h" ++# -DHAVE_INTTYPES_H if you have a non-C99 compiler with + # -DHAVE_LINK=0 if your system lacks a link function + # -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 +-# This defaults to 1 if a working localtime_rz seems to be available. + # localtime_rz can make zdump significantly faster, but is nonstandard. + # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare + # functions like 'link' or variables like 'tzname' required by POSIX +-# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h" +-# -DHAVE_STRFTIME_L=1 if declares locale_t and strftime_l +-# This defaults to 0 if _POSIX_VERSION < 200809, 1 otherwise. ++# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function ++# -DHAVE_STDBOOL_H if you have a non-C99 compiler with ++# -DHAVE_STDINT_H if you have a non-C99 compiler with ++# -DHAVE_STRFTIME_L if declares locale_t and strftime_l + # -DHAVE_STRDUP=0 if your system lacks the strdup 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_SYS_STAT_H=0 if your compiler lacks a ++# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a + # -DHAVE_TZSET=0 if your system lacks a tzset function +-# -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?) +-# -DEPOCH_LOCAL=1 if the 'time' function returns local time not UT +-# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater +-# than what POSIX specifies, assuming local time is UT. +-# For example, N is 252460800 on AmigaOS. +-# -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1 +-# if you do not want run time warnings about formats that may cause +-# year 2000 grief +-# -Dssize_t=long on ancient hosts that lack ssize_t +-# -DTHREAD_SAFE=1 to make localtime.c thread-safe, as POSIX requires; ++# -DHAVE_UNISTD_H=0 if your compiler lacks a ++# -Dlocale_t=XXX if your system uses XXX instead of locale_t ++# -Dssize_t=long on hosts like MS-Windows that lack ssize_t ++# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; + # not needed by the main-program tz code, which is single-threaded. + # Append other compiler flags as needed, e.g., -pthread on GNU/Linux. + # -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t ++# This is intended for internal use only; it mangles external names. + # -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" + # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; + # the default is system-supplied, typically "/usr/lib/locale" + # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified + # DST transitions if the time zone files cannot be accessed +-# -DUNINIT_TRAP=1 if reading uninitialized storage can cause problems ++# -DUNINIT_TRAP if reading uninitialized storage can cause problems + # other than simply getting garbage data + # -DUSE_LTZ=0 to build zdump with the system time zone library + # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. +@@ -154,27 +184,28 @@ + # (or some other number) to set the maximum time zone abbreviation length + # that zic will accept without a warning (the default is 6) + # $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking +-GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-common -fstrict-aliasing \ +- -Wall -Wextra \ +- -Wbad-function-cast -Wcast-align -Wdate-time \ +- -Wdeclaration-after-statement \ +- -Wdouble-promotion \ +- -Wformat=2 -Winit-self -Wjump-misses-init \ +- -Wlogical-op -Wmissing-prototypes -Wnested-externs \ +- -Wold-style-definition -Woverlength-strings -Wpointer-arith \ +- -Wshadow -Wstrict-prototypes -Wsuggest-attribute=const \ +- -Wsuggest-attribute=format -Wsuggest-attribute=noreturn \ +- -Wsuggest-attribute=pure -Wtrampolines \ +- -Wunused -Wwrite-strings \ +- -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ +- -Wno-type-limits -Wno-unused-parameter ++# Select instrumentation via "make GCC_INSTRUMENT='whatever'". ++GCC_INSTRUMENT = \ ++ -fsanitize=undefined -fsanitize-address-use-after-scope \ ++ -fsanitize-undefined-trap-on-error -fstack-protector ++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 -Wdate-time \ ++ -Wdeclaration-after-statement -Wdouble-promotion \ ++ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ ++ -Winit-self -Wjump-misses-init -Wlogical-op \ ++ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ ++ -Wold-style-definition -Woverlength-strings -Wpointer-arith \ ++ -Wshadow -Wshift-overflow=2 -Wstrict-prototypes -Wstringop-overflow=5 \ ++ -Wsuggest-attribute=const -Wsuggest-attribute=format \ ++ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ ++ -Wtrampolines -Wundef -Wuninitialized -Wunused \ ++ -Wvariadic-macros -Wvla -Wwrite-strings \ ++ -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ ++ -Wno-type-limits -Wno-unused-parameter + # +-# If you want to use System V compatibility code, add +-# -DUSG_COMPAT +-# to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight" +-# variables to be kept up-to-date by the time conversion functions. Neither +-# "timezone" nor "daylight" is described in X3J11's work. +-# + # If your system has a "GMT offset" field in its "struct tm"s + # (or if you decide to add such a field in your system's "time.h" file), + # add the name to a define such as +@@ -186,6 +217,31 @@ + # and define NO_TM_ZONE to suppress any guessing. These two fields are not + # required by POSIX, but are widely available on GNU/Linux and BSD systems. + # ++# The next batch of options control support for external variables ++# exported by tzcode. In practice these variables are less useful ++# than TM_GMTOFF and TM_ZONE. However, most of them are standardized. ++# # ++# # To omit or support the external variable "tzname", add one of: ++# # -DHAVE_TZNAME=0 ++# # -DHAVE_TZNAME=1 ++# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. ++# # If not defined, the code attempts to guess HAVE_TZNAME from other macros. ++# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause ++# # crashes when combined with some platforms' standard libraries, ++# # presumably due to memory allocation issues. ++# # ++# # To omit or support the external variables "timezone" and "daylight", add ++# # -DUSG_COMPAT=0 ++# # -DUSG_COMPAT=1 ++# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by ++# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. ++# # If not defined, the code attempts to guess USG_COMPAT from other macros. ++# # ++# # To support the external variable "altzone", add ++# # -DALTZONE ++# # to the end of the "CFLAGS=" line; although "altzone" appeared in ++# # System V Release 3.1 it has not been standardized. ++# + # If you want functions that were inspired by early versions of X3J11's work, + # add + # -DSTD_INSPIRED +@@ -223,11 +279,6 @@ + # -DALL_STATE + # to the end of the "CFLAGS=" line. Storage is obtained by calling malloc. + # +-# If you want an "altzone" variable (a la System V Release 3.1), add +-# -DALTZONE +-# to the end of the "CFLAGS=" line. +-# This variable is not described in X3J11's work. +-# + # NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put + # out by the National Institute of Standards and Technology + # which claims to test C and Posix conformance. If you want to pass PCTS, add +@@ -237,8 +288,8 @@ + # If you want strict compliance with XPG4 as of 1994-04-09, add + # -DXPG4_1994_04_09 + # to the end of the "CFLAGS=" line. This causes "strftime" to always return +-# 53 as a week number (rather than 52 or 53) for those days in January that +-# before the first Monday in January when a "%V" format is used and January 1 ++# 53 as a week number (rather than 52 or 53) for January days before ++# January's first Monday when a "%V" format is used and January 1 + # falls on a Friday, Saturday, or Sunday. + + CFLAGS= +@@ -262,7 +313,7 @@ + + # How to use zic to install tz binary files. + +-ZIC_INSTALL= $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) ++ZIC_INSTALL= $(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) + + # The name of a Posix-compliant 'awk' on your system. + AWK= awk +@@ -286,6 +337,7 @@ + # The name, arguments and environment of a program to validate your web pages. + # See for a validator, and + # for a validation library. ++# Set VALIDATE=':' if you do not have such a program. + VALIDATE = nsgmls + VALIDATE_FLAGS = -s -B -wall -wno-unused-param + VALIDATE_ENV = \ +@@ -352,7 +404,7 @@ + RANLIB= : + + TZCOBJS= zic.o +-TZDOBJS= zdump.o localtime.o asctime.o ++TZDOBJS= zdump.o localtime.o asctime.o strftime.o + DATEOBJS= date.o localtime.o strftime.o asctime.o + LIBSRCS= localtime.c asctime.c difftime.c + LIBOBJS= localtime.o asctime.o difftime.o +@@ -367,20 +419,22 @@ + time2posix.3.txt \ + tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \ + date.1.txt +-COMMON= CONTRIBUTING LICENSE Makefile NEWS README Theory version ++COMMON= calendars CONTRIBUTING LICENSE Makefile \ ++ NEWS README theory.html version + WEB_PAGES= tz-art.htm tz-how-to.html tz-link.htm + DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) + PRIMARY_YDATA= africa antarctica asia australasia \ + europe northamerica southamerica +-YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward ++YDATA= $(PRIMARY_YDATA) etcetera $(BACKWARD) + NDATA= systemv factory + TDATA= $(YDATA) $(NDATA) + ZONETABLES= zone1970.tab zone.tab +-TABDATA= iso3166.tab leapseconds $(ZONETABLES) ++TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) + LEAP_DEPS= leapseconds.awk leap-seconds.list +-DATA= $(YDATA) $(NDATA) backzone $(TABDATA) \ +- leap-seconds.list yearistype.sh +-AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk ++TZDATA_ZI_DEPS= zishrink.awk $(TDATA) $(PACKRATDATA) ++DATA= $(YDATA) $(NDATA) backzone iso3166.tab leap-seconds.list \ ++ leapseconds yearistype.sh $(ZONETABLES) ++AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk zishrink.awk + MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl + TZS_YEAR= 2050 + TZS= to$(TZS_YEAR).tzs +@@ -387,13 +441,13 @@ + TZS_NEW= to$(TZS_YEAR)new.tzs + TZS_DEPS= $(PRIMARY_YDATA) asctime.c localtime.c \ + private.h tzfile.h zdump.c zic.c +-ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) ++ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) tzdata.zi + + # Consult these files when deciding whether to rebuild the 'version' file. + # This list is not the same as the output of 'git ls-files', since + # .gitignore is not distributed. + VERSION_DEPS= \ +- CONTRIBUTING LICENSE Makefile NEWS README Theory \ ++ calendars CONTRIBUTING LICENSE Makefile NEWS README \ + africa antarctica asctime.c asia australasia \ + backward backzone \ + checklinks.awk checktab.awk \ +@@ -402,7 +456,7 @@ + leap-seconds.list leapseconds.awk localtime.c \ + newctime.3 newstrftime.3 newtzset.3 northamerica \ + pacificnew private.h \ +- southamerica strftime.c systemv \ ++ southamerica strftime.c systemv theory.html \ + time2posix.3 tz-art.htm tz-how-to.html tz-link.htm \ + tzfile.5 tzfile.h tzselect.8 tzselect.ksh \ + workman.sh yearistype.sh \ +@@ -424,7 +478,7 @@ + $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \ + $(DESTDIR)$(MANDIR)/man8 + $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES) +- cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/. ++ cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/. + cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/. + cp libtz.a $(DESTDIR)$(LIBDIR)/. + $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a +@@ -445,6 +499,11 @@ + printf '%s\n' "$$V" >$@.out + mv $@.out $@ + ++# This file can be tailored by setting BACKWARD, PACKRATDATA, etc. ++tzdata.zi: $(TZDATA_ZI_DEPS) ++ LC_ALL=C $(AWK) -f zishrink.awk $(TDATA) $(PACKRATDATA) >$@.out ++ mv $@.out $@ ++ + version.h: version + VERSION=`cat version` && printf '%s\n' \ + 'static char const PKGVERSION[]="($(PACKAGE)) ";' \ +@@ -470,6 +529,7 @@ + # Arguments to pass to submakes of install_data. + # They can be overridden by later submake arguments. + INSTALLARGS = \ ++ BACKWARD=$(BACKWARD) \ + DESTDIR=$(DESTDIR) \ + LEAPSECONDS='$(LEAPSECONDS)' \ + PACKRATDATA='$(PACKRATDATA)' \ +@@ -478,10 +538,8 @@ + ZIC='$(ZIC)' + + # 'make install_data' installs one set of tz binary files. +-# It can be tailored by setting LEAPSECONDS, PACKRATDATA, etc. +-install_data: zic leapseconds yearistype $(PACKRATDATA) $(TDATA) +- $(ZIC_INSTALL) $(TDATA) +- $(AWK) '/^Rule/' $(TDATA) | $(ZIC_INSTALL) - $(PACKRATDATA) ++install_data: zic leapseconds yearistype tzdata.zi ++ $(ZIC_INSTALL) tzdata.zi + + posix_only: + $(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data +@@ -518,14 +576,14 @@ + + zones: $(REDO) + +-$(TZS_NEW): $(TDATA) zdump zic ++$(TZS_NEW): tzdata.zi zdump zic + mkdir -p tzs.dir +- $(zic) -d tzs.dir $(TDATA) +- $(AWK) '/^Link/{print $$1 "\t" $$2 "\t" $$3}' \ +- $(TDATA) | LC_ALL=C sort >$@.out ++ $(zic) -d tzs.dir tzdata.zi ++ $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ ++ tzdata.zi | LC_ALL=C sort >$@.out + wd=`pwd` && \ + zones=`$(AWK) -v wd="$$wd" \ +- '/^Zone/{print wd "/tzs.dir/" $$2}' $(TDATA) \ ++ '/^Z/{print wd "/tzs.dir/" $$2}' tzdata.zi \ + | LC_ALL=C sort` && \ + ./zdump -i -c $(TZS_YEAR) $$zones >>$@.out + sed 's,^TZ=".*tzs\.dir/,TZ=",' $@.out >$@.sed.out +@@ -542,7 +600,8 @@ + cp $(TZS_NEW) $(TZS) + + libtz.a: $(LIBOBJS) +- $(AR) ru $@ $(LIBOBJS) ++ rm -f $@ ++ $(AR) -rc $@ $(LIBOBJS) + $(RANLIB) $@ + + date: $(DATEOBJS) +@@ -560,18 +619,24 @@ + chmod +x $@.out + mv $@.out $@ + +-check: check_character_set check_white_space check_links check_sorted \ +- check_tables check_tzs check_web ++check: check_character_set check_white_space check_links \ ++ check_name_lengths check_sorted \ ++ check_tables check_web check_zishrink check_tzs + + check_character_set: $(ENCHILADA) +- LC_ALL=en_US.utf8 && export LC_ALL && \ ++ test ! '$(UTF8_LOCALE)' || \ ++ ! printf 'A\304\200B\n' | \ ++ LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \ ++ LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \ + sharp='#' && \ + ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ + $(MISC) $(SOURCES) $(WEB_PAGES) \ +- CONTRIBUTING LICENSE Makefile README version && \ ++ CONTRIBUTING LICENSE Makefile README \ ++ version tzdata.zi && \ + ! grep -Env $(SAFE_SHARP_LINE) $(TDATA) backzone \ + leapseconds yearistype.sh zone.tab && \ +- ! grep -Env $(OK_LINE) $(ENCHILADA) ++ ! grep -Env $(OK_LINE) $(ENCHILADA); \ ++ } + + check_white_space: $(ENCHILADA) + patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ +@@ -578,6 +643,13 @@ + ! grep -En "$$pat" $(ENCHILADA) + ! grep -n '[[:space:]]$$' $(ENCHILADA) + ++PRECEDES_FILE_NAME = ^(Zone|Link[[:space:]]+[^[:space:]]+)[[:space:]]+ ++FILE_NAME_COMPONENT_TOO_LONG = \ ++ $(PRECEDES_FILE_NAME)[^[:space:]]*[^/[:space:]]{15} ++ ++check_name_lengths: $(TDATA) backzone ++ ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' $(TDATA) backzone ++ + CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } + + check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab +@@ -592,6 +664,7 @@ + + check_links: checklinks.awk $(TDATA) + $(AWK) -f checklinks.awk $(TDATA) ++ $(AWK) -f checklinks.awk tzdata.zi + + check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES) + for tab in $(ZONETABLES); do \ +@@ -602,14 +675,32 @@ + check_tzs: $(TZS) $(TZS_NEW) + diff -u $(TZS) $(TZS_NEW) + +-check_web: $(WEB_PAGES) +- $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES) ++# This checks only the HTML 4.01 strict page. ++# To check the the other pages, use . ++check_web: tz-how-to.html ++ $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html + ++# Check that tzdata.zi generates the same binary data that its sources do. ++check_zishrink: tzdata.zi zic leapseconds $(PACKRATDATA) $(TDATA) ++ for type in posix right; do \ ++ mkdir -p time_t.dir/$$type time_t.dir/$$type-shrunk && \ ++ case $$type in \ ++ right) leap='-L leapseconds';; \ ++ *) leap=;; \ ++ esac && \ ++ $(ZIC) $$leap -d time_t.dir/$$type $(TDATA) && \ ++ $(AWK) '/^Rule/' $(TDATA) | \ ++ $(ZIC) $$leap -d time_t.dir/$$type - $(PACKRATDATA) && \ ++ $(ZIC) $$leap -d time_t.dir/$$type-shrunk tzdata.zi && \ ++ diff -r time_t.dir/$$type time_t.dir/$$type-shrunk || exit; \ ++ done ++ rm -fr time_t.dir ++ + clean_misc: + rm -f core *.o *.out \ + date tzselect version.h zdump zic yearistype libtz.a + clean: clean_misc +- rm -fr *.dir tzdb-*/ $(TZS_NEW) ++ rm -fr *.dir tzdata.zi tzdb-*/ $(TZS_NEW) + + maintainer-clean: clean + @echo 'This command is intended for maintainers to use; it' +@@ -663,6 +754,7 @@ + touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \ + exit; \ + done ++ touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi + touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS) + touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version + touch $@ +@@ -674,7 +766,7 @@ + $(MAKE) maintainer-clean + $(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL + mkdir -p public.dir +- for i in $(TDATA) ; do \ ++ for i in $(TDATA) tzdata.zi; do \ + $(zic) -v -d public.dir $$i 2>&1 || exit; \ + done + $(zic) -v -d public.dir $(TDATA) +@@ -768,8 +860,8 @@ + $(MAKE) clean ; \ + done + +-zonenames: $(TDATA) +- @$(AWK) '/^Zone/ { print $$2 } /^Link/ { print $$3 }' $(TDATA) ++zonenames: tzdata.zi ++ @$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi + + asctime.o: private.h tzfile.h + date.o: private.h +@@ -785,6 +877,7 @@ + .PHONY: check check_character_set check_links + .PHONY: check_public check_sorted check_tables + .PHONY: check_time_t_alternatives check_tzs check_web check_white_space ++.PHONY: check_zishrink + .PHONY: clean clean_misc force_tzs + .PHONY: install install_data maintainer-clean names + .PHONY: posix_only posix_packrat posix_right +--- contrib/tzdata/NEWS.orig ++++ contrib/tzdata/NEWS +@@ -1,5 +1,344 @@ + News for the tz database + ++Release 2017c - 2017-10-20 14:49:34 -0700 ++ ++ Briefly: ++ Northern Cyprus switches from +03 to +02/+03 on 2017-10-29. ++ Fiji ends DST 2018-01-14, not 2018-01-21. ++ Namibia switches from +01/+02 to +02 on 2018-04-01. ++ Sudan switches from +03 to +02 on 2017-11-01. ++ Tonga likely switches from +13/+14 to +13 on 2017-11-05. ++ Turks & Caicos switches from -04 to -05/-04 on 2018-11-04. ++ A new file tzdata.zi now holds a small text copy of all data. ++ The zic input format has been regularized slightly. ++ ++ Changes to future time stamps ++ ++ Northern Cyprus has decided to resume EU rules starting ++ 2017-10-29, thus reinstituting winter time. ++ ++ Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously ++ predicted. (Thanks to Dominic Fok.) Adjust future predictions ++ accordingly. ++ ++ Namibia will switch from +01 with DST to +02 all year on ++ 2017-09-03 at 02:00. This affects UT offsets starting 2018-04-01 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Sudan will switch from +03 to +02 on 2017-11-01. (Thanks to Ahmed ++ Atyya and Yahia Abdalla.) South Sudan is not switching, so ++ Africa/Juba is no longer a link to Africa/Khartoum. ++ ++ Tonga has likely ended its experiment with DST, and will not ++ adjust its clocks on 2017-11-05. Although Tonga has not announced ++ whether it will continue to observe DST, the IATA is assuming that ++ it will not. (Thanks to David Wade.) ++ ++ Turks & Caicos will switch from -04 all year to -05 with US DST on ++ 2018-03-11 at 03:00. This affects UT offsets starting 2018-11-04 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Changes to past time stamps ++ ++ Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03. ++ (Thanks to Arthur David Olson.) ++ ++ Detroit did not observe DST in 1967. ++ ++ Use railway time for Asia/Kolkata before 1941, by switching to ++ Madras local time (UT +052110) in 1870, then to IST (UT +0530) in ++ 1906. Also, treat 1941-2's +0630 as DST, like 1942-5. ++ ++ Europe/Dublin's 1946 and 1947 fallback transitions occurred at ++ 02:00 standard time, not 02:00 DST. (Thanks to Michael Deckers.) ++ ++ Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to ++ American time in 1892, not 1879. (Thanks to Michael Deckers.) ++ ++ Adjust the 1867 transition in Alaska to better reflect the ++ historical record, by changing it to occur on 1867-10-18 at 15:30 ++ Sitka time rather than at the start of 1867-10-17 local time. ++ Although strictly speaking this is accurate only for Sitka, ++ the rest of Alaska's blanks need to be filled in somehow. ++ ++ Fix off-by-one errors in UT offsets for Adak and Nome before 1867. ++ (Thanks to Michael Deckers.) ++ ++ Add 7 s to the UT offset in Asia/Yangon before 1920. ++ ++ Changes to zone names ++ ++ Remove Canada/East-Saskatchewan from the 'backward' file, as it ++ exceeded the 14-character limit and was an unused misnomer anyway. ++ ++ Changes to build procedure ++ ++ To support applications that prefer to read time zone data in text ++ form, two zic input files tzdata.zi and leapseconds are now ++ installed by default. The commands 'zic tzdata.zi' and 'zic -L ++ leapseconds tzdata.zi' can reproduce the tzdata binary files ++ without and with leap seconds, respectively. To prevent these two ++ new files from being installed, use 'make TZDATA_TEXT=', and to ++ suppress leap seconds from the tzdata text installation, use 'make ++ TZDATA_TEXT=tzdata.zi'. ++ ++ 'make BACKWARD=' now suppresses backward-compatibility names ++ like 'US/Pacific' that are defined in the 'backward' and ++ 'pacificnew' files. ++ ++ 'make check' now works on systems that lack a UTF-8 locale, ++ or that lack the nsgmls program. Set UTF8_LOCALE to configure ++ the name of a UTF-8 locale, if you have one. ++ ++ Y2K runtime checks are no longer enabled by default. Add ++ -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of ++ adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU ++ to disable them. (New name suggested by Brian Inglis.) ++ ++ The build procedure for zdump now works on AIX 7.1. ++ (Problem reported by Kees Dekker.) ++ ++ Changes to code ++ ++ zic and the reference runtime now reject multiple leap seconds ++ within 28 days of each other, or leap seconds before the Epoch. ++ As a result, support for double leap seconds, which was ++ obsolescent and undocumented, has been removed. Double leap ++ seconds were an error in the C89 standard; they have never existed ++ in civil timekeeping. (Thanks to Robert Elz and Bradley White for ++ noticing glitches in the code that uncovered this problem.) ++ ++ zic now warns about use of the obsolescent and undocumented -y ++ option, and about use of the obsolescent TYPE field of Rule lines. ++ ++ zic now allows unambiguous abbreviations like "Sa" and "Su" for ++ weekdays; formerly it rejected them due to a bug. Conversely, zic ++ no longer considers non-prefixes to be abbreviations; for example, ++ it no longer accepts "lF" as an abbreviation for "lastFriday". ++ Also, zic warns about the undocumented usage with a "last-" ++ prefix, e.g., "last-Fri". ++ ++ Similarly, zic now accepts the unambiguous abbreviation "L" for ++ "Link" in ordinary context and for "Leap" in leap-second context. ++ Conversely, zic no longer accepts non-prefixes such as "La" as ++ abbreviations for words like "Leap". ++ ++ zic no longer accepts leap second lines in ordinary input, or ++ ordinary lines in leap second input. Formerly, zic sometimes ++ warned about this undocumented usage and handled it incorrectly. ++ ++ The new macro HAVE_TZNAME governs whether the tzname external ++ variable is exported, instead of USG_COMPAT. USG_COMPAT now ++ governs only the external variables "timezone" and "daylight". ++ This change is needed because the three variables are not in the ++ same category: although POSIX requires tzname, it specifies the ++ other two variables as optional. Also, USG_COMPAT is now 1 or 0: ++ if not defined, the code attempts to guess it from other macros. ++ ++ localtime.c and difftime.c no longer require stdio.h, and .c files ++ other than zic.c no longer require sys/wait.h. ++ ++ zdump.c no longer assumes snprintf. (Reported by Jonathan Leffler.) ++ ++ Calculation of time_t extrema works around a bug in GCC 4.8.4 ++ (Reported by Stan Shebs and Joseph Myers.) ++ ++ zic.c no longer mistranslates formats of line numbers in non-English ++ locales. (Problem reported by Benno Schulenberg.) ++ ++ Several minor changes have been made to the code to make it a ++ bit easier to port to MS-Windows and Solaris. (Thanks to Kees ++ Dekker for reporting the problems.) ++ ++ Changes to documentation and commentary ++ ++ The two new files 'theory.html' and 'calendars' contain the ++ contents of the removed file 'Theory'. The goal is to document ++ tzdb theory more accessibly. ++ ++ The zic man page now documents abbreviation rules. ++ ++ tz-link.htm now covers how to apply tzdata changes to clients. ++ (Thanks to Jorge Fábregas for the AIX link.) It also mentions MySQL. ++ ++ The leap-seconds.list URL has been updated to something that is ++ more reliable for tzdb. (Thanks to Tim Parenti and Brian Inglis.) ++ ++Release 2017b - 2017-03-17 07:30:38 -0700 ++ ++ Briefly: Haiti has resumed DST. ++ ++ Changes to past and future time stamps ++ ++ Haiti resumed observance of DST in 2017. (Thanks to Steffen Thorsen.) ++ ++ Changes to past time stamps ++ ++ Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01. ++ ++ Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430" ++ is one byte over the POSIX limit. (Problem reported by Derick Rethans.) ++ ++ Changes to code ++ ++ The reference localtime implementation now falls back on the ++ current US daylight-saving transition rules rather than the ++ 1987-2006 rules. This fallback occurs only when (1) the TZ ++ environment variable's value has a name like "AST4ADT" that asks ++ for daylight saving time but does not specify the rules, (2) there ++ is no file by that name, and (3) the TZDEFRULES file cannot be ++ loaded. (Thanks to Tom Lane.) ++ ++ ++Release 2017a - 2017-02-28 00:05:36 -0800 ++ ++ Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia ++ discontinues DST. ++ ++ Changes to future time stamps ++ ++ Mongolia no longer observes DST. (Thanks to Ganbold Tsagaankhuu.) ++ ++ Chile's Region of Magallanes moves from -04/-03 to -03 year-round. ++ Its clocks diverge from America/Santiago starting 2017-05-13 at ++ 23:00, hiving off a new zone America/Punta_Arenas. Although the ++ Chilean government says this change expires in May 2019, for now ++ assume it's permanent. (Thanks to Juan Correa and Deborah ++ Goldsmith.) This also affects Antarctica/Palmer. ++ ++ Changes to past time stamps ++ ++ Fix many entries for historical time stamps for Europe/Madrid ++ before 1979, to agree with tables compiled by Pere Planesas of the ++ National Astronomical Observatory of Spain. As a side effect, ++ this changes some time stamps for Africa/Ceuta before 1929, which ++ are probably guesswork anyway. (Thanks to Steve Allen and ++ Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for ++ correcting the 1901 transition.) ++ ++ Ecuador observed DST from 1992-11-28 to 1993-02-05. ++ (Thanks to Alois Treindl.) ++ ++ Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21. ++ (Thanks to Stepan Golosunov.) ++ ++ Changes to past and future time zone abbreviations ++ ++ Switch to numeric time zone abbreviations for South America, as ++ part of the ongoing project of removing invented abbreviations. ++ This avoids the need to invent an abbreviation for the new Chilean ++ new zone. Similarly, switch from invented to numeric time zone ++ abbreviations for Afghanistan, American Samoa, the Azores, ++ Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei, ++ Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is, ++ Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland, ++ Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia, ++ the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia, ++ Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau, ++ Papua New Guinea, the Philippines, Pitcairn, Qatar, Réunion, St ++ Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore, ++ Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and ++ Xinjiang; for 20-minute daylight saving time in Ghana before 1943; ++ for half-hour daylight saving time in Belize before 1944 and in ++ the Dominican Republic before 1975; and for Canary Islands before ++ 1946, for Guinea-Bissau before 1975, for Iceland before 1969, for ++ Indian Summer Time before 1942, for Indonesia before around 1964, ++ for Kenya before 1960, for Liberia before 1973, for Madeira before ++ 1967, for Namibia before 1943, for the Netherlands in 1937-9, for ++ Pakistan before 1971, for Western Sahara before 1977, and for ++ Zaporozhye in 1880-1924. ++ ++ For Alaska time from 1900 through 1967, instead of "CAT" use the ++ abbreviation "AST", the abbreviation commonly used at the time ++ (Atlantic Standard Time had not been standardized yet). Use "AWT" ++ and "APT" instead of the invented abbreviations "CAWT" and "CAPT". ++ ++ Use "CST" and "CDT" instead of invented abbreviations for Macau ++ before 1999 and Taiwan before 1938, and use "JST" instead of the ++ invented abbreviation "JCST" for Japan and Korea before 1938. ++ ++ Change to database entry category ++ ++ Move the Pacific/Johnston link from 'australasia' to 'backward', ++ since Johnston is now uninhabited. ++ ++ Changes to code ++ ++ zic no longer mishandles some transitions in January 2038 when it ++ attempts to work around Qt bug 53071. This fixes a bug affecting ++ Pacific/Tongatapu that was introduced in zic 2016e. localtime.c ++ now contains a workaround, useful when loading a file generated by ++ a buggy zic. (Problem and localtime.c fix reported by Bradley ++ White.) ++ ++ zdump -i now outputs non-hour numeric time zone abbreviations ++ without a colon, e.g., "+0530" rather than "+05:30". This agrees ++ with zic %z and with common practice, and simplifies auditing of ++ zdump output. ++ ++ zdump is now buildable again with -DUSE_LTZ=0. ++ (Problem reported by Joseph Myers.) ++ ++ zdump.c now always includes private.h, to avoid code duplication ++ with private.h. (Problem reported by Kees Dekker.) ++ ++ localtime.c no longer mishandles early or late timestamps ++ when TZ is set to a POSIX-style string that specifies DST. ++ (Problem reported by Kees Dekker.) ++ ++ date and strftime now cause %z to generate "-0000" instead of ++ "+0000" when the UT offset is zero and the time zone abbreviation ++ begins with "-". ++ ++ Changes to documentation and commentary ++ ++ The 'Theory' file now better documents choice of historical time ++ zone abbreviations. (Problems reported by Michael Deckers.) ++ ++ tz-link.htm now covers leap smearing, which is popular in clouds. ++ ++ ++Release 2016j - 2016-11-22 23:17:13 -0800 ++ ++ Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04. ++ ++ Changes to future time stamps ++ ++ Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00. ++ This hives off a new zone Europe/Saratov from Europe/Volgograd. ++ (Thanks to Yuri Konotopov and Stepan Golosunov.) ++ ++ Changes to past time stamps ++ ++ The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like ++ Asia/Aqtau except it switched from +05/+06 to +04/+05 in spring ++ 1999, not fall 1994. (Thanks to Stepan Golosunov.) ++ ++ Changes to past time zone abbreviations ++ ++ Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote ++ summer time before 1948. The old use of "EET" was a typo. ++ ++ Changes to code ++ ++ zic no longer mishandles file systems that lack hard links, fixing ++ bugs introduced in 2016g. (Problems reported by Tom Lane.) ++ Also, when the destination already contains symbolic links, zic ++ should now work better on systems where the 'link' system call ++ does not follow symbolic links. ++ ++ Changes to documentation and commentary ++ ++ tz-link.htm now documents the relationship between release version ++ numbers and development-repository commit tags. (Suggested by ++ Paul Koning.) ++ ++ The 'Theory' file now documents UT. ++ ++ iso3166.tab now accents "Curaçao", and commentary now mentions ++ the names "Cabo Verde" and "Czechia". (Thanks to Jiří Boháč.) ++ ++ + Release 2016i - 2016-11-01 23:19:52 -0700 + + Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga +@@ -212,7 +551,7 @@ + 23 commits and some working-file changes have been made since + release 2016g, the version number is now something like + '2016g-23-g50556e3-dirty' instead of the misleading '2016g'. +- Official releases uses the same version number format as before, ++ Tagged releases use the same version number format as before, + e.g., '2016g'. To support the more-accurate version number, its + specification has moved from a line in the Makefile to a new + source file 'version'. +@@ -870,9 +1209,9 @@ + been fixed. (Thanks to Christos Zoulas for reporting most of + these problems and for suggesting fixes.) + +- If USG_COMPAT is defined and the requested time stamp is standard time, ++ If USG_COMPAT is defined and the requested timestamp is standard time, + the tz library's localtime and mktime functions now set the extern +- variable timezone to a value appropriate for that time stamp; and ++ variable timezone to a value appropriate for that timestamp; and + similarly for ALTZONE, daylight saving time, and the altzone variable. + This change is a companion to the tzname change in 2014h, and is + designed to make timezone and altzone more compatible with tzname. +@@ -879,7 +1218,7 @@ + + The tz library's functions now set errno to EOVERFLOW if they fail + because the result cannot be represented. ctime and ctime_r now +- return NULL and set errno when a time stamp is out of range, rather ++ return NULL and set errno when a timestamp is out of range, rather + than having undefined behavior. + + Some bugs associated with the new 2014g functions have been fixed. +@@ -896,7 +1235,7 @@ + + Release 2014h - 2014-09-25 18:59:03 -0700 + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28. + +@@ -904,8 +1243,8 @@ + not 1920-01-06. The old entry was based on a misinterpretation of Shanks. + + Some more zones have been turned into links, when they differed +- from existing zones only for older time stamps. As usual, +- these changes affect UTC offsets in pre-1970 time stamps only. ++ from existing zones only for older timestamps. As usual, ++ these changes affect UTC offsets in pre-1970 timestamps only. + Their old contents have been moved to the 'backzone' file. + The affected zones are: Africa/Blantyre, Africa/Bujumbura, + Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi, +@@ -917,7 +1256,7 @@ + not merely on platforms defining TM_GMTOFF. + + The tz library's localtime and mktime functions now set tzname to a value +- appropriate for the requested time stamp, and zdump now uses this ++ appropriate for the requested timestamp, and zdump now uses this + on platforms not defining TM_ZONE, fixing a 2014g regression. + (Thanks to Tim Parenti for reporting the problem.) + +@@ -957,13 +1296,13 @@ + + Release 2014g - 2014-08-28 12:31:23 -0700 + +- Changes affecting future time stamps ++ Changes affecting future timestamps + + Turks & Caicos is switching from US eastern time to UT -04 + year-round, modeled as a switch on 2014-11-02 at 02:00. + [As noted in 2014j, this switch was later delayed.] + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + Time in Russia or the USSR before 1926 or so has been corrected by + a few seconds in the following zones: Asia/Irkutsk, +@@ -973,7 +1312,7 @@ + Vladimir Karpinsky.) + + The Portuguese decree of 1911-05-26 took effect on 1912-01-01. +- This affects 1911 time stamps in Africa/Bissau, Africa/Luanda, ++ This affects 1911 timestamps in Africa/Bissau, Africa/Luanda, + Atlantic/Azores, and Atlantic/Madeira. Also, Lisbon's pre-1912 + GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32. + (Thanks to Stephen Colebourne for pointing to the decree.) +@@ -981,7 +1320,7 @@ + Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59. + + A new file 'backzone' contains data which may appeal to +- connoisseurs of old time stamps, although it is out of scope for ++ connoisseurs of old timestamps, although it is out of scope for + the tz database, is often poorly sourced, and contains some data + that is known to be incorrect. The new file is not recommended + for ordinary use and its entries are not installed by default. +@@ -989,8 +1328,8 @@ + Isle of Man entries.) + + Some more zones have been turned into links, when they differed +- from existing zones only for older time stamps. As usual, +- these changes affect UTC offsets in pre-1970 time stamps only. ++ from existing zones only for older timestamps. As usual, ++ these changes affect UTC offsets in pre-1970 timestamps only. + Their old contents have been moved to the 'backzone' file. + The affected zones are: Africa/Bangui, Africa/Brazzaville, + Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda, +@@ -1041,7 +1380,7 @@ + but does not cause other problems such as traps. + + If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now +- more likely to guess right for ambiguous time stamps near ++ more likely to guess right for ambiguous timestamps near + transitions where tm_isdst does not change. + + If HAVE_STRFTIME_L is defined to 1, the tz library now defines +@@ -1114,7 +1453,7 @@ + + Release 2014f - 2014-08-05 17:42:36 -0700 + +- Changes affecting future time stamps ++ Changes affecting future timestamps + + Russia will subtract an hour from most of its time zones on 2014-10-26 + at 02:00 local time. (Thanks to Alexander Krivenyshev.) +@@ -1165,13 +1504,13 @@ + These abbreviations are now used for time in Korea, Taiwan, + and Sakhalin while controlled by Japan. + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + China's five zones have been simplified to two, since the post-1970 + differences in the other three seem to have been imaginary. The + zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been + removed; backwards-compatibility links still work, albeit with +- different behaviors for time stamps before May 1980. Asia/Urumqi's ++ different behaviors for timestamps before May 1980. Asia/Urumqi's + 1980 transition to UT +08 has been removed, so that it is now at + +06 and not +08. (Thanks to Luther Ma and to Alois Treindl; + Treindl sent helpful translations of two papers by Guo Qingsheng.) +@@ -1178,7 +1517,7 @@ + + Some zones have been turned into links, when they differed from existing + zones only for older UTC offsets where data entries were likely invented. +- These changes affect UTC offsets in pre-1970 time stamps only. This is ++ These changes affect UTC offsets in pre-1970 timestamps only. This is + similar to the change in release 2013e, except this time for western + Africa. The affected zones are: Africa/Bamako, Africa/Banjul, + Africa/Conakry, Africa/Dakar, Africa/Freetown, Africa/Lome, +@@ -1323,7 +1662,7 @@ + + Release 2014e - 2014-06-12 21:53:52 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00. + (Thanks to Imed Chihi.) Guess that from 2015 on Egypt will temporarily +@@ -1335,7 +1674,7 @@ + temporarily switch to standard time at 03:00 the last Saturday before + Ramadan, and back to DST at 02:00 the first Saturday after Ramadan. + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of + "MSD" for Moscow's double daylight time in summer 1921. Also, a typo +@@ -1353,7 +1692,7 @@ + + Changes affecting code + +- zic no longer generates files containing time stamps before the Big Bang. ++ zic no longer generates files containing timestamps before the Big Bang. + This works around GNOME bug 730332 + . + (Thanks to Leonardo Chiquitto for reporting the bug, and to +@@ -1366,7 +1705,7 @@ + + Release 2014c - 2014-05-13 07:44:13 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Egypt observes DST starting 2014-05-15 at 24:00. + (Thanks to Ahmad El-Dardiry and Gunther Vermier.) +@@ -1380,7 +1719,7 @@ + Changes affecting code + + zic now generates transitions for minimum time values, eliminating guesswork +- when handling low-valued time stamps. (Thanks to Arthur David Olson.) ++ when handling low-valued timestamps. (Thanks to Arthur David Olson.) + + Port to Cygwin sans glibc. (Thanks to Arthur David Olson.) + +@@ -1391,7 +1730,7 @@ + + Release 2014b - 2014-03-24 21:28:50 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Crimea switches to Moscow time on 2014-03-30 at 02:00 local time. + (Thanks to Alexander Krivenyshev.) Move its zone.tab entry from UA to RU. +@@ -1430,12 +1769,12 @@ + + Release 2014a - 2014-03-07 23:30:29 -0800 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Turkey begins DST on 2014-03-31, not 03-30. (Thanks to Faruk Pasin for + the heads-up, and to Tim Parenti for simplifying the update.) + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled 03:00. + (Thanks to Steffen Thorsen.) +@@ -1499,13 +1838,13 @@ + + Release 2013i - 2013-12-17 07:25:23 -0800 + +- Changes affecting near-future time stamps: ++ Changes affecting near-future timestamps: + + Jordan switches back to standard time at 00:00 on December 20, 2013. + The 2006-2011 transition schedule is planned to resume in 2014. + (Thanks to Steffen Thorsen.) + +- Changes affecting past time stamps: ++ Changes affecting past timestamps: + + In 2004, Cuba began DST on March 28, not April 4. + (Thanks to Steffen Thorsen.) +@@ -1529,7 +1868,7 @@ + + Release 2013h - 2013-10-25 15:32:32 -0700 + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Libya has switched its UT offset back to +02 without DST, instead + of +01 with DST. (Thanks to Even Scharning.) +@@ -1537,7 +1876,7 @@ + Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules. + (Thanks to Gwillim Law.) + +- Changes affecting future time stamps: ++ Changes affecting future timestamps: + + Acre and (we guess) western Amazonas will switch from UT -04 to -05 + on 2013-11-10. This affects America/Rio_Branco and America/Eirunepe. +@@ -1588,7 +1927,7 @@ + + Release 2013g - 2013-09-30 21:08:26 -0700 + +- Changes affecting current and near-future time stamps ++ Changes affecting current and near-future timestamps + + Morocco now observes DST from the last Sunday in March to the last + Sunday in October, not April to September respectively. (Thanks +@@ -1621,7 +1960,7 @@ + + Release 2013f - 2013-09-24 23:37:36 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Tocantins will very likely not observe DST starting this spring. + (Thanks to Steffen Thorsen.) +@@ -1668,7 +2007,7 @@ + + Release 2013e - 2013-09-19 23:50:04 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + This year Fiji will start DST on October 27, not October 20. + (Thanks to David Wheeler for the heads-up.) For now, guess that +@@ -1686,13 +2025,13 @@ + Use ART (UT -03, standard time), rather than WARST (also -03, but + daylight saving time) for San Luis, Argentina since 2009. + +- Changes affecting Godthåb time stamps after 2037 if version mismatch ++ Changes affecting Godthåb timestamps after 2037 if version mismatch + + Allow POSIX-like TZ strings where the transition time's hour can + range from -167 through 167, instead of the POSIX-required 0 + through 24. E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the + new Fiji rules. This is a more-compact way to represent +- far-future time stamps for America/Godthab, America/Santiago, ++ far-future timestamps for America/Godthab, America/Santiago, + Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem, + Pacific/Easter, and Pacific/Fiji. Other zones are unaffected by + this change. (Derived from a suggestion by Arthur David Olson.) +@@ -1710,12 +2049,12 @@ + embedded TZ-format string, and the tz file format version number + has therefore been increased from 2 to 3 as a precaution. + Version-2-based client code should continue to work as before for +- all time stamps before 2038. Existing version-2-based client code ++ all timestamps before 2038. Existing version-2-based client code + (tzcode, GNU/Linux, Solaris) has been tested on version-3-format +- files, and typically works in practice even for time stamps after ++ files, and typically works in practice even for timestamps after + 2037; the only known exception is America/Godthab. + +- Changes affecting time stamps before 1970 ++ Changes affecting timestamps before 1970 + + Pacific/Johnston is now a link to Pacific/Honolulu. This corrects + some errors before 1947. +@@ -1723,7 +2062,7 @@ + Some zones have been turned into links, when they differ from existing + zones only in older data entries that were likely invented or that + differ only in LMT or transitions from LMT. These changes affect +- only time stamps before 1943. The affected zones are: ++ only timestamps before 1943. The affected zones are: + Africa/Juba, America/Anguilla, America/Aruba, America/Dominica, + America/Grenada, America/Guadeloupe, America/Marigot, + America/Montserrat, America/St_Barthelemy, America/St_Kitts, +@@ -1733,11 +2072,11 @@ + link is better for WWII-era times.) + + Change Kingston Mean Time from -5:07:12 to -5:07:11. This affects +- America/Cayman, America/Jamaica and America/Grand_Turk time stamps ++ America/Cayman, America/Jamaica and America/Grand_Turk timestamps + from 1890 to 1912. + + Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46. +- This affects Europe/Zurich time stamps from 1853 to 1894. (Thanks ++ This affects Europe/Zurich timestamps from 1853 to 1894. (Thanks + to Alois Treindl). + + Change the date of the circa-1850 Zurich transition from 1849-09-12 +@@ -1755,7 +2094,7 @@ + data can't be summarized using a TZ string, and uses a 402-year + window rather than a 400-year window. For the current data, this + affects only the Asia/Tehran file. It does not affect any of the +- time stamps that this file represents, so zdump outputs the same ++ timestamps that this file represents, so zdump outputs the same + information as before. (Thanks to Andrew Main (Zefram).) + + The 'date' command has a new '-r' option, which lets you specify +@@ -1787,7 +2126,7 @@ + Changes affecting the zdump utility + + zdump now outputs "UT" when referring to Universal Time, not "UTC". +- "UTC" does not make sense for time stamps that predate the introduction ++ "UTC" does not make sense for timestamps that predate the introduction + of UTC, whereas "UT", a more-generic term, does. (Thanks to Steve Allen + for clarifying UT vs UTC.) + +@@ -1798,7 +2137,7 @@ + + Remove from zone.tab the names America/Montreal, America/Shiprock, + and Antarctica/South_Pole, as they are equivalent to existing +- same-country-code zones for post-1970 time stamps. The data entries for ++ same-country-code zones for post-1970 timestamps. The data entries for + these names are unchanged, so the names continue to work as before. + + Changes affecting code internals +@@ -1816,7 +2155,7 @@ + + The 'leapseconds' file is now generated automatically from a + new file 'leap-seconds.list', which is a copy of +- . ++ + A new source file 'leapseconds.awk' implements this. + The goal is simplification of the future maintenance of 'leapseconds'. + +@@ -1858,7 +2197,7 @@ + + There is a new section about the accuracy of the tz database, + describing the many ways that errors can creep in, and +- explaining why so many of the pre-1970 time stamps are wrong or ++ explaining why so many of the pre-1970 timestamps are wrong or + misleading (thanks to Steve Allen, Lester Caine, and Garrett + Wollman for discussions that contributed to this). + +@@ -1893,7 +2232,7 @@ + + Release 2013d - 2013-07-05 07:38:01 -0700 + +- Changes affecting future time stamps: ++ Changes affecting future timestamps: + + Morocco's midsummer transitions this year are July 7 and August 10, + not July 9 and August 8. (Thanks to Andrew Paprocki.) +@@ -1901,7 +2240,7 @@ + Israel now falls back on the last Sunday of October. + (Thanks to Ephraim Silverberg.) + +- Changes affecting past time stamps: ++ Changes affecting past timestamps: + + Specify Jerusalem's location more precisely; this changes the pre-1880 + times by 2 s. +@@ -1939,7 +2278,7 @@ + + Release 2013c - 2013-04-19 16:17:40 -0700 + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Palestine observed DST starting March 29, 2013. (Thanks to + Steffen Thorsen.) From 2013 on, Gaza and Hebron both observe DST, +@@ -1950,7 +2289,7 @@ + by moving the end of DST to the 4th Sunday in March every year. + (Thanks to Carlos Raúl Perasso.) + +- Changes affecting past time stamps: ++ Changes affecting past timestamps: + + Fix some historical data for Palestine to agree with that of + timeanddate.com, as follows: +@@ -1984,10 +2323,10 @@ + + Release 2013b - 2013-03-10 22:33:40 -0700 + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Haiti uses US daylight-saving rules this year, and presumably future years. +- This changes time stamps starting today. (Thanks to Steffen Thorsen.) ++ This changes timestamps starting today. (Thanks to Steffen Thorsen.) + + Paraguay will end DST on March 24 this year. + (Thanks to Steffen Thorsen.) For now, assume it's just this year. +@@ -2011,7 +2350,7 @@ + The zone offset at the end of version-2-format zone files is now + allowed to be 24:00, as per POSIX.1-2008. (Thanks to Arthur David Olson.) + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Chile's 2013 rules, and we guess rules for 2014 and later, will be + the same as 2012, namely Apr Sun>=23 03:00 UTC to Sep Sun>=2 04:00 UTC. +@@ -2020,9 +2359,9 @@ + New Zones Asia/Khandyga, Asia/Ust-Nera, Europe/Busingen. + (Thanks to Tobias Conradi and Arthur David Olson.) + +- Many changes affect historical time stamps before 1940. ++ Many changes affect historical timestamps before 1940. + These were deduced from: Milne J. Civil time. Geogr J. 1899 +- Feb;13(2):173-94 . ++ Feb;13(2):173-94 . + + Changes affecting the code: + +@@ -2152,7 +2491,7 @@ + + Release code2012c-data2012d - 2012-07-19 16:35:33 -0700 + +- Changes for Morocco's time stamps, which take effect in a couple of ++ Changes for Morocco's timestamps, which take effect in a couple of + hours, along with infrastructure changes to accommodate how the tz + code and data are released on IANA. + +@@ -2296,12 +2635,12 @@ + + Release 2011d - 2011-03-14 09:18:01 -0400 + +- changes that impact present-day time stamps in Cuba, Samoa, and Turkey ++ changes that impact present-day timestamps in Cuba, Samoa, and Turkey + + + Release 2011c - 2011-03-07 09:30:09 -0500 + +- These do affect current time stamps in Chile and Annette Island, Canada. ++ These do affect current timestamps in Chile and Annette Island, Canada. + + + Release 2011b - 2011-02-07 08:44:50 -0500 +@@ -3766,7 +4105,7 @@ + numbers. Recent releases also come in an experimental format + consisting of a single tarball tzdb-R.tar.lz with extra data. + +-Release time stamps are taken from the release's commit (for newer, ++Release timestamps are taken from the release's commit (for newer, + Git-based releases), from the newest file in the tarball (for older + releases, where this info is available) or from the email announcing + the release (if all else fails; these are marked with a time zone of +--- contrib/tzdata/README.orig ++++ contrib/tzdata/README +@@ -10,24 +10,9 @@ + changes made by political bodies to time zone boundaries, UTC offsets, + and daylight-saving rules. + +-Here is a recipe for acquiring, building, installing, and testing the +-tz distribution on a GNU/Linux or similar host. +- +-To acquire the distribution, run the following shell commands: +- +- mkdir tz +- cd tz +- wget --retr-symlinks 'ftp://ftp.iana.org/tz/tz*-latest.tar.gz' +- gzip -dc tzcode-latest.tar.gz | tar -xf - +- gzip -dc tzdata-latest.tar.gz | tar -xf - +- +-Alternatively, the following shell commands acquire the same +-distribution, with extra data useful for regression testing: +- +- wget --retr-symlinks 'ftp://ftp.iana.org/tz/tzdb-latest.tar.lz' +- lzip -dc tzdb-latest.tar.lz | tar -xf - +- +-Be sure to read the comments in "Makefile" and make any changes needed ++See or the ++file tz-link.htm for how to acquire the code and data. Once acquired, ++read the comments in the file 'Makefile' and make any changes needed + to make things right for your system, especially if you are using some + platform other than GNU/Linux. Then run the following commands, + substituting your desired installation directory for "$HOME/tzdir": +@@ -60,10 +45,6 @@ + maintainer, to whom the time zone community owes the greatest debt of all. + None of them are responsible for remaining errors. + +-Look in for updated versions of these files. +- +-Please send comments or information to tz@iana.org. +- + ----- + + This file is in the public domain, so clarified as of 2009-05-17 by +--- contrib/tzdata/Theory.orig ++++ contrib/tzdata/Theory +@@ -1,840 +0,0 @@ +-Theory and pragmatics of the tz code and data +- +- +------ Outline ----- +- +- Scope of the tz database +- Names of time zone rules +- Time zone abbreviations +- Accuracy of the tz database +- Time and date functions +- Calendrical issues +- Time and time zones on Mars +- +- +------ Scope of the tz database ----- +- +-The tz database attempts to record the history and predicted future of +-all computer-based clocks that track civil time. To represent this +-data, the world is partitioned into regions whose clocks all agree +-about time stamps that occur after the somewhat-arbitrary cutoff point +-of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, +-the database records all known clock transitions, and labels the region +-with a notable 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. +- +-Clock transitions before 1970 are recorded for each such location, +-because most systems support time stamps 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 +-applications requiring accurate handling of all past times everywhere, +-as it would take far too much effort and guesswork to record all +-details of pre-1970 civil timekeeping. +- +-As described below, reference source code for using the tz database is +-also available. The tz code is upwards compatible with POSIX, an +-international standard for UNIX-like systems. As of this writing, the +-current edition of POSIX is: +- +- The Open Group Base Specifications Issue 7 +- IEEE Std 1003.1, 2013 Edition +- +- +- +- +------ Names of time zone rules ----- +- +-Each of the database's time zone rules has a unique name. +-Inexperienced users are not expected to select these names unaided. +-Distributors should provide documentation and/or a simple selection +-interface that explains the names; for one example, see the 'tzselect' +-program in the tz code. The Unicode Common Locale Data Repository +- contains data that may be useful for other +-selection interfaces. +- +-The time zone rule naming conventions attempt to strike a balance +-among the following goals: +- +- * Uniquely identify every region where clocks have agreed since 1970. +- This is essential for the intended use: static clocks keeping local +- civil time. +- +- * Indicate to experts where that region is. +- +- * Be robust in the presence of political changes. For example, names +- of countries are ordinarily not used, to avoid incompatibilities +- when countries change their name (e.g. Zaire->Congo) or when +- locations change countries (e.g. Hong Kong from UK colony to +- China). +- +- * Be portable to a wide variety of implementations. +- +- * Use a consistent naming conventions over the entire world. +- +-Names normally have the form AREA/LOCATION, where AREA is the name +-of a continent or ocean, and LOCATION is the name of a specific +-location within that region. North and South America share the same +-area, 'America'. Typical names are 'Africa/Cairo', 'America/New_York', +-and 'Pacific/Honolulu'. +- +-Here are the general rules used for choosing location names, +-in decreasing order of importance: +- +- Use only valid POSIX file name components (i.e., the parts of +- names other than '/'). Do not use the file name +- components '.' and '..'. Within a file name component, +- use only ASCII letters, '.', '-' and '_'. Do not use +- digits, as that might create an ambiguity with POSIX +- TZ strings. A file name component must not exceed 14 +- characters or start with '-'. E.g., prefer 'Brunei' +- to 'Bandar_Seri_Begawan'. Exceptions: see the discussion +- of legacy names below. +- A name must not be empty, or contain '//', or start or end with '/'. +- Do not use names that differ only in case. Although the reference +- implementation is case-sensitive, some other implementations +- are not, and they would mishandle names differing only in case. +- If one name A is an initial prefix of another name AB (ignoring case), +- then B must not start with '/', as a regular file cannot have +- the same name as a directory in POSIX. For example, +- 'America/New_York' precludes 'America/New_York/Bronx'. +- Uninhabited regions like the North Pole and Bouvet Island +- do not need locations, since local time is not defined there. +- There should typically be at least one name for each ISO 3166-1 +- officially assigned two-letter code for an inhabited country +- or territory. +- If all the clocks in a region have agreed since 1970, +- don't bother to include more than one location +- even if subregions' clocks disagreed before 1970. +- Otherwise these tables would become annoyingly large. +- If a name is ambiguous, use a less ambiguous alternative; +- e.g. many cities are named San José and Georgetown, so +- prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. +- Keep locations compact. Use cities or small islands, not countries +- or regions, so that any future time zone changes do not split +- locations into different time zones. E.g. prefer 'Paris' +- to 'France', since France has had multiple time zones. +- Use mainstream English spelling, e.g. prefer 'Rome' to 'Roma', and +- prefer 'Athens' to the Greek 'Αθήνα' or the Romanized 'Athína'. +- The POSIX file name restrictions encourage this rule. +- Use the most populous among locations in a zone, +- e.g. prefer 'Shanghai' to 'Beijing'. Among locations with +- similar populations, pick the best-known location, +- e.g. prefer 'Rome' to 'Milan'. +- Use the singular form, e.g. prefer 'Canary' to 'Canaries'. +- Omit common suffixes like '_Islands' and '_City', unless that +- would lead to ambiguity. E.g. prefer 'Cayman' to +- 'Cayman_Islands' and 'Guatemala' to 'Guatemala_City', +- but prefer 'Mexico_City' to 'Mexico' because the country +- of Mexico has several time zones. +- Use '_' to represent a space. +- Omit '.' from abbreviations in names, e.g. prefer 'St_Helena' +- to 'St._Helena'. +- Do not change established names if they only marginally +- violate the above rules. For example, don't change +- the existing name 'Rome' to 'Milan' merely because +- Milan's population has grown to be somewhat greater +- than Rome's. +- If a name is changed, put its old spelling in the 'backward' file. +- This means old spellings will continue to work. +- +-The file 'zone1970.tab' lists geographical locations used to name time +-zone rules. It is intended to be an exhaustive list of names for +-geographic regions as described above; this is a subset of the names +-in the data. Although a 'zone1970.tab' location's longitude +-corresponds to its LMT offset with one hour for every 15 degrees east +-longitude, this relationship is not exact. +- +-Older versions of this package used a different naming scheme, +-and these older names are still supported. +-See the file 'backward' for most of these older names +-(e.g., 'US/Eastern' instead of 'America/New_York'). +-The other old-fashioned names still supported are +-'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). +- +-Older versions of this package defined legacy names that are +-incompatible with the first rule of location names, but which are +-still supported. These legacy names are mostly defined in the file +-'etcetera'. Also, the file 'backward' defines the legacy names +-'GMT0', 'GMT-0', 'GMT+0' and 'Canada/East-Saskatchewan', and the file +-'northamerica' defines the legacy names 'EST5EDT', 'CST6CDT', +-'MST7MDT', and 'PST8PDT'. +- +-Excluding 'backward' should not affect the other data. If +-'backward' is excluded, excluding 'etcetera' should not affect the +-remaining data. +- +- +------ Time zone abbreviations ----- +- +-When this package is installed, it generates time zone abbreviations +-like 'EST' to be compatible with human tradition and POSIX. +-Here are the general rules used for choosing time zone abbreviations, +-in decreasing order of importance: +- +- Use three or more characters that are ASCII alphanumerics or '+' or '-'. +- Previous editions of this database also used characters like +- ' ' and '?', but these characters have a special meaning to +- the shell and cause commands like +- set `date` +- to have unexpected effects. +- Previous editions of this rule required upper-case letters, +- but the Congressman who introduced Chamorro Standard Time +- preferred "ChST", so lower-case letters are now allowed. +- Also, POSIX from 2001 on relaxed the rule to allow '-', '+', +- and alphanumeric characters from the portable character set +- in the current locale. In practice ASCII alphanumerics and +- '+' and '-' are safe in all locales. +- +- In other words, in the C locale the POSIX extended regular +- expression [-+[:alnum:]]{3,} should match the abbreviation. +- This guarantees that all abbreviations could have been +- specified by a POSIX TZ string. +- +- Use abbreviations that are in common use among English-speakers, +- e.g. 'EST' for Eastern Standard Time in North America. +- We assume that applications translate them to other languages +- as part of the normal localization process; for example, +- a French application might translate 'EST' to 'HNE'. +- +- For zones whose times are taken from a city's longitude, use the +- traditional xMT notation, e.g. 'PMT' for Paris Mean Time. +- The only name like this in current use is 'GMT'. +- +- Use 'LMT' for local mean time of locations before the introduction +- of standard time; see "Scope of the tz database". +- +- If there is no common English abbreviation, use numeric offsets like +- -05 and +0830 that are generated by zic's %z notation. +- +- [The remaining guidelines predate the introduction of %z. +- They are problematic as they mean tz data entries invent +- notation rather than record it. These guidelines are now +- deprecated and the plan is to gradually move to %z for +- inhabited locations and to "-00" for uninhabited locations.] +- +- If there is no common English abbreviation, abbreviate the English +- translation of the usual phrase used by native speakers. +- If this is not available or is a phrase mentioning the country +- (e.g. "Cape Verde Time"), then: +- +- When a country is identified with a single or principal zone, +- append 'T' to the country's ISO code, e.g. 'CVT' for +- Cape Verde Time. For summer time append 'ST'; +- for double summer time append 'DST'; etc. +- Otherwise, take the first three letters of an English place +- name identifying each zone and append 'T', 'ST', etc. +- as before; e.g. 'VLAST' for VLAdivostok Summer Time. +- +- Use UT (with time zone abbreviation '-00') for locations while +- uninhabited. The leading '-' is a flag that the time +- zone is in some sense undefined; this notation is +- derived from Internet RFC 3339. +- +-Application writers should note that these abbreviations are ambiguous +-in practice: e.g. 'CST' has a different meaning in China than +-it does in the United States. In new applications, it's often better +-to use numeric UT offsets like '-0600' instead of time zone +-abbreviations like 'CST'; this avoids the ambiguity. +- +- +------ Accuracy of the tz database ----- +- +-The tz database is not authoritative, and it surely has errors. +-Corrections are welcome and encouraged; see the file CONTRIBUTING. +-Users requiring authoritative data should consult national standards +-bodies and the references cited in the database's comments. +- +-Errors in the tz database arise from many sources: +- +- * The tz database predicts future time stamps, and current predictions +- will be incorrect after future governments change the rules. +- For example, if today someone schedules a meeting for 13:00 next +- October 1, Casablanca time, and tomorrow Morocco changes its +- daylight saving rules, software can mess up after the rule change +- if it blithely relies on conversions made before the change. +- +- * The pre-1970 entries in this database cover only a tiny sliver of how +- clocks actually behaved; the vast majority of the necessary +- information was lost or never recorded. Thousands more zones would +- be needed if the tz database's scope were extended to cover even +- just the known or guessed history of standard time; for example, +- the current single entry for France would need to split into dozens +- of entries, perhaps hundreds. And in most of the world even this +- approach would be misleading due to widespread disagreement or +- indifference about what times should be observed. In her 2015 book +- "The Global Transformation of Time, 1870-1950", Vanessa Ogle writes +- "Outside of Europe and North America there was no system of time +- zones at all, often not even a stable landscape of mean times, +- prior to the middle decades of the twentieth century". See: +- Timothy Shenk, Booked: A Global History of Time. Dissent 2015-12-17 +- https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle +- +- * Most of the pre-1970 data entries come from unreliable sources, often +- astrology books that lack citations and whose compilers evidently +- invented entries when the true facts were unknown, without +- reporting which entries were known and which were invented. +- These books often contradict each other or give implausible entries, +- and on the rare occasions when they are checked they are +- typically found to be incorrect. +- +- * For the UK the tz database relies on years of first-class work done by +- Joseph Myers and others; see . +- Other countries are not done nearly as well. +- +- * Sometimes, different people in the same city would maintain clocks +- that differed significantly. Railway time was used by railroad +- companies (which did not always agree with each other), +- church-clock time was used for birth certificates, etc. +- Often this was merely common practice, but sometimes it was set by law. +- For example, from 1891 to 1911 the UT offset in France was legally +- 0:09:21 outside train stations and 0:04:21 inside. +- +- * Although a named location in the tz database stands for the +- containing region, its pre-1970 data entries are often accurate for +- only a small subset of that region. For example, Europe/London +- stands for the United Kingdom, but its pre-1847 times are valid +- only for locations that have London's exact meridian, and its 1847 +- transition to GMT is known to be valid only for the L&NW and the +- Caledonian railways. +- +- * The tz database does not record the earliest time for which a zone's +- data entries are thereafter valid for every location in the region. +- For example, Europe/London is valid for all locations in its +- region after GMT was made the standard time, but the date of +- standardization (1880-08-02) is not in the tz database, other than +- in commentary. For many zones the earliest time of validity is +- unknown. +- +- * The tz database does not record a region's boundaries, and in many +- cases the boundaries are not known. For example, the zone +- America/Kentucky/Louisville represents a region around the city of +- Louisville, the boundaries of which are unclear. +- +- * Changes that are modeled as instantaneous transitions in the tz +- database were often spread out over hours, days, or even decades. +- +- * Even if the time is specified by law, locations sometimes +- deliberately flout the law. +- +- * Early timekeeping practices, even assuming perfect clocks, were +- often not specified to the accuracy that the tz database requires. +- +- * Sometimes historical timekeeping was specified more precisely +- than what the tz database can handle. For example, from 1909 to +- 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz +- database cannot represent the fractional second. +- +- * Even when all the timestamp transitions recorded by the tz database +- are correct, the tz rules that generate them may not faithfully +- reflect the historical rules. For example, from 1922 until World +- War II the UK moved clocks forward the day following the third +- Saturday in April unless that was Easter, in which case it moved +- clocks forward the previous Sunday. Because the tz database has no +- way to specify Easter, these exceptional years are entered as +- separate tz Rule lines, even though the legal rules did not change. +- +- * The tz database models pre-standard time using the proleptic Gregorian +- calendar and local mean time (LMT), but many people used other +- calendars and other timescales. For example, the Roman Empire used +- the Julian calendar, and had 12 varying-length daytime hours with a +- non-hour-based system at night. +- +- * Early clocks were less reliable, and data entries do not represent +- this unreliability. +- +- * As for leap seconds, civil time was not based on atomic time before +- 1972, and we don't know the history of earth's rotation accurately +- enough to map SI seconds to historical solar time to more than +- about one-hour accuracy. See: Morrison LV, Stephenson FR. +- Historical values of the Earth's clock error Delta T and the +- calculation of eclipses. J Hist Astron. 2004;35:327-36 +- ; +- Historical values of the Earth's clock error. J Hist Astron. 2005;36:339 +- . +- +- * The relationship between POSIX time (that is, UTC but ignoring leap +- seconds) and UTC is not agreed upon after 1972. Although the POSIX +- clock officially stops during an inserted leap second, at least one +- proposed standard has it jumping back a second instead; and in +- practice POSIX clocks more typically either progress glacially during +- a leap second, or are slightly slowed while near a leap second. +- +- * The tz database does not represent how uncertain its information is. +- Ideally it would contain information about when data entries are +- incomplete or dicey. Partial temporal knowledge is a field of +- active research, though, and it's not clear how to apply it here. +- +-In short, many, perhaps most, of the tz database's pre-1970 and future +-time stamps are either wrong or misleading. Any attempt to pass the +-tz database off as the definition of time should be unacceptable to +-anybody who cares about the facts. In particular, the tz database's +-LMT offsets should not be considered meaningful, and should not prompt +-creation of zones merely because two locations differ in LMT or +-transitioned to standard time at different dates. +- +- +------ Time and date functions ----- +- +-The tz code contains time and date functions that are upwards +-compatible with those of POSIX. +- +-POSIX has the following properties and limitations. +- +-* In POSIX, time display in a process is controlled by the +- environment variable TZ. Unfortunately, the POSIX TZ string takes +- a form that is hard to describe and is error-prone in practice. +- Also, POSIX TZ strings can't deal with other (for example, Israeli) +- daylight saving time rules, or situations where more than two +- time zone abbreviations are used in an area. +- +- The POSIX TZ string takes the following form: +- +- stdoffset[dst[offset][,date[/time],date[/time]]] +- +- where: +- +- std and dst +- are 3 or more characters specifying the standard +- and daylight saving time (DST) zone names. +- Starting with POSIX.1-2001, std and dst may also be +- in a quoted form like ""; this allows +- "+" and "-" in the names. +- offset +- is of the form '[+-]hh:[mm[:ss]]' and specifies the +- offset west of UT. 'hh' may be a single digit; 0<=hh<=24. +- The default DST offset is one hour ahead of standard time. +- date[/time],date[/time] +- specifies the beginning and end of DST. If this is absent, +- the system supplies its own rules for DST, and these can +- differ from year to year; typically US DST rules are used. +- time +- takes the form 'hh:[mm[:ss]]' and defaults to 02:00. +- This is the same format as the offset, except that a +- leading '+' or '-' is not allowed. +- date +- takes one of the following forms: +- Jn (1<=n<=365) +- origin-1 day number not counting February 29 +- n (0<=n<=365) +- origin-0 day number counting February 29 if present +- Mm.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12) +- for the dth day of week n of month m of the year, +- where week 1 is the first week in which day d appears, +- and '5' stands for the last week in which day d appears +- (which may be either the 4th or 5th week). +- Typically, this is the only useful form; +- the n and Jn forms are rarely used. +- +- Here is an example POSIX TZ string, for US Pacific time using rules +- appropriate from 1987 through 2006: +- +- TZ='PST8PDT,M4.1.0/02:00,M10.5.0/02:00' +- +- This POSIX TZ string is hard to remember, and mishandles time stamps +- before 1987 and after 2006. With this package you can use this +- instead: +- +- TZ='America/Los_Angeles' +- +-* POSIX does not define the exact meaning of TZ values like "EST5EDT". +- Typically the current US DST rules are used to interpret such values, +- but this means that the US DST rules are compiled into each program +- that does time conversion. This means that when US time conversion +- rules change (as in the United States in 1987), all programs that +- do time conversion must be recompiled to ensure proper results. +- +-* The TZ environment variable is process-global, which makes it hard +- to write efficient, thread-safe applications that need access +- to multiple time zones. +- +-* In POSIX, there's no tamper-proof way for a process to learn the +- system's best idea of local wall clock. (This is important for +- applications that an administrator wants used only at certain times - +- without regard to whether the user has fiddled the "TZ" environment +- variable. While an administrator can "do everything in UTC" to get +- around the problem, doing so is inconvenient and precludes handling +- daylight saving time shifts - as might be required to limit phone +- calls to off-peak hours.) +- +-* POSIX provides no convenient and efficient way to determine the UT +- offset and time zone abbreviation of arbitrary time stamps, +- particularly for time zone settings that do not fit into the +- POSIX model. +- +-* POSIX requires that systems ignore leap seconds. +- +-* The tz code attempts to support all the time_t implementations +- allowed by POSIX. The time_t type represents a nonnegative count of +- seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. +- In practice, time_t is usually a signed 64- or 32-bit integer; 32-bit +- signed time_t values stop working after 2038-01-19 03:14:07 UTC, so +- new implementations these days typically use a signed 64-bit integer. +- Unsigned 32-bit integers are used on one or two platforms, +- and 36-bit and 40-bit integers are also used occasionally. +- Although earlier POSIX versions allowed time_t to be a +- floating-point type, this was not supported by any practical +- systems, and POSIX.1-2013 and the tz code both require time_t +- to be an integer type. +- +-These are the extensions that have been made to the POSIX functions: +- +-* The "TZ" environment variable is used in generating the name of a file +- from which time zone information is read (or is interpreted a la +- POSIX); "TZ" is no longer constrained to be a three-letter time zone +- name followed by a number of hours and an optional three-letter +- daylight time zone name. The daylight saving time rules to be used +- for a particular time zone are encoded in the time zone file; +- the format of the file allows U.S., Australian, and other rules to be +- encoded, and allows for situations where more than two time zone +- abbreviations are used. +- +- It was recognized that allowing the "TZ" environment variable to +- take on values such as "America/New_York" might cause "old" programs +- (that expect "TZ" to have a certain form) to operate incorrectly; +- consideration was given to using some other environment variable +- (for example, "TIMEZONE") to hold the string used to generate the +- time zone information file name. In the end, however, it was decided +- to continue using "TZ": it is widely used for time zone purposes; +- separately maintaining both "TZ" and "TIMEZONE" seemed a nuisance; +- and systems where "new" forms of "TZ" might cause problems can simply +- use TZ values such as "EST5EDT" which can be used both by +- "new" programs (a la POSIX) and "old" programs (as zone names and +- offsets). +- +-* The code supports platforms with a UT offset member in struct tm, +- e.g., tm_gmtoff. +- +-* The code supports platforms with a time zone abbreviation member in +- struct tm, e.g., tm_zone. +- +-* Since the "TZ" environment variable can now be used to control time +- conversion, the "daylight" and "timezone" variables are no longer +- needed. (These variables are defined and set by "tzset"; however, their +- values will not be used by "localtime.") +- +-* Functions tzalloc, tzfree, localtime_rz, and mktime_z for +- more-efficient thread-safe applications that need to use +- multiple time zones. The tzalloc and tzfree functions +- allocate and free objects of type timezone_t, and localtime_rz +- and mktime_z are like localtime_r and mktime with an extra +- timezone_t argument. The functions were inspired by NetBSD. +- +-* A function "tzsetwall" has been added to arrange for the system's +- best approximation to local wall clock time to be delivered by +- subsequent calls to "localtime." Source code for portable +- applications that "must" run on local wall clock time should call +- "tzsetwall();" if such code is moved to "old" systems that don't +- provide tzsetwall, you won't be able to generate an executable program. +- (These time zone functions also arrange for local wall clock time to be +- used if tzset is called - directly or indirectly - and there's no "TZ" +- environment variable; portable applications should not, however, rely +- on this behavior since it's not the way SVR2 systems behave.) +- +-* Negative time_t values are supported, on systems where time_t is signed. +- +-* These functions can account for leap seconds, thanks to Bradley White. +- +-Points of interest to folks with other systems: +- +-* Code compatible with this package is already part of many platforms, +- including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, +- BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. +- On such hosts, the primary use of this package +- is to update obsolete time zone rule tables. +- To do this, you may need to compile the time zone compiler +- 'zic' supplied with this package instead of using the system 'zic', +- since the format of zic's input is occasionally extended, +- and a platform may still be shipping an older zic. +- +-* The UNIX Version 7 "timezone" function is not present in this package; +- it's impossible to reliably map timezone's arguments (a "minutes west +- of GMT" value and a "daylight saving time in effect" flag) to a +- time zone abbreviation, and we refuse to guess. +- Programs that in the past used the timezone function may now examine +- tzname[localtime(&clock)->tm_isdst] to learn the correct time +- zone abbreviation to use. Alternatively, use +- localtime(&clock)->tm_zone if this has been enabled. +- +-* The 4.2BSD gettimeofday function is not used in this package. +- This formerly let users obtain the current UTC offset and DST flag, +- but this functionality was removed in later versions of BSD. +- +-* In SVR2, time conversion fails for near-minimum or near-maximum +- time_t values when doing conversions for places that don't use UT. +- This package takes care to do these conversions correctly. +- A comment in the source code tells how to get compatibly wrong +- results. +- +-The functions that are conditionally compiled if STD_INSPIRED is defined +-should, at this point, be looked on primarily as food for thought. They are +-not in any sense "standard compatible" - some are not, in fact, specified in +-*any* standard. They do, however, represent responses of various authors to +-standardization proposals. +- +-Other time conversion proposals, in particular the one developed by folks at +-Hewlett Packard, offer a wider selection of functions that provide capabilities +-beyond those provided here. The absence of such functions from this package +-is not meant to discourage the development, standardization, or use of such +-functions. Rather, their absence reflects the decision to make this package +-contain valid extensions to POSIX, to ensure its broad acceptability. If +-more powerful time conversion functions can be standardized, so much the +-better. +- +- +------ Interface stability ----- +- +-The tz code and data supply the following interfaces: +- +- * A set of zone names as per "Names of time zone rules" above. +- +- * Library functions described in "Time and date functions" above. +- +- * The programs tzselect, zdump, and zic, documented in their man pages. +- +- * The format of zic input files, documented in the zic man page. +- +- * The format of zic output files, documented in the tzfile man page. +- +- * The format of zone table files, documented in zone1970.tab. +- +- * The format of the country code file, documented in iso3166.tab. +- +-When these interfaces are changed, an effort is made to preserve +-backward compatibility. For example, tz data files typically do not +-rely on recently-added zic features, so that users can run older zic +-versions to process newer data files. +- +-Interfaces not listed above are less stable. For example, users +-should not rely on particular UT offsets or abbreviations for time +-stamps, as data entries are often based on guesswork and these guesses +-may be corrected or improved. +- +- +------ Calendrical issues ----- +- +-Calendrical issues are a bit out of scope for a time zone database, +-but they indicate the sort of problems that we would run into if we +-extended the time zone database further into the past. An excellent +-resource in this area is Nachum Dershowitz and Edward M. Reingold, +-Calendrical Calculations: Third Edition, Cambridge University Press (2008) +-. +-Other information and sources are given below. They sometimes disagree. +- +- +-France +- +-Gregorian calendar adopted 1582-12-20. +-French Revolutionary calendar used 1793-11-24 through 1805-12-31, +-and (in Paris only) 1871-05-06 through 1871-05-23. +- +- +-Russia +- +-From Chris Carrier (1996-12-02): +-On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" +-with 30-day months plus 5 holidays, with a 5-day week. +-On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the +-Gregorian calendar while retaining the 6-day week; on 1940-06-27 it +-reverted to the 7-day week. With the 6-day week the usual days +-off were the 6th, 12th, 18th, 24th and 30th of the month. +-(Source: Evitiar Zerubavel, _The Seven Day Circle_) +- +- +-Mark Brader reported a similar story in "The Book of Calendars", edited +-by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: +- +-From: Petteri Sulonen (via Usenet) +-Date: 14 Jan 1999 00:00:00 GMT +-... +- +-If your source is correct, how come documents between 1929 and 1940 were +-still dated using the conventional, Gregorian calendar? +- +-I can post a scan of a document dated December 1, 1934, signed by +-Yenukidze, the secretary, on behalf of Kalinin, the President of the +-Executive Committee of the Supreme Soviet, if you like. +- +- +- +-Sweden (and Finland) +- +-From: Mark Brader +-Subject: Re: Gregorian reform - a part of locale? +- +-Date: 1996-07-06 +- +-In 1700, Denmark made the transition from Julian to Gregorian. Sweden +-decided to *start* a transition in 1700 as well, but rather than have one of +-those unsightly calendar gaps :-), they simply decreed that the next leap +-year after 1696 would be in 1744 - putting the whole country on a calendar +-different from both Julian and Gregorian for a period of 40 years. +- +-However, in 1704 something went wrong and the plan was not carried through; +-they did, after all, have a leap year that year. And one in 1708. In 1712 +-they gave it up and went back to Julian, putting 30 days in February that +-year!... +- +-Then in 1753, Sweden made the transition to Gregorian in the usual manner, +-getting there only 13 years behind the original schedule. +- +-(A previous posting of this story was challenged, and Swedish readers +-produced the following references to support it: "Tideräkning och historia" +-by Natanael Beckman (1924) and "Tid, en bok om tideräkning och +-kalenderväsen" by Lars-Olof Lodén (1968). +- +- +-Grotefend's data +- +-From: "Michael Palmer" [with one obvious typo fixed] +-Subject: Re: Gregorian Calendar (was Re: Another FHC related question +-Newsgroups: soc.genealogy.german +-Date: Tue, 9 Feb 1999 02:32:48 -800 +-... +- +-The following is a(n incomplete) listing, arranged chronologically, of +-European states, with the date they converted from the Julian to the +-Gregorian calendar: +- +-04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman +- Catholics and Danzig only) +-09/20 Dec 1582 - France, Lorraine +- +-21 Dec 1582/ +- 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau +-10/21 Feb 1583 - bishopric of Liege (Lüttich) +-13/24 Feb 1583 - bishopric of Augsburg +-04/15 Oct 1583 - electorate of Trier +-05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, +- Salzburg, Brixen +-13/24 Oct 1583 - Austrian Oberelsaß and Breisgau +-20/31 Oct 1583 - bishopric of Basel +-02/13 Nov 1583 - duchy of Jülich-Berg +-02/13 Nov 1583 - electorate and city of Köln +-04/15 Nov 1583 - bishopric of Würzburg +-11/22 Nov 1583 - electorate of Mainz +-16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden +-17/28 Nov 1583 - bishopric of Münster and duchy of Cleve +-14/25 Dec 1583 - Steiermark +- +-06/17 Jan 1584 - Austria and Bohemia +-11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn +-12/23 Jan 1584 - Silesia and the Lausitz +-22 Jan/ +- 02 Feb 1584 - Hungary (legally on 21 Oct 1587) +- Jun 1584 - Unterwalden +-01/12 Jul 1584 - duchy of Westfalen +- +-16/27 Jun 1585 - bishopric of Paderborn +- +-14/25 Dec 1590 - Transylvania +- +-22 Aug/ +- 02 Sep 1612 - duchy of Prussia +- +-13/24 Dec 1614 - Pfalz-Neuburg +- +- 1617 - duchy of Kurland (reverted to the Julian calendar in +- 1796) +- +- 1624 - bishopric of Osnabrück +- +- 1630 - bishopric of Minden +- +-15/26 Mar 1631 - bishopric of Hildesheim +- +- 1655 - Kanton Wallis +- +-05/16 Feb 1682 - city of Strassburg +- +-18 Feb/ +- 01 Mar 1700 - Protestant Germany (including Swedish possessions in +- Germany), Denmark, Norway +-30 Jun/ +- 12 Jul 1700 - Gelderland, Zutphen +-10 Nov/ +- 12 Dec 1700 - Utrecht, Overijssel +- +-31 Dec 1700/ +- 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, +- Turgau, and Schaffhausen +- +- 1724 - Glarus, Appenzell, and the city of St. Gallen +- +-01 Jan 1750 - Pisa and Florence +- +-02/14 Sep 1752 - Great Britain +- +-17 Feb/ +- 01 Mar 1753 - Sweden +- +-1760-1812 - Graubünden +- +-The Russian empire (including Finland and the Baltic states) did not +-convert to the Gregorian calendar until the Soviet revolution of 1917. +- +-Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen +-Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend +-(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. +- +- +------ Time and time zones on Mars ----- +- +-Some people's work schedules use Mars time. Jet Propulsion Laboratory +-(JPL) coordinators have kept Mars time on and off at least since 1997 +-for the Mars Pathfinder mission. Some of their family members have +-also adapted to Mars time. Dozens of special Mars watches were built +-for JPL workers who kept Mars time during the Mars Exploration +-Rovers mission (2004). These timepieces look like normal Seikos and +-Citizens but use Mars seconds rather than terrestrial seconds. +- +-A Mars solar day is called a "sol" and has a mean period equal to +-about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is +-divided into a conventional 24-hour clock, so each Mars second equals +-about 1.02749125 terrestrial seconds. +- +-The prime meridian of Mars goes through the center of the crater +-Airy-0, named in honor of the British astronomer who built the +-Greenwich telescope that defines Earth's prime meridian. Mean solar +-time on the Mars prime meridian is called Mars Coordinated Time (MTC). +- +-Each landed mission on Mars has adopted a different reference for +-solar time keeping, so there is no real standard for Mars time zones. +-For example, the Mars Exploration Rover project (2004) defined two +-time zones "Local Solar Time A" and "Local Solar Time B" for its two +-missions, each zone designed so that its time equals local true solar +-time at approximately the middle of the nominal mission. Such a "time +-zone" is not particularly suited for any application other than the +-mission itself. +- +-Many calendars have been proposed for Mars, but none have achieved +-wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a +-sequential count of Mars solar days elapsed since about 1873-12-29 +-12:00 GMT. +- +-The tz database does not currently support Mars time, but it is +-documented here in the hopes that support will be added eventually. +- +-Sources: +- +-Michael Allison and Robert Schmunk, +-"Technical Notes on Mars Solar Time as Adopted by the Mars24 Sunclock" +- (2012-08-08). +- +-Jia-Rui Chong, "Workdays Fit for a Martian", Los Angeles Times +- +-(2004-01-14), pp A1, A20-A21. +- +-Tom Chmielewski, "Jet Lag Is Worse on Mars", The Atlantic (2015-02-26) +- +- +------ +- +-This file is in the public domain, so clarified as of 2009-05-17 by +-Arthur David Olson. +- +------ +-Local Variables: +-coding: utf-8 +-End: +--- contrib/tzdata/africa.orig ++++ contrib/tzdata/africa +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-20): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -26,44 +26,38 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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 +-# for +0:00 through +3:00, respectively, +-# but Mark R V Murray reports that +-# 'SAST' is the official abbreviation for +2:00 in the country of South Africa, +-# 'CAT' is commonly used for +2:00 in countries north of South Africa, and +-# 'WAT' is probably the best name for +1:00, as the common phrase for ++# for UT +00 through +03, respectively, ++# but in 1997 Mark R V Murray reported that ++# 'SAST' is the official abbreviation for +02 in the country of South Africa, ++# 'CAT' is commonly used for +02 in countries north of South Africa, and ++# 'WAT' is probably the best name for +01, as the common phrase for + # the area that includes Nigeria is "West Africa". +-# He has heard of "Western Sahara Time" for +0:00 but can find no reference. + # +-# To make things confusing, 'WAT' seems to have been used for -1:00 long ago; +-# I'd guess that this was because people needed _some_ name for -1:00, +-# and at the time, far west Africa was the only major land area in -1:00. +-# This usage is now obsolete, as the last use of -1:00 on the African +-# mainland seems to have been 1976 in Western Sahara. ++# To summarize, the following abbreviations seemed to have some currency: ++# +00 GMT Greenwich Mean Time ++# +02 CAT Central Africa Time ++# +02 SAST South Africa Standard Time ++# and Murray suggested the following abbreviation: ++# +01 WAT West Africa Time ++# Murray's suggestion seems to have caught on in news reports and the like. ++# I vaguely recall 'WAT' also being used for -01 in the past but ++# cannot now come up with solid citations. + # +-# To summarize, the following abbreviations seem to have some currency: +-# -1:00 WAT West Africa Time (no longer used) +-# 0:00 GMT Greenwich Mean Time +-# 2:00 CAT Central Africa Time +-# 2:00 SAST South Africa Standard Time +-# and Murray suggests the following abbreviation: +-# 1:00 WAT West Africa Time +-# I realize that this leads to 'WAT' being used for both -1:00 and 1:00 +-# for times before 1976, but this is the best I can think of +-# until we get more information. +-# + # I invented the following abbreviations; corrections are welcome! +-# 2:00 WAST West Africa Summer Time +-# 2:30 BEAT British East Africa Time (no longer used) +-# 2:45 BEAUT British East Africa Unified Time (no longer used) +-# 3:00 CAST Central Africa Summer Time (no longer used) +-# 3:00 SAST South Africa Summer Time (no longer used) +-# 3:00 EAT East Africa Time ++# +02 WAST West Africa Summer Time ++# +03 CAST Central Africa Summer Time (no longer used) ++# +03 SAST South Africa Summer Time (no longer used) ++# +03 EAT East Africa Time ++# 'EAT' also seems to have caught on; the others are rare but are paired ++# with better-attested non-DST abbreviations. + + # Algeria + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +@@ -119,19 +113,19 @@ + # Cameroon + # See Africa/Lagos. + +-# Cape Verde ++# Cape Verde / Cabo Verde + # +-# Shanks gives 1907 for the transition to CVT. ++# Shanks gives 1907 for the transition to +02. + # Perhaps the 1911-05-26 Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # merely made it official? + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia +- -2:00 - CVT 1942 Sep +- -2:00 1:00 CVST 1945 Oct 15 +- -2:00 - CVT 1975 Nov 25 2:00 +- -1:00 - CVT ++ -2:00 - -02 1942 Sep ++ -2:00 1:00 -01 1945 Oct 15 ++ -2:00 - -02 1975 Nov 25 2:00 ++ -1:00 - -01 + + # Central African Republic + # See Africa/Lagos. +@@ -224,7 +218,7 @@ + # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07. + # From Jesper Nørgaard Welen (2007-08-15): [The following agree:] + # http://www.nentjes.info/Bill/bill5.htm +-# http://www.timeanddate.com/worldclock/city.html?n=53 ++# https://www.timeanddate.com/worldclock/city.html?n=53 + # From Steffen Thorsen (2007-09-04): The official information...: + # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm + Rule Egypt 2007 only - Sep Thu>=1 24:00 0 - +@@ -262,8 +256,8 @@ + # timeanddate[2] and another site I've found[3] also support that. + # + # [1] https://bugzilla.redhat.com/show_bug.cgi?id=492263 +-# [2] http://www.timeanddate.com/worldclock/clockchange.html?n=53 +-# [3] http://wwp.greenwichmeantime.com/time-zone/africa/egypt/ ++# [2] https://www.timeanddate.com/worldclock/clockchange.html?n=53 ++# [3] https://wwp.greenwichmeantime.com/time-zone/africa/egypt/ + + # From Arthur David Olson (2009-04-20): + # In 2009 (and for the next several years), Ramadan ends before the fourth +@@ -273,10 +267,10 @@ + # From Steffen Thorsen (2009-08-11): + # We have been able to confirm the August change with the Egyptian Cabinet + # Information and Decision Support Center: +-# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html ++# https://www.timeanddate.com/news/time/egypt-dst-ends-2009.html + # + # The Middle East News Agency +-# http://www.mena.org.eg/index.aspx ++# https://www.mena.org.eg/index.aspx + # also reports "Egypt starts winter time on August 21" + # today in article numbered "71, 11/08/2009 12:25 GMT." + # Only the title above is available without a subscription to their service, +@@ -326,7 +320,7 @@ + # Thursday of April.... Clocks will still be turned back for Ramadan, but + # dates not yet announced.... + # http://almogaz.com/news/weird-news/2015/04/05/1947105 ... +-# http://www.timeanddate.com/news/time/egypt-starts-dst-2015.html ++# https://www.timeanddate.com/news/time/egypt-starts-dst-2015.html + + # From Ahmed Nazmy (2015-04-20): + # Egypt's ministers cabinet just announced ... that it will cancel DST at +@@ -388,7 +382,7 @@ + Rule Ghana 1920 1942 - Dec 31 0:00 0 GMT + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Accra -0:00:52 - LMT 1918 +- 0:00 Ghana %s ++ 0:00 Ghana GMT/+0020 + + # Guinea + # See Africa/Abidjan. +@@ -397,12 +391,12 @@ + # + # Shanks gives 1911-05-26 for the transition to WAT, + # evidently confusing the date of the Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # with the date that it took effect, namely 1912-01-01. + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 +- -1:00 - WAT 1975 ++ -1:00 - -01 1975 + 0:00 - GMT + + # Kenya +@@ -409,8 +403,8 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul + 3:00 - EAT 1930 +- 2:30 - BEAT 1940 +- 2:45 - BEAUT 1960 ++ 2:30 - +0230 1940 ++ 2:45 - +0245 1960 + 3:00 - EAT + Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia + Link Africa/Nairobi Africa/Asmara # Eritrea +@@ -426,18 +420,25 @@ + # See Africa/Johannesburg. + + # Liberia +-# From Paul Eggert (2006-03-22): +-# In 1972 Liberia was the last country to switch +-# from a UTC offset that was not a multiple of 15 or 20 minutes. +-# Howse reports that it was in honor of their president's birthday. +-# Shank & Pottenger report the date as May 1, whereas Howse reports Jan; +-# go with Shanks & Pottenger. +-# For Liberia before 1972, Shanks & Pottenger report -0:44, whereas Howse and +-# Whitman each report -0:44:30; go with the more precise figure. ++# ++# From Paul Eggert (2017-03-02): ++# ++# The Nautical Almanac for the Year 1970, p 264, is the source for -0:44:30. ++# ++# In 1972 Liberia was the last country to switch from a UTC offset ++# that was not a multiple of 15 or 20 minutes. The 1972 change was on ++# 1972-01-07, according to an entry dated 1972-01-04 on p 330 of: ++# Presidential Papers: First year of the administration of ++# President William R. Tolbert, Jr., July 23, 1971-July 31, 1972. ++# Monrovia: Executive Mansion. ++# ++# Use the abbreviation "MMT" before 1972, as the more-accurate numeric ++# abbreviation "-004430" would be one byte over the POSIX limit. ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Monrovia -0:43:08 - LMT 1882 + -0:43:08 - MMT 1919 Mar # Monrovia Mean Time +- -0:44:30 - LRT 1972 May # Liberia Time ++ -0:44:30 - MMT 1972 Jan 7 # approximately MMT + 0:00 - GMT + + ############################################################################### +@@ -446,11 +447,11 @@ + + # From Even Scharning (2012-11-10): + # Libya set their time one hour back at 02:00 on Saturday November 10. +-# http://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ ++# https://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ + # Here is an official source [in Arabic]: http://ls.ly/fb6Yc + # + # Steffen Thorsen forwarded a translation (2012-11-10) in +-# http://mm.icann.org/pipermail/tz/2012-November/018451.html ++# https://mm.icann.org/pipermail/tz/2012-November/018451.html + # + # From Tim Parenti (2012-11-11): + # Treat the 2012-11-10 change as a zone change from UTC+2 to UTC+1. +@@ -461,7 +462,7 @@ + # From Even Scharning (2013-10-25): + # The scheduled end of DST in Libya on Friday, October 25, 2013 was + # cancelled yesterday.... +-# http://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ ++# https://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ + # + # From Paul Eggert (2013-10-25): + # For now, assume they're reverting to the pre-2012 rules of permanent UT +02. +@@ -514,7 +515,7 @@ + # basis.... + # It seems that Mauritius observed daylight saving time from 1982-10-10 to + # 1983-03-20 as well, but that was not successful.... +-# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html ++# https://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html + + # From Alex Krivenyshev (2008-06-25): + # http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD +@@ -582,7 +583,7 @@ + # http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints- + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html ++# https://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html + + # From Arthur David Olson (2009-07-11): + # The "mauritius-dst-will-not-repeat" wrapup includes this: +@@ -596,7 +597,7 @@ + Rule Mauritius 2009 only - Mar lastSun 2:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis +- 4:00 Mauritius MU%sT # Mauritius Time ++ 4:00 Mauritius +04/+05 + # Agalega Is, Rodriguez + # no information; probably like Indian/Mauritius + +@@ -614,7 +615,7 @@ + # be one hour ahead of GMT between 1 June and 27 September, according to + # Communication Minister and Government Spokesman, Khalid Naciri...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html ++# http://www.worldtimezone.com/dst_news/dst_news_morocco01.html + # http://en.afrik.com/news11892.html + + # From Alex Krivenyshev (2008-05-09): +@@ -627,7 +628,7 @@ + + # From Patrice Scattolin (2008-05-09): + # According to this article: +-# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html ++# https://www.avmaroc.com/actualite/heure-dete-comment-a127896.html + # (and republished here: ) + # the changes occur at midnight: + # +@@ -649,7 +650,7 @@ + # posted in English). + # + # The following Google query will generate many relevant hits: +-# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search ++# https://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search + + # From Steffen Thorsen (2008-08-27): + # Morocco will change the clocks back on the midnight between August 31 +@@ -660,7 +661,7 @@ + # http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default + # + # We have some further details posted here: +-# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html ++# https://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html + + # From Steffen Thorsen (2009-03-17): + # Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according +@@ -670,7 +671,7 @@ + # (French) + # + # Our summary: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to official document from Royaume du Maroc Premier Ministre, +@@ -693,7 +694,7 @@ + # http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html + # (French) + # Our page: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2010.html + + # From Dan Abitol (2011-03-30): + # ...Rules for Africa/Casablanca are the following (24h format) +@@ -710,7 +711,7 @@ + # They said that the decision was already taken. + # + # More articles in the press +-# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html ++# https://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html + # http://www.lematin.ma/Actualite/Express/Article.asp?id=148923 + # http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim + +@@ -802,7 +803,7 @@ + # 1433 (18 April 2012) and the decision of the Head of Government of + # 16 N. 3-29-15 Chaaban 1435 (4 June 2015). + # Source (french): +-# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ ++# https://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ + # + # From Milamber (2015-06-09): + # http://www.mmsp.gov.ma/fr/actualites.aspx?id=863 +@@ -811,7 +812,7 @@ + # [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go + # from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch.... + # I think the patch is correct and the quoted text is wrong; the text in +-# agrees ++# agrees + # with the patch. + + # From Paul Eggert (2015-06-08): +@@ -915,7 +916,7 @@ + # since most of it was then controlled by Morocco. + + Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún +- -1:00 - WAT 1976 Apr 14 ++ -1:00 - -01 1976 Apr 14 + 0:00 Morocco WE%sT + + # Mozambique +@@ -922,7 +923,7 @@ + # + # Shanks gives 1903-03-01 for the transition to CAT. + # Perhaps the 1911-05-26 Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # merely made it official? + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +@@ -936,10 +937,18 @@ + Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo + Link Africa/Maputo Africa/Lusaka # Zambia + ++ + # Namibia +-# The 1994-04-03 transition is from Shanks & Pottenger. +-# Shanks & Pottenger report no DST after 1998-04; go with IATA. + ++# From Arthur David Olson (2017-08-09): ++# The text of the "Namibia Time Act, 1994" is available online at ++# www.lac.org.na/laws/1994/811.pdf ++# and includes this nugget: ++# Notwithstanding the provisions of subsection (2) of section 1, the ++# first winter period after the commencement of this Act shall ++# commence at OOhOO on Monday 21 March 1994 and shall end at 02h00 on ++# Sunday 4 September 1994. ++ + # From Petronella Sibeene (2007-03-30): + # http://allafrica.com/stories/200703300178.html + # While the entire country changes its time, Katima Mulilo and other +@@ -949,21 +958,35 @@ + # the country are close to 40 minutes earlier in sunrise than the rest + # of the country. + # +-# From Paul Eggert (2007-03-31): +-# Apparently the Caprivi Strip informally observes Botswana time, but +-# we have no details. In the meantime people there can use Africa/Gaborone. ++# From Paul Eggert (2017-02-22): ++# Although the Zambezi Region (formerly known as Caprivi) informally ++# observes Botswana time, we have no details about historical practice. ++# In the meantime people there can use Africa/Gaborone. ++# See: Immanuel S. The Namibian. 2017-02-23. ++# https://www.namibian.com.na/51480/read/Time-change-divides-lawmakers + ++# From Steffen Thorsen (2017-08-09): ++# Namibia is going to change their time zone to what is now their DST: ++# https://www.newera.com.na/2017/02/23/namibias-winter-time-might-be-repealed/ ++# This video is from the government decision: ++# https://www.nbc.na/news/na-passes-namibia-time-bill-repealing-1994-namibia-time-act.8665 ++# We have made the assumption so far that they will change their time zone at ++# the same time they would normally start DST, the first Sunday in September: ++# https://www.timeanddate.com/news/time/namibia-new-time-zone.html ++ + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S +-Rule Namibia 1995 max - Apr Sun>=1 2:00 0 - ++Rule Namibia 1994 only - Mar 21 0:00 0 - ++Rule Namibia 1994 2016 - Sep Sun>=1 2:00 1:00 S ++Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 +- 1:30 - SWAT 1903 Mar # SW Africa Time ++ 1:30 - +0130 1903 Mar + 2:00 - SAST 1942 Sep 20 2:00 + 2:00 1:00 SAST 1943 Mar 21 2:00 + 2:00 - SAST 1990 Mar 21 # independence +- 2:00 - CAT 1994 Apr 3 +- 1:00 Namibia WA%sT ++ 2:00 - CAT 1994 Mar 21 0:00 ++ 1:00 Namibia WA%sT 2017 Sep 3 2:00 ++ 2:00 - CAT + + # Niger + # See Africa/Lagos. +@@ -985,7 +1008,7 @@ + # Réunion + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis +- 4:00 - RET # Réunion Time ++ 4:00 - +04 + # + # Crozet Islands also observes Réunion time; see the 'antarctica' file. + # +@@ -1020,7 +1043,7 @@ + # Seychelles + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria +- 4:00 - SCT # Seychelles Time ++ 4:00 - +04 + # From Paul Eggert (2001-05-30): + # Aldabra, Farquhar, and Desroches, originally dependencies of the + # Seychelles, were transferred to the British Indian Ocean Territory +@@ -1050,7 +1073,7 @@ + # no information + + # Sudan +-# ++ + # From + # Sudan News Agency (2000-01-13), + # also reported by Michaël De Beukelaer-Dossche via Steffen Thorsen: +@@ -1057,7 +1080,17 @@ + # Clocks will be moved ahead for 60 minutes all over the Sudan as of noon + # Saturday.... This was announced Thursday by Caretaker State Minister for + # Manpower Abdul-Rahman Nur-Eddin. ++ ++# From Ahmed Atyya, National Telecommunications Corp. (NTC), Sudan (2017-10-17): ++# ... the Republic of Sudan is going to change the time zone from (GMT+3:00) ++# to (GMT+ 2:00) starting from Wednesday 1 November 2017. + # ++# From Paul Eggert (2017-10-18): ++# A scanned copy (in Arabic) of Cabinet Resolution No. 352 for the ++# year 2017 can be found as an attachment in email today from Yahia ++# Abdalla of NTC, archived at: ++# https://mm.icann.org/pipermail/tz/2017-October/025333.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Sudan 1970 only - May 1 0:00 1:00 S + Rule Sudan 1970 1985 - Oct 15 0:00 0 - +@@ -1066,10 +1099,14 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Khartoum 2:10:08 - LMT 1931 + 2:00 Sudan CA%sT 2000 Jan 15 12:00 +- 3:00 - EAT ++ 3:00 - EAT 2017 Nov 1 ++ 2:00 - CAT + + # South Sudan +-Link Africa/Khartoum Africa/Juba ++# Zone NAME GMTOFF RULES FORMAT [UNTIL] ++Zone Africa/Juba 2:06:28 - LMT 1931 ++ 2:00 Sudan CA%sT 2000 Jan 15 12:00 ++ 3:00 - EAT + + # Swaziland + # See Africa/Johannesburg. +@@ -1107,11 +1144,11 @@ + # According to several news sources, Tunisia will not observe DST this year. + # (Arabic) + # http://www.elbashayer.com/?page=viewn&nid=42546 +-# http://www.babnet.net/kiwidetail-15295.asp ++# https://www.babnet.net/kiwidetail-15295.asp + # + # We have also confirmed this with the US embassy in Tunisia. + # We have a wrap-up about this on the following page: +-# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html ++# https://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to Tunis Afrique Presse News Agency +--- contrib/tzdata/antarctica.orig ++++ contrib/tzdata/antarctica +@@ -26,7 +26,7 @@ + # Heard Island, McDonald Islands (uninhabited) + # previously sealers and scientific personnel wintered + # Margaret Turner reports +-# http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html ++# https://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html + # (1999-09-30) that they're UT +05, with no DST; + # presumably this is when they have visitors. + # +@@ -47,7 +47,7 @@ + # http://www.aad.gov.au/default.asp?casid=37079 + # + # We have more background information here: +-# http://www.timeanddate.com/news/time/antarctica-new-times.html ++# https://www.timeanddate.com/news/time/antarctica-new-times.html + + # From Steffen Thorsen (2010-03-10): + # We got these changes from the Australian Antarctic Division: ... +@@ -62,7 +62,7 @@ + # - Mawson station stays on UTC+5. + # + # Background: +-# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html ++# https://www.timeanddate.com/news/time/antartica-time-changes-2010.html + + # From Steffen Thorsen (2016-10-28): + # Australian Antarctica Division informed us that Casey changed time +@@ -110,7 +110,8 @@ + # O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02 + # Prat, -6230-05941 + # Villa Las Estrellas (a town), around the Frei base, since 1984-04-09 +-# These locations have always used Santiago time; use TZ='America/Santiago'. ++# These locations employ Region of Magallanes time; use ++# TZ='America/Punta_Arenas'. + + # China - year-round bases + # Great Wall, King George Island, -6213-05858, since 1985-02-20 +@@ -144,7 +145,7 @@ + # + # year-round base in the main continent + # Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11 +-# (2005-12-05) ++# (2005-12-05) + # + # Another base at Port-Martin, 50km east, began operation in 1947. + # It was destroyed by fire on 1952-01-14. +--- contrib/tzdata/asia.orig ++++ contrib/tzdata/asia +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2015-08-08): ++# From Paul Eggert (2017-01-13): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -26,7 +26,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # + # For Russian data circa 1919, a source is: + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. +@@ -35,29 +35,24 @@ + # A reliable and entertaining source about time zones is + # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). + # +-# I invented the abbreviations marked '*' in the following table; +-# the rest are from earlier versions of this file, or from other sources. +-# Corrections are welcome! ++# The following alphabetic abbreviations appear in these tables: + # std dst + # LMT Local Mean Time + # 2:00 EET EEST Eastern European Time + # 2:00 IST IDT Israel +-# 3:00 AST ADT Arabia* +-# 3:30 IRST IRDT Iran* +-# 4:00 GST Gulf* + # 5:30 IST India +-# 7:00 ICT Indochina, most times and locations* + # 7:00 WIB west Indonesia (Waktu Indonesia Barat) + # 8:00 WITA central Indonesia (Waktu Indonesia Tengah) + # 8:00 CST China +-# 8:00 IDT Indochina, 1943-45, 1947-55, 1960-75 (some locations)* +-# 8:00 JWST Western Standard Time (Japan, 1896/1937)* +-# 8:30 KST KDT Korea when at +0830* +-# 9:00 JCST Central Standard Time (Japan, 1896/1937) ++# 8:30 KST KDT Korea when at +0830 + # 9:00 WIT east Indonesia (Waktu Indonesia Timur) + # 9:00 JST JDT Japan + # 9:00 KST KDT Korea when at +09 + # 9:30 ACST Australian Central Standard Time ++# Otherwise, these tables typically use numeric abbreviations like +03 ++# and +0330 for integer hour and minute UTC offsets. Although earlier ++# editions invented alphabetic time zone abbreviations for every ++# offset, this did not reflect common practice. + # + # See the 'europe' file for Russia and Turkey in Asia. + +@@ -65,7 +60,7 @@ + # Incorporates data for Singapore from Robert Elz' asia 1.1, as well as + # additional information from Tom Yap, Sun Microsystems Intercontinental + # Technical Support (including a page from the Official Airline Guide - +-# Worldwide Edition). The names for time zones are guesses. ++# Worldwide Edition). + + ############################################################################### + +@@ -80,14 +75,14 @@ + Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S + Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 - + Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 - +-Rule RussiaAsia 1985 2011 - Mar lastSun 2:00s 1:00 S +-Rule RussiaAsia 1996 2011 - Oct lastSun 2:00s 0 - ++Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 S ++Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 - + + # Afghanistan + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kabul 4:36:48 - LMT 1890 +- 4:00 - AFT 1945 +- 4:30 - AFT ++ 4:00 - +04 1945 ++ 4:30 - +0430 + + # Armenia + # From Paul Eggert (2006-03-22): +@@ -114,6 +109,9 @@ + # or + # (brief) + # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html ++# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ++Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 S ++Rule Armenia 2011 only - Oct lastSun 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 + 3:00 - +03 1957 Mar +@@ -120,7 +118,8 @@ + 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s + 3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s + 4:00 - +04 1997 +- 4:00 RussiaAsia +04/+05 ++ 4:00 RussiaAsia +04/+05 2011 ++ 4:00 Armenia +04/+05 + + # Azerbaijan + +@@ -132,7 +131,7 @@ + # From Steffen Thorsen (2016-03-17): + # ... the Azerbaijani Cabinet of Ministers has cancelled switching to + # daylight saving time.... +-# http://www.azernews.az/azerbaijan/94137.html ++# https://www.azernews.az/azerbaijan/94137.html + # http://vestnikkavkaza.net/news/Azerbaijani-Cabinet-of-Ministers-cancels-daylight-saving-time.html + # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html + +@@ -173,11 +172,11 @@ + # the 19th and 20th, and they have not set the end date yet. + # + # Some sources: +-# http://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 ++# https://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 + # http://bdnews24.com/details.php?id=85889&cid=2 + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html ++# https://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html + + # From A. N. M. Kamrus Saadat (2009-06-15): + # Finally we've got the official mail regarding DST start time where DST start +@@ -230,18 +229,17 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Dhaka 6:01:40 - LMT 1890 + 5:53:20 - HMT 1941 Oct # Howrah Mean Time? +- 6:30 - BURT 1942 May 15 # Burma Time +- 5:30 - IST 1942 Sep +- 6:30 - BURT 1951 Sep 30 +- 6:00 - DACT 1971 Mar 26 # Dacca Time +- 6:00 - BDT 2009 +- 6:00 Dhaka BD%sT ++ 6:30 - +0630 1942 May 15 ++ 5:30 - +0530 1942 Sep ++ 6:30 - +0630 1951 Sep 30 ++ 6:00 - +06 2009 ++ 6:00 Dhaka +06/+07 + + # Bhutan + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Thimphu 5:58:36 - LMT 1947 Aug 15 # or Thimbu +- 5:30 - IST 1987 Oct +- 6:00 - BTT # Bhutan Time ++ 5:30 - +0530 1987 Oct ++ 6:00 - +06 + + # British Indian Ocean Territory + # Whitman and the 1995 CIA time zone map say 5:00, but the +@@ -251,25 +249,31 @@ + # then contained the Chagos Archipelago). + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Chagos 4:49:40 - LMT 1907 +- 5:00 - IOT 1996 # BIOT Time +- 6:00 - IOT ++ 5:00 - +05 1996 ++ 6:00 - +06 + + # Brunei + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Brunei 7:39:40 - LMT 1926 Mar # Bandar Seri Begawan +- 7:30 - BNT 1933 +- 8:00 - BNT ++ 7:30 - +0730 1933 ++ 8:00 - +08 + + # Burma / Myanmar + + # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + ++# From Paul Eggert (2017-04-20): ++# Page 27 of Reed & Low (cited for Asia/Kolkata) says "Rangoon local time is ++# used upon the railways and telegraphs of Burma, and is 6h. 24m. 47s. ahead ++# of Greenwich." This refers to the period before Burma's transition to +0630, ++# a transition for which Shanks is the only source. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Yangon 6:24:40 - LMT 1880 # or Rangoon +- 6:24:40 - RMT 1920 # Rangoon Mean Time? +- 6:30 - BURT 1942 May # Burma Time +- 9:00 - JST 1945 May 3 +- 6:30 - MMT # Myanmar Time ++Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon ++ 6:24:47 - RMT 1920 # Rangoon local time ++ 6:30 - +0630 1942 May ++ 9:00 - +09 1945 May 3 ++ 6:30 - +0630 + + # Cambodia + # See Asia/Bangkok. +@@ -323,7 +327,7 @@ + # + # From Jesper Nørgaard Welen (2006-07-14): + # I have investigated the timezones around 1970 on the +-# http://www.astro.com/atlas site [with provinces and county ++# https://www.astro.com/atlas site [with provinces and county + # boundaries summarized below].... A few other exceptions were two + # counties on the Sichuan side of the Xizang-Sichuan border, + # counties Dege and Baiyu which lies on the Sichuan side and are +@@ -332,7 +336,7 @@ + # (could be true), for the moment I am assuming that those two + # counties are mistakes in the astro.com data. + +-# From Paul Eggert (2014-06-30): ++# From Paul Eggert (2017-01-05): + # Alois Treindl kindly sent me translations of the following two sources: + # + # (1) +@@ -390,28 +394,26 @@ + # mainly observed in coastal areas), the five zones were: + # + # Changbai Time ("Long-white Time", Long-white = Heilongjiang area) UT +08:30 +-# Asia/Harbin (currently a link to Asia/Shanghai) ++# Now part of Asia/Shanghai; its pre-1970 times are not recorded here. + # Heilongjiang (except Mohe county), Jilin + # + # Zhongyuan Time ("Central plain Time") UT +08 +-# Asia/Shanghai ++# Now part of Asia/Shanghai. + # most of China +-# This currently represents most other zones as well, +-# as apparently these regions have been the same since 1970. + # Milne gives 8:05:43.2 for Xujiahui Observatory time; round to nearest. + # Guo says Shanghai switched to UT +08 "from the end of the 19th century". + # +-# Long-shu Time (probably due to Long and Shu being two names of the area) UT +07 +-# Asia/Chongqing (currently a link to Asia/Shanghai) ++# Long-shu Time (probably as Long and Shu were two names of the area) UT +07 ++# Now part of Asia/Shanghai; its pre-1970 times are not recorded here. + # Guangxi, Guizhou, Hainan, Ningxia, Sichuan, Shaanxi, and Yunnan; +-# most of Gansu; west Inner Mongolia; west Qinghai; and the Guangdong ++# most of Gansu; west Inner Mongolia; east Qinghai; and the Guangdong + # counties Deqing, Enping, Kaiping, Luoding, Taishan, Xinxing, + # Yangchun, Yangjiang, Yu'nan, and Yunfu. + # + # Xin-zang Time ("Xinjiang-Tibet Time") UT +06 +-# Asia/Urumqi +-# This currently represents Kunlun Time as well, +-# as apparently the two regions have been the same since 1970. ++# This region is now part of either Asia/Urumqi or Asia/Shanghai with ++# current boundaries uncertain; times before 1970 for areas that ++# disagree with Ürümqi or Shanghai are not recorded here. + # The Gansu counties Aksay, Anxi, Dunhuang, Subei; west Qinghai; + # the Guangdong counties Xuwen, Haikang, Suixi, Lianjiang, + # Zhanjiang, Wuchuan, Huazhou, Gaozhou, Maoming, Dianbai, and Xinyi; +@@ -422,7 +424,7 @@ + # Fukang, Kuitun, Kumukuli, Miquan, Qitai, and Turfan. + # + # Kunlun Time UT +05:30 +-# Asia/Kashgar (currently a link to Asia/Urumqi) ++# This region is now in the same status as Xin-zang Time (see above). + # West Tibet, including Pulan, Aheqi, Shufu, Shule; + # West Xinjiang, including Aksu, Atushi, Yining, Hetian, Cele, Luopu, Nileke, + # Zhaosu, Tekesi, Gongliu, Chabuchaer, Huocheng, Bole, Pishan, Suiding, +@@ -477,7 +479,7 @@ + + # From David Cochrane (2014-03-26): + # Just a confirmation that Ürümqi time was implemented in Ürümqi on 1 Feb 1986: +-# http://content.time.com/time/magazine/article/0,9171,960684,00.html ++# https://content.time.com/time/magazine/article/0,9171,960684,00.html + + # From Luther Ma (2014-04-22): + # I have interviewed numerous people of various nationalities and from +@@ -523,7 +525,7 @@ + # Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi + # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.) + Zone Asia/Urumqi 5:50:20 - LMT 1928 +- 6:00 - XJT ++ 6:00 - +06 + + + # Hong Kong (Xianggang) +@@ -634,7 +636,7 @@ + # (both in Okinawa) adopt the Western Standard Time which is based on + # 120E. The adoption began from Jan 1, 1896. The original text can be + # found on Wikisource: +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # ... This could be the first adoption of time zone in Taiwan, because + # during the Qing Dynasty, it seems that there was no time zone + # declared officially. +@@ -647,7 +649,7 @@ + # territory, including later occupations, adopt Japan Central Time + # (UTC+9). The adoption began on Oct 1, 1937. The original text can + # be found on Wikisource: +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + # + # That is, the time zone of Taipei switched to UTC+9 on Oct 1, 1937. + +@@ -742,30 +744,29 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + # Taipei or Taibei or T'ai-pei + Zone Asia/Taipei 8:06:00 - LMT 1896 Jan 1 +- 8:00 - JWST 1937 Oct 1 ++ 8:00 - CST 1937 Oct 1 + 9:00 - JST 1945 Sep 21 1:00 + 8:00 Taiwan C%sT + + # Macau (Macao, Aomen) + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Macau 1961 1962 - Mar Sun>=16 3:30 1:00 S +-Rule Macau 1961 1964 - Nov Sun>=1 3:30 0 - +-Rule Macau 1963 only - Mar Sun>=16 0:00 1:00 S +-Rule Macau 1964 only - Mar Sun>=16 3:30 1:00 S +-Rule Macau 1965 only - Mar Sun>=16 0:00 1:00 S +-Rule Macau 1965 only - Oct 31 0:00 0 - +-Rule Macau 1966 1971 - Apr Sun>=16 3:30 1:00 S +-Rule Macau 1966 1971 - Oct Sun>=16 3:30 0 - +-Rule Macau 1972 1974 - Apr Sun>=15 0:00 1:00 S +-Rule Macau 1972 1973 - Oct Sun>=15 0:00 0 - +-Rule Macau 1974 1977 - Oct Sun>=15 3:30 0 - +-Rule Macau 1975 1977 - Apr Sun>=15 3:30 1:00 S +-Rule Macau 1978 1980 - Apr Sun>=15 0:00 1:00 S +-Rule Macau 1978 1980 - Oct Sun>=15 0:00 0 - ++Rule Macau 1961 1962 - Mar Sun>=16 3:30 1:00 D ++Rule Macau 1961 1964 - Nov Sun>=1 3:30 0 S ++Rule Macau 1963 only - Mar Sun>=16 0:00 1:00 D ++Rule Macau 1964 only - Mar Sun>=16 3:30 1:00 D ++Rule Macau 1965 only - Mar Sun>=16 0:00 1:00 D ++Rule Macau 1965 only - Oct 31 0:00 0 S ++Rule Macau 1966 1971 - Apr Sun>=16 3:30 1:00 D ++Rule Macau 1966 1971 - Oct Sun>=16 3:30 0 S ++Rule Macau 1972 1974 - Apr Sun>=15 0:00 1:00 D ++Rule Macau 1972 1973 - Oct Sun>=15 0:00 0 S ++Rule Macau 1974 1977 - Oct Sun>=15 3:30 0 S ++Rule Macau 1975 1977 - Apr Sun>=15 3:30 1:00 D ++Rule Macau 1978 1980 - Apr Sun>=15 0:00 1:00 D ++Rule Macau 1978 1980 - Oct Sun>=15 0:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Macau 7:34:20 - LMT 1912 Jan 1 +- 8:00 Macau MO%sT 1999 Dec 20 # return to China +- 8:00 PRC C%sT ++ 8:00 Macau C%sT + + + ############################################################################### +@@ -784,6 +785,12 @@ + # Looks like the time zone split in Cyprus went through last night. + # http://cyprus-mail.com/2016/10/30/cyprus-new-division-two-time-zones-now-reality/ + ++# From Paul Eggert (2017-10-18): ++# Northern Cyprus will reinstate winter time on October 29, thus ++# staying in sync with the rest of Cyprus. See: Anastasiou A. ++# Cyprus to remain united in time. Cyprus Mail 2017-10-17. ++# https://cyprus-mail.com/2017/10/17/cyprus-remain-united-time/ ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Cyprus 1975 only - Apr 13 0:00 1:00 S + Rule Cyprus 1975 only - Oct 12 0:00 0 - +@@ -801,7 +808,8 @@ + Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14 + 2:00 Cyprus EE%sT 1998 Sep + 2:00 EUAsia EE%sT 2016 Sep 8 +- 3:00 - +03 ++ 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. +@@ -861,7 +869,7 @@ + + # From João Carrascalão, brother of the former governor of East Timor, in + # East Timor may be late for its millennium +-# (1999-12-26/31): ++# (1999-12-26/31): + # Portugal tried to change the time forward in 1974 because the sun + # rises too early but the suggestion raised a lot of problems with the + # Timorese and I still don't think it would work today because it +@@ -881,16 +889,15 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1 +- 8:00 - TLT 1942 Feb 21 23:00 # E Timor Time +- 9:00 - JST 1945 Sep 23 +- 9:00 - TLT 1976 May 3 +- 8:00 - WITA 2000 Sep 17 0:00 +- 9:00 - TLT ++ 8:00 - +08 1942 Feb 21 23:00 ++ 9:00 - +09 1976 May 3 ++ 8:00 - +08 2000 Sep 17 0:00 ++ 9:00 - +09 + + # India + + # From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic +-# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ ++# https://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ + # (2015-12-22): + # In January 1906, several thousand cotton-mill workers rioted on the + # outskirts of Bombay.... They were protesting the proposed abolition of +@@ -897,14 +904,55 @@ + # local time in favor of Indian Standard Time.... Journalists called this + # dispute the "Battle of the Clocks." It lasted nearly half a century. + ++# From Paul Eggert (2017-04-20): ++# Good luck trying to nail down old timekeeping records in India. ++# "... in the nineteenth century ... Madras Observatory took its magnetic ++# measurements on Göttingen time, its meteorological measurements on Madras ++# (local) time, dropped its time ball on Greenwich (ocean navigator's) time, ++# and distributed civil (local time)." -- Bartky IR. Selling the true time: ++# 19th-century timekeeping in america. Stanford U Press (2000), 247 note 19. ++# "A more potent cause of resistance to the general adoption of the present ++# standard time lies in the fact that it is Madras time. The citizen of ++# Bombay, proud of being 'primus in Indis' and of Calcutta, equally proud of ++# his city being the Capital of India, and - for a part of the year - the Seat ++# of the Supreme Government, alike look down on Madras, and refuse to change ++# the time they are using, for that of what they regard as a benighted ++# Presidency; while Madras, having for long given the standard time to the ++# rest of India, would resist the adoption of any other Indian standard in its ++# place." -- Oldham RD. On Time in India: a suggestion for its improvement. ++# Proceedings of the Asiatic Society of Bengal (April 1899), 49-55. ++# ++# "In 1870 ... Madras time - 'now used by the telegraph and regulated from the ++# only government observatory' - was suggested as a standard railway time, ++# first to be adopted on the Great Indian Peninsular Railway (GIPR).... ++# Calcutta, Bombay, and Karachi, were to be allowed to continue with their ++# local time for civil purposes." - Prasad R. Tracks of Change: Railways and ++# Everyday Life in Colonial India. Cambridge University Press (2016), 145. ++# ++# Reed S, Low F. The Indian Year Book 1936-37. Bennett, Coleman, pp 27-8. ++# https://archive.org/details/in.ernet.dli.2015.282212 ++# This lists +052110 as Madras local time used in railways, and says that on ++# 1906-01-01 railways and telegraphs in India switched to +0530. Some ++# municipalities retained their former time, and the time in Calcutta ++# continued to depend on whether you were at the railway station or at ++# government offices. Government time was at +055320 (according to Shanks) or ++# at +0554 (according to the Indian Year Book). Railway time is more ++# appropriate for our purposes, as it was better documented, it is what we do ++# elsewhere (e.g., Europe/London before 1880), and after 1906 it was ++# consistent in the region now identified by Asia/Kolkata. So, use railway ++# time for 1870-1941. Shanks is our only (and dubious) source for the ++# 1941-1945 data. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata +- 5:53:20 - HMT 1941 Oct # Howrah Mean Time? +- 6:30 - BURT 1942 May 15 # Burma Time ++Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata ++ 5:53:20 - HMT 1870 # Howrah Mean Time? ++ 5:21:10 - MMT 1906 Jan 1 # Madras local time ++ 5:30 - IST 1941 Oct ++ 5:30 1:00 +0630 1942 May 15 + 5:30 - IST 1942 Sep +- 5:30 1:00 IST 1945 Oct 15 ++ 5:30 1:00 +0630 1945 Oct 15 + 5:30 - IST +-# The following are like Asia/Kolkata: ++# Since 1970 the following are like Asia/Kolkata: + # Andaman Is + # Lakshadweep (Laccadive, Minicoy and Amindivi Is) + # Nicobar Is +@@ -953,33 +1001,33 @@ + # Shanks & Pottenger say the next transition was at 1924 Jan 1 0:13, + # but this must be a typo. + 7:07:12 - BMT 1923 Dec 31 23:47:12 # Batavia +- 7:20 - JAVT 1932 Nov # Java Time +- 7:30 - WIB 1942 Mar 23 +- 9:00 - JST 1945 Sep 23 +- 7:30 - WIB 1948 May +- 8:00 - WIB 1950 May +- 7:30 - WIB 1964 ++ 7:20 - +0720 1932 Nov ++ 7:30 - +0730 1942 Mar 23 ++ 9:00 - +09 1945 Sep 23 ++ 7:30 - +0730 1948 May ++ 8:00 - +08 1950 May ++ 7:30 - +0730 1964 + 7:00 - WIB + # west and central Borneo + Zone Asia/Pontianak 7:17:20 - LMT 1908 May + 7:17:20 - PMT 1932 Nov # Pontianak MT +- 7:30 - WIB 1942 Jan 29 +- 9:00 - JST 1945 Sep 23 +- 7:30 - WIB 1948 May +- 8:00 - WIB 1950 May +- 7:30 - WIB 1964 ++ 7:30 - +0730 1942 Jan 29 ++ 9:00 - +09 1945 Sep 23 ++ 7:30 - +0730 1948 May ++ 8:00 - +08 1950 May ++ 7:30 - +0730 1964 + 8:00 - WITA 1988 Jan 1 + 7:00 - WIB + # Sulawesi, Lesser Sundas, east and south Borneo + Zone Asia/Makassar 7:57:36 - LMT 1920 + 7:57:36 - MMT 1932 Nov # Macassar MT +- 8:00 - WITA 1942 Feb 9 +- 9:00 - JST 1945 Sep 23 ++ 8:00 - +08 1942 Feb 9 ++ 9:00 - +09 1945 Sep 23 + 8:00 - WITA + # Maluku Islands, West Papua, Papua + Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov +- 9:00 - WIT 1944 Sep 1 +- 9:30 - ACST 1964 ++ 9:00 - +09 1944 Sep 1 ++ 9:30 - +0930 1964 + 9:00 - WIT + + # Iran +@@ -1011,8 +1059,6 @@ + # for at least the last 5 years. Before that, for a few years, the + # date used was the first Thursday night of Farvardin and the last + # Thursday night of Shahrivar, but I can't give exact dates.... +-# I have also changed the abbreviations to what is considered correct +-# here in Iran, IRST for regular time and IRDT for daylight saving time. + # + # From Roozbeh Pournader (2005-04-05): + # The text of the Iranian law, in effect since 1925, clearly mentions +@@ -1048,7 +1094,7 @@ + # From Reuters (2007-09-16), with a heads-up from Jesper Nørgaard Welen: + # ... the Guardian Council ... approved a law on Sunday to re-introduce + # daylight saving time ... +-# http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 ++# https://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 + # + # From Roozbeh Pournader (2007-11-05): + # This is quoted from Official Gazette of the Islamic Republic of +@@ -1119,9 +1165,9 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Tehran 3:25:44 - LMT 1916 + 3:25:44 - TMT 1946 # Tehran Mean Time +- 3:30 - IRST 1977 Nov +- 4:00 Iran IR%sT 1979 +- 3:30 Iran IR%sT ++ 3:30 - +0330 1977 Nov ++ 4:00 Iran +04/+05 1979 ++ 3:30 Iran +0330/+0430 + + + # Iraq +@@ -1147,7 +1193,7 @@ + # http://www.aswataliraq.info/look/article.tpl?id=2047&IdLanguage=17&IdPublication=4&NrArticle=71743&NrIssue=1&NrSection=10 + # + # We have published a short article in English about the change: +-# http://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html ++# https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Iraq 1982 only - May 1 0:00 1:00 D +@@ -1164,8 +1210,8 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Baghdad 2:57:40 - LMT 1890 + 2:57:36 - BMT 1918 # Baghdad Mean Time? +- 3:00 - AST 1982 May +- 3:00 Iraq A%sT ++ 3:00 - +03 1982 May ++ 3:00 Iraq +03/+04 + + + ############################################################################### +@@ -1455,17 +1501,15 @@ + # From Yu-Cheng Chuang (2013-07-12): + # ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause + # about standard time" ... The adoption began from Jan 1, 1896. +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # + # ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which + # means the whole Japan territory, including later occupations, adopt Japan + # Central Time (UTC+9). The adoption began on Oct 1, 1937. +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u +- 9:00 - JST 1896 Jan 1 +- 9:00 - JCST 1937 Oct 1 + 9:00 Japan J%sT + # Since 1938, all Japanese possessions have been like Asia/Tokyo. + +@@ -1524,7 +1568,7 @@ + # Official, in Arabic: + # http://www.petra.gov.jo/public_news/Nws_NewsDetails.aspx?Menu_ID=&Site_Id=2&lang=1&NewsID=133230&CatID=14 + # ... Our background/permalink about it +-# http://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html ++# https://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html + # ... + # http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?lang=2&site_id=1&NewsID=133313&Type=P + # ... says midnight for the coming one and 1:00 for the ones in the future +@@ -1583,12 +1627,12 @@ + # was "blended" with the Central zone. Therefore, Kazakhstan now has + # two time zones, and difference between them is one hour. The zone + # closer to UTC is the former Western zone (probably still called the +-# same), encompassing four provinces in the west: Aqtobe, Atyrau, +-# Mangghystau, and West Kazakhstan. The other zone encompasses ++# same), encompassing four provinces in the west: Aqtöbe, Atyraū, ++# Mangghystaū, and West Kazakhstan. The other zone encompasses + # everything else.... I guess that would make Kazakhstan time zones + # de jure UTC+5 and UTC+6 respectively. + +-# From Stepan Golosunov (2016-03-27) ([*] means see later comments below): ++# From Stepan Golosunov (2016-03-27): + # Review of the linked documents from http://adilet.zan.kz/ + # produced the following data for post-1991 Kazakhstan: + # +@@ -1634,7 +1678,7 @@ + # + # This implies that on 1991-03-31 Asia/Oral remained on +04/+05 while + # the rest of Kazakhstan switched from +06/+07 to +05/06 or from +05/06 +-# to +04/+05. It's unclear how Kzyl-Orda oblast moved into the fifth ++# to +04/+05. It's unclear how Qyzylorda oblast moved into the fifth + # time belt. (By switching from +04/+05 to +05/+06 on 1991-09-29?) ... + # + # 1. Act of the Cabinet of Ministers of the Republic of Kazakhstan +@@ -1647,18 +1691,18 @@ + # on the whole territory of Kazakhstan 1 hour forward on 1992-01-19 at + # 2:00, specified DST rules. It acknowledged that Kazakhstan was + # located in the fourth and the fifth time belts and specified the +-# border between them to be located east of Kustanay and Aktyubinsk +-# oblasts (notably including Turgai and Kzyl-Orda oblasts into the fifth ++# border between them to be located east of Qostanay and Aktyubinsk ++# oblasts (notably including Turgai and Qyzylorda oblasts into the fifth + # time belt). + # + # This means switch on 1992-01-19 at 2:00 from +04/+05 to +05/+06 for +-# Asia/Aqtau, Asia/Aqtobe, Asia/Oral, Atyrau and Kustanay oblasts; from +-# +05/+06 to +06/+07 for Asia/Almaty and Asia/Qyzylorda (and Arkalyk) [*].... ++# Asia/Aqtau, Asia/Aqtobe, Asia/Oral, Atyraū and Qostanay oblasts; from ++# +05/+06 to +06/+07 for Asia/Almaty and Asia/Qyzylorda (and Arkalyk).... + # + # 2. Act of the Cabinet of Ministers of the Republic of Kazakhstan + # from 1992-03-27 No. 284 + # http://adilet.zan.kz/rus/docs/P920000284_ +-# cancels extra hour ("decree time") for Uralsk and Kzyl-Orda oblasts ++# cancels extra hour ("decree time") for Uralsk and Qyzylorda oblasts + # since the last Sunday of March 1992, while keeping them in the fourth + # and the fifth time belts respectively. + # +@@ -1665,7 +1709,7 @@ + # 3. Order of the Prime Minister of the Republic of Kazakhstan + # from 1994-09-23 No. 384 + # http://adilet.zan.kz/rus/docs/R940000384_ +-# cancels the extra hour ("decree time") on the territory of Mangystau ++# cancels the extra hour ("decree time") on the territory of Mangghystaū + # oblast since the last Sunday of September 1994 (saying that time on + # the territory would correspond to the third time belt as a + # result).... +@@ -1679,15 +1723,12 @@ + # 5. Act of the Government of the Republic of Kazakhstan + # from 1999-03-26 No. 305 + # http://adilet.zan.kz/rus/docs/P990000305_ +-# cancels the extra hour ("decree time") for Atyrau oblast since the ++# cancels the extra hour ("decree time") for Atyraū oblast since the + # last Sunday of March 1999 while retaining the oblast in the fourth + # time belt. + # +-# This means change from +05/+06 to +04/+05. ++# This means change from +05/+06 to +04/+05.... + # +-# There is no zone for Atyrau currently (listed under Asia/Aqtau in +-# zone1970.tab).[*] +-# + # 6. Act of the Government of the Republic of Kazakhstan + # from 2000-11-23 No. 1749 + # http://adilet.zan.kz/rus/archive/docs/P000001749_/23.11.2000 +@@ -1696,10 +1737,10 @@ + # The only changes I noticed are in definition of the border between the + # fourth and the fifth time belts. They account for changes in spelling + # and administrative division (splitting of Turgai oblast in 1997 +-# probably changed time in territories incorporated into Kostanay oblast +-# (including Arkalyk) from +06/+07 to +05/+06) and move Kyzylorda oblast ++# probably changed time in territories incorporated into Qostanay oblast ++# (including Arkalyk) from +06/+07 to +05/+06) and move Qyzylorda oblast + # from being in the fifth time belt and not using decree time into the +-# fourth time belt (no change in practice).[*] ++# fourth time belt (no change in practice). + # + # 7. Act of the Government of the Republic of Kazakhstan + # from 2003-12-29 No. 1342 +@@ -1709,7 +1750,7 @@ + # 8. Act of the Government of the Republic of Kazakhstan + # from 2004-07-20 No. 775 + # http://adilet.zan.kz/rus/archive/docs/P040000775_/20.07.2004 +-# modified the 2000-11-23 act to move Kostanay and Kyzylorda oblasts into ++# modified the 2000-11-23 act to move Qostanay and Qyzylorda oblasts into + # the fifth time belt and add Aktobe oblast to the list of regions not + # using extra hour ("decree time"), leaving Kazakhstan with only 2 time + # zones (+04/+05 and +06/+07). The changes were to be implemented +@@ -1721,14 +1762,14 @@ + # http://adilet.zan.kz/rus/docs/P040001059_ + # modified the 2000-11-23 act to remove exceptions from the "decree time" + # (leaving Kazakhstan in +05/+06 and +06/+07 zones), amended the +-# 2004-07-20 act to implement changes for Atyrau, West Kazakhstan, +-# Kostanay, Kyzylorda and Mangystau oblasts by not moving clocks +-# during the 2014 transition to "winter" time. ++# 2004-07-20 act to implement changes for Atyraū, West Kazakhstan, ++# Qostanay, Qyzylorda and Mangghystaū oblasts by not moving clocks ++# during the 2004 transition to "winter" time. + # +-# This means transition from +04/+05 to +05/+06 for Atyrau oblast (no ++# This means transition from +04/+05 to +05/+06 for Atyraū oblast (no + # zone currently), Asia/Oral, Asia/Aqtau and transition from +05/+06 to +-# +06/+07 for Kostanay oblast (Kostanay and Arkalyk, no zones currently) +-# and Asia/Qyzylorda on 2004-10-31 at 3:00....[*] ++# +06/+07 for Qostanay oblast (Qostanay and Arkalyk, no zones currently) ++# and Asia/Qyzylorda on 2004-10-31 at 3:00.... + # + # 10. Act of the Government of the Republic of Kazakhstan + # from 2005-03-15 No. 231 +@@ -1744,14 +1785,25 @@ + # Kazakh 1992-01-13 act appears to provide the same rules and 1992-03-27 + # act was to be enacted on the last Sunday of March 1992. + +-# From Paul Eggert (2016-04-15): +-# The tables below should reflect Stepan Golosunov's remarks above, +-# except for the items marked "[*]" which I haven't gotten to yet. +-# It looks like we will need new zones Asia/Atyrau and Asia/Qostanay +-# to handle changes from 1992 through 2004 that we did not previously +-# know about. ++# From Stepan Golosunov (2016-11-08): ++# Turgai reorganization should affect only southern part of Qostanay ++# oblast. Which should probably be separated into Asia/Arkalyk zone. ++# (There were also 1970, 1988 and 1990 Turgai oblast reorganizations ++# according to wikipedia.) ++# ++# [For Qostanay] http://www.ng.kz/gazeta/195/hranit/ ++# suggests that clocks were to be moved 40 minutes backwards on ++# 1920-01-01 to the fourth time belt. But I do not understand ++# how that could happen.... ++# ++# [For Atyrau and Oral] 1919 decree ++# (http://www.worldtimezone.com/dst_news/dst_news_russia-1919-02-08.html ++# and in Byalokoz) lists Ural river (plus 10 versts on its left bank) in ++# the third time belt (before 1930 this means +03). + +-# ++# From Paul Eggert (2016-12-06): ++# The tables below reflect Golosunov's remarks, with exceptions as noted. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + # + # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan +@@ -1764,6 +1816,8 @@ + 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s + 6:00 - +06 + # Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY) ++# This currently includes Qostanay (aka Kostanay, Kustanay) (KZ-KUS); ++# see comments below. + Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 + 4:00 - +04 1930 Jun 21 + 5:00 - +05 1981 Apr 1 +@@ -1775,7 +1829,21 @@ + 6:00 RussiaAsia +06/+07 1992 Mar 29 2:00s + 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + 6:00 - +06 +-# Aqtobe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) ++# The following zone is like Asia/Qyzylorda except for being one ++# hour earlier from 1991-09-29 to 1992-03-29. The 1991/2 rules for ++# Qostanay are unclear partly because of the 1997 Turgai ++# reorganization, so this zone is commented out for now. ++#Zone Asia/Qostanay 4:14:20 - LMT 1924 May 2 ++# 4:00 - +04 1930 Jun 21 ++# 5:00 - +05 1981 Apr 1 ++# 5:00 1:00 +06 1981 Oct 1 ++# 6:00 - +06 1982 Apr 1 ++# 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s ++# 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s ++# 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s ++# 6:00 - +06 ++# ++# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) + Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 + 4:00 - +04 1930 Jun 21 + 5:00 - +05 1981 Apr 1 +@@ -1785,14 +1853,11 @@ + 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s + 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + 5:00 - +05 +-# Qostanay (KZ-KUS) +- +-# Mangghystau (KZ-MAN) ++# Mangghystaū (KZ-MAN) + # Aqtau was not founded until 1963, but it represents an inhabited region, + # so include time stamps before 1963. + Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 + 4:00 - +04 1930 Jun 21 +- 5:00 - +05 1963 + 5:00 - +05 1981 Oct 1 + 6:00 - +06 1982 Apr 1 + 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s +@@ -1800,12 +1865,22 @@ + 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s + 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + 5:00 - +05 +- ++# Atyraū (KZ-ATY) is like Mangghystaū except it switched from ++# +04/+05 to +05/+06 in spring 1999, not fall 1994. ++Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 ++ 3:00 - +03 1930 Jun 21 ++ 5:00 - +05 1981 Oct 1 ++ 6:00 - +06 1982 Apr 1 ++ 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s ++ 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s ++ 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s ++ 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s ++ 5:00 - +05 + # West Kazakhstan (KZ-ZAP) + # From Paul Eggert (2016-03-18): + # The 1989 transition is from USSR act No. 227 (1989-03-14). + Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk +- 4:00 - +04 1930 Jun 21 ++ 3:00 - +03 1930 Jun 21 + 5:00 - +05 1981 Apr 1 + 5:00 1:00 +06 1981 Oct 1 + 6:00 - +06 1982 Apr 1 +@@ -1851,9 +1926,9 @@ + # between 1987 and 1988 ... + + # From Sanghyuk Jung (2014-10-29): +-# http://mm.icann.org/pipermail/tz/2014-October/021830.html ++# https://mm.icann.org/pipermail/tz/2014-October/021830.html + # According to the Korean Wikipedia +-# http://ko.wikipedia.org/wiki/한국_표준시 ++# https://ko.wikipedia.org/wiki/한국_표준시 + # [oldid=12896437 2014-09-04 08:03 UTC] + # DST in Republic of Korea was as follows.... And I checked old + # newspapers in Korean, all articles correspond with data in Wikipedia. +@@ -1911,7 +1986,6 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1 + 8:30 - KST 1912 Jan 1 +- 9:00 - JCST 1937 Oct 1 + 9:00 - JST 1945 Sep 8 + 9:00 - KST 1954 Mar 21 + 8:30 ROK K%sT 1961 Aug 10 +@@ -1918,7 +1992,6 @@ + 9:00 ROK K%sT + Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1 + 8:30 - KST 1912 Jan 1 +- 9:00 - JCST 1937 Oct 1 + 9:00 - JST 1945 Aug 24 + 9:00 - KST 2015 Aug 15 00:00 + 8:30 - KST +@@ -1973,13 +2046,13 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1 + 6:55:25 - SMT 1905 Jun 1 # Singapore M.T. +- 7:00 - MALT 1933 Jan 1 # Malaya Time +- 7:00 0:20 MALST 1936 Jan 1 +- 7:20 - MALT 1941 Sep 1 +- 7:30 - MALT 1942 Feb 16 +- 9:00 - JST 1945 Sep 12 +- 7:30 - MALT 1982 Jan 1 +- 8:00 - MYT # Malaysia Time ++ 7:00 - +07 1933 Jan 1 ++ 7:00 0:20 +0720 1936 Jan 1 ++ 7:20 - +0720 1941 Sep 1 ++ 7:30 - +0730 1942 Feb 16 ++ 9:00 - +09 1945 Sep 12 ++ 7:30 - +0730 1982 Jan 1 ++ 8:00 - +08 + # Sabah & Sarawak + # From Paul Eggert (2014-08-12): + # The data entries here are mostly from Shanks & Pottenger, but the 1942, 1945 +@@ -1986,17 +2059,16 @@ + # and 1982 transition dates are from Mok Ly Yng. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kuching 7:21:20 - LMT 1926 Mar +- 7:30 - BORT 1933 # Borneo Time +- 8:00 NBorneo BOR%sT 1942 Feb 16 +- 9:00 - JST 1945 Sep 12 +- 8:00 - BORT 1982 Jan 1 +- 8:00 - MYT ++ 7:30 - +0730 1933 ++ 8:00 NBorneo +08/+0820 1942 Feb 16 ++ 9:00 - +09 1945 Sep 12 ++ 8:00 - +08 + + # Maldives + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Maldives 4:54:00 - LMT 1880 # Male + 4:54:00 - MMT 1960 # Male Mean Time +- 5:00 - MVT # Maldives Time ++ 5:00 - +05 + + # Mongolia + +@@ -2078,7 +2150,7 @@ + # +08:00 instead. Different sources appear to disagree with the tz + # database on this, e.g.: + # +-# http://www.timeanddate.com/worldclock/city.html?n=1026 ++# https://www.timeanddate.com/worldclock/city.html?n=1026 + # http://www.worldtimeserver.com/current_time_in_MN.aspx + # + # both say GMT+08:00. +@@ -2123,6 +2195,10 @@ + # correction of 02:00 (in the previous edition) not being done correctly + # in the latest edition; so ignore it for now. + ++# From Ganbold Tsagaankhuu (2017-02-09): ++# Mongolian Government meeting has concluded today to cancel daylight ++# saving time adoption in Mongolia. Source: http://zasag.mn/news/view/16192 ++ + Rule Mongol 1985 1998 - Mar lastSun 0:00 1:00 S + Rule Mongol 1984 1998 - Sep lastSun 0:00 0 - + # IATA SSIM (1999-09) says Mongolia no longer observes DST. +@@ -2129,31 +2205,31 @@ + Rule Mongol 2001 only - Apr lastSat 2:00 1:00 S + Rule Mongol 2001 2006 - Sep lastSat 2:00 0 - + Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 S +-Rule Mongol 2015 max - Mar lastSat 2:00 1:00 S +-Rule Mongol 2015 max - Sep lastSat 0:00 0 - ++Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 S ++Rule Mongol 2015 2016 - Sep lastSat 0:00 0 - + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + # Hovd, a.k.a. Chovd, Dund-Us, Dzhargalant, Khovd, Jirgalanta + Zone Asia/Hovd 6:06:36 - LMT 1905 Aug +- 6:00 - HOVT 1978 # Hovd Time +- 7:00 Mongol HOV%sT ++ 6:00 - +06 1978 ++ 7:00 Mongol +07/+08 + # Ulaanbaatar, a.k.a. Ulan Bataar, Ulan Bator, Urga + Zone Asia/Ulaanbaatar 7:07:32 - LMT 1905 Aug +- 7:00 - ULAT 1978 # Ulaanbaatar Time +- 8:00 Mongol ULA%sT ++ 7:00 - +07 1978 ++ 8:00 Mongol +08/+09 + # Choibalsan, a.k.a. Bajan Tümen, Bajan Tumen, Chojbalsan, + # Choybalsan, Sanbejse, Tchoibalsan + Zone Asia/Choibalsan 7:38:00 - LMT 1905 Aug +- 7:00 - ULAT 1978 +- 8:00 - ULAT 1983 Apr +- 9:00 Mongol CHO%sT 2008 Mar 31 # Choibalsan Time +- 8:00 Mongol CHO%sT ++ 7:00 - +07 1978 ++ 8:00 - +08 1983 Apr ++ 9:00 Mongol +09/+10 2008 Mar 31 ++ 8:00 Mongol +08/+09 + + # Nepal + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kathmandu 5:41:16 - LMT 1920 +- 5:30 - IST 1986 +- 5:45 - NPT # Nepal Time ++ 5:30 - +0530 1986 ++ 5:45 - +0545 + + # Oman + # See Asia/Dubai. +@@ -2204,7 +2280,7 @@ + # help reduce load shedding by approving the closure of commercial centres at + # 9pm and moving clocks forward by one hour for the next three months. ...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html ++# http://www.worldtimezone.com/dst_news/dst_news_pakistan01.html + # http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4 + + # From Arthur David Olson (2008-05-19): +@@ -2270,7 +2346,7 @@ + # + # We have confirmed this year's end date with both with the Ministry of + # Water and Power and the Pakistan Electric Power Company: +-# http://www.timeanddate.com/news/time/pakistan-ends-dst09.html ++# https://www.timeanddate.com/news/time/pakistan-ends-dst09.html + + # From Christoph Göhre (2009-10-01): + # [T]he German Consulate General in Karachi reported me today that Pakistan +@@ -2302,10 +2378,10 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Karachi 4:28:12 - LMT 1907 +- 5:30 - IST 1942 Sep +- 5:30 1:00 IST 1945 Oct 15 +- 5:30 - IST 1951 Sep 30 +- 5:00 - KART 1971 Mar 26 # Karachi Time ++ 5:30 - +0530 1942 Sep ++ 5:30 1:00 +0630 1945 Oct 15 ++ 5:30 - +0530 1951 Sep 30 ++ 5:00 - +05 1971 Mar 26 + 5:00 Pakistan PK%sT # Pakistan Time + + # Palestine +@@ -2452,7 +2528,7 @@ + # + # We are not sure if Gaza will do the same, last year they had a different + # end date, we will keep this page updated: +-# http://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html ++# https://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html + + # From Alexander Krivenyshev (2009-09-02): + # Seems that Gaza Strip will go back to Winter Time same date as West Bank. +@@ -2490,7 +2566,7 @@ + # the clocks were set back one hour at 2010-08-11 00:00:00 local time in + # Gaza and the West Bank. + # Some more background info: +-# http://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html ++# https://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html + + # From Steffen Thorsen (2011-08-26): + # Gaza and the West Bank did go back to standard time in the beginning of +@@ -2500,7 +2576,7 @@ + # + # http://www.maannews.net/eng/ViewDetails.aspx?ID=416217 + # Additional info: +-# http://www.timeanddate.com/news/time/palestine-dst-2011.html ++# https://www.timeanddate.com/news/time/palestine-dst-2011.html + + # From Alexander Krivenyshev (2011-08-27): + # According to the article in The Jerusalem Post: +@@ -2510,7 +2586,7 @@ + # The Hamas government said on Saturday that it won't observe summertime after + # the Muslim feast of Id al-Fitr, which begins on Tuesday..." + # ... +-# http://www.jpost.com/MiddleEast/Article.aspx?id=235650 ++# https://www.jpost.com/MiddleEast/Article.aspx?id=235650 + # http://www.worldtimezone.com/dst_news/dst_news_gazastrip05.html + # The rules for Egypt are stolen from the 'africa' file. + +@@ -2531,7 +2607,7 @@ + # http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html ++# https://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html + + # From Steffen Thorsen (2013-03-26): + # The following news sources tells that Palestine will "start daylight saving +@@ -2551,11 +2627,11 @@ + + # From Steffen Thorsen (2015-03-03): + # Sources such as http://www.alquds.com/news/article/view/id/548257 +-# and http://www.raya.ps/ar/news/890705.html say Palestine areas will ++# and https://www.raya.ps/ar/news/890705.html say Palestine areas will + # start DST on 2015-03-28 00:00 which is one day later than expected. + # + # From Paul Eggert (2015-03-03): +-# http://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 ++# https://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 + # says that the fall 2014 transition was Oct 23 at 24:00. + + # From Hannah Kreitem (2016-03-09): +@@ -2579,8 +2655,8 @@ + # + # From Paul Eggert (2016-10-19): + # It's also consistent with predictions in the following URLs today: +-# http://www.timeanddate.com/time/change/gaza-strip/gaza +-# http://www.timeanddate.com/time/change/west-bank/hebron ++# https://www.timeanddate.com/time/change/gaza-strip/gaza ++# https://www.timeanddate.com/time/change/west-bank/hebron + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule EgyptAsia 1957 only - May 10 0:00 1:00 S +@@ -2616,7 +2692,7 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Gaza 2:17:52 - LMT 1900 Oct +- 2:00 Zion EET 1948 May 15 ++ 2:00 Zion EET/EEST 1948 May 15 + 2:00 EgyptAsia EE%sT 1967 Jun 5 + 2:00 Zion I%sT 1996 + 2:00 Jordan EE%sT 1999 +@@ -2629,7 +2705,7 @@ + 2:00 Palestine EE%sT + + Zone Asia/Hebron 2:20:23 - LMT 1900 Oct +- 2:00 Zion EET 1948 May 15 ++ 2:00 Zion EET/EEST 1948 May 15 + 2:00 EgyptAsia EE%sT 1967 Jun 5 + 2:00 Zion I%sT 1996 + 2:00 Jordan EE%sT 1999 +@@ -2643,7 +2719,7 @@ + # Philippines, issued a proclamation announcing that 1844-12-30 was to + # be immediately followed by 1845-01-01; see R.H. van Gent's + # History of the International Date Line +-# http://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm ++# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm + # The rest of the data entries are from Shanks & Pottenger. + + # From Jesper Nørgaard Welen (2006-04-26): +@@ -2670,15 +2746,15 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31 + 8:04:00 - LMT 1899 May 11 +- 8:00 Phil PH%sT 1942 May +- 9:00 - JST 1944 Nov +- 8:00 Phil PH%sT ++ 8:00 Phil +08/+09 1942 May ++ 9:00 - +09 1944 Nov ++ 8:00 Phil +08/+09 + + # Qatar + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha +- 4:00 - GST 1972 Jun +- 3:00 - AST ++ 4:00 - +04 1972 Jun ++ 3:00 - +03 + Link Asia/Qatar Asia/Bahrain + + # Saudi Arabia +@@ -2705,7 +2781,7 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14 +- 3:00 - AST ++ 3:00 - +03 + Link Asia/Riyadh Asia/Aden # Yemen + Link Asia/Riyadh Asia/Kuwait + +@@ -2715,14 +2791,13 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1 + 6:55:25 - SMT 1905 Jun 1 # Singapore M.T. +- 7:00 - MALT 1933 Jan 1 # Malaya Time +- 7:00 0:20 MALST 1936 Jan 1 +- 7:20 - MALT 1941 Sep 1 +- 7:30 - MALT 1942 Feb 16 +- 9:00 - JST 1945 Sep 12 +- 7:30 - MALT 1965 Aug 9 # independence +- 7:30 - SGT 1982 Jan 1 # Singapore Time +- 8:00 - SGT ++ 7:00 - +07 1933 Jan 1 ++ 7:00 0:20 +0720 1936 Jan 1 ++ 7:20 - +0720 1941 Sep 1 ++ 7:30 - +0730 1942 Feb 16 ++ 9:00 - +09 1945 Sep 12 ++ 7:30 - +0730 1982 Jan 1 ++ 8:00 - +08 + + # Spratly Is + # no information +@@ -2781,8 +2856,8 @@ + Zone Asia/Colombo 5:19:24 - LMT 1880 + 5:19:32 - MMT 1906 # Moratuwa Mean Time + 5:30 - +0530 1942 Jan 5 +- 5:30 0:30 +0530/+06 1942 Sep +- 5:30 1:00 +0530/+0630 1945 Oct 16 2:00 ++ 5:30 0:30 +06 1942 Sep ++ 5:30 1:00 +0630 1945 Oct 16 2:00 + 5:30 - +0530 1996 May 25 0:00 + 6:30 - +0630 1996 Oct 26 0:30 + 6:00 - +06 2006 Apr 15 0:30 +@@ -2908,7 +2983,7 @@ + # We have not found any sources saying anything about when DST ends this year. + # + # Our summary +-# http://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html ++# https://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html + + # From Steffen Thorsen (2009-10-27): + # The Syrian Arab News Network on 2009-09-29 reported that Syria will +@@ -2935,7 +3010,7 @@ + # http://www.sana.sy/ara/2/2012/03/26/408215.htm + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/syria-dst-2012.html ++# https://www.timeanddate.com/news/time/syria-dst-2012.html + + # From Arthur David Olson (2012-03-27): + # Assume last Friday in March going forward XXX. +@@ -2964,7 +3039,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Bangkok 6:42:04 - LMT 1880 + 6:42:04 - BMT 1920 Apr # Bangkok Mean Time +- 7:00 - ICT ++ 7:00 - +07 + Link Asia/Bangkok Asia/Phnom_Penh # Cambodia + Link Asia/Bangkok Asia/Vientiane # Laos + +@@ -2980,7 +3055,7 @@ + # United Arab Emirates + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Dubai 3:41:12 - LMT 1920 +- 4:00 - GST ++ 4:00 - +04 + Link Asia/Dubai Asia/Muscat # Oman + + # Uzbekistan +@@ -3018,7 +3093,7 @@ + # is quoted verbatim in: + # http://www.thoigian.com.vn/?mPage=P80D01 + # is translated by Brian Inglis in: +-# http://mm.icann.org/pipermail/tz/2014-October/021654.html ++# https://mm.icann.org/pipermail/tz/2014-October/021654.html + # and is the basis for the information below. + # + # The 1906 transition was effective July 1 and standardized Indochina to +@@ -3053,15 +3128,15 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 Jul 1 +- 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1955 Jul 1 +- 7:00 - ICT 1959 Dec 31 23:00 +- 8:00 - IDT 1975 Jun 13 +- 7:00 - ICT ++ 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1955 Jul 1 ++ 7:00 - +07 1959 Dec 31 23:00 ++ 8:00 - +08 1975 Jun 13 ++ 7:00 - +07 + + # Yemen + # See Asia/Riyadh. +--- contrib/tzdata/australasia.orig ++++ contrib/tzdata/australasia +@@ -44,8 +44,8 @@ + 8:00 Aus AW%sT 1943 Jul + 8:00 AW AW%sT + Zone Australia/Eucla 8:35:28 - LMT 1895 Dec +- 8:45 Aus ACW%sT 1943 Jul +- 8:45 AW ACW%sT ++ 8:45 Aus +0845/+0945 1943 Jul ++ 8:45 AW +0845/+0945 + + # Queensland + # +@@ -212,7 +212,8 @@ + Rule LH 2008 max - Oct Sun>=1 2:00 0:30 D + Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb + 10:00 - AEST 1981 Mar +- 10:30 LH LH%sT ++ 10:30 LH +1030/+1130 1985 Jul ++ 10:30 LH +1030/+11 + + # Australian miscellany + # +@@ -250,12 +251,12 @@ + 0 - -00 1948 Mar 25 + 10:00 Aus AE%sT 1967 + 10:00 AT AE%sT 2010 Apr 4 3:00 +- 11:00 - MIST # Macquarie I Standard Time ++ 11:00 - +11 + + # Christmas + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Christmas 7:02:52 - LMT 1895 Feb +- 7:00 - CXT # Christmas Island Time ++ 7:00 - +07 + + # Cocos (Keeling) Is + # These islands were ruled by the Ross family from about 1830 to 1978. +@@ -262,7 +263,7 @@ + # We don't know when standard time was introduced; for now, we guess 1900. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Cocos 6:27:40 - LMT 1900 +- 6:30 - CCT # Cocos Islands Time ++ 6:30 - +0630 + + + # Fiji +@@ -292,7 +293,7 @@ + # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166 + # + # A bit more background info here: +-# http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html ++# https://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html + + # From Alexander Krivenyshev (2010-10-24): + # According to Radio Fiji and Fiji Times online, Fiji will end DST 3 +@@ -356,9 +357,12 @@ + # clocks go forward an hour at 2am to 3am.... Daylight Saving will + # end at 3.00am on Sunday 15th January 2017." + +-# From Paul Eggert (2016-10-03): +-# For now, guess DST from 02:00 the first Sunday in November to +-# 03:00 the third Sunday in January. Although ad hoc, it matches ++# From Paul Eggert (2017-08-21): ++# Dominic Fok writes (2017-08-20) that DST ends 2018-01-14, citing ++# Extraordinary Government of Fiji Gazette Supplement No. 21 (2017-08-27), ++# [Legal Notice No. 41] of an order of the previous day by J Usamate. ++# For now, guess DST from 02:00 the first Sunday in November to 03:00 ++# the first Sunday on or after January 14. Although ad hoc, it matches + # transitions since late 2014 and seems more likely to match future + # practice than guessing no DST. + +@@ -372,19 +376,19 @@ + Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - + Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - + Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S +-Rule Fiji 2015 max - Jan Sun>=15 3:00 0 - ++Rule Fiji 2015 max - Jan Sun>=14 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva +- 12:00 Fiji FJ%sT # Fiji Time ++ 12:00 Fiji +12/+13 + + # French Polynesia + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea +- -9:00 - GAMT # Gambier Time ++ -9:00 - -09 + Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct +- -9:30 - MART # Marquesas Time ++ -9:30 - -0930 + Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete +- -10:00 - TAHT # Tahiti Time ++ -10:00 - -10 + # Clipperton (near North America) is administered from French Polynesia; + # it is uninhabited. + +@@ -399,15 +403,15 @@ + # Kiribati + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki +- 12:00 - GILT # Gilbert Is Time ++ 12:00 - +12 + Zone Pacific/Enderbury -11:24:20 - LMT 1901 +- -12:00 - PHOT 1979 Oct # Phoenix Is Time +- -11:00 - PHOT 1995 +- 13:00 - PHOT ++ -12:00 - -12 1979 Oct ++ -11:00 - -11 1995 ++ 13:00 - +13 + Zone Pacific/Kiritimati -10:29:20 - LMT 1901 +- -10:40 - LINT 1979 Oct # Line Is Time +- -10:00 - LINT 1995 +- 14:00 - LINT ++ -10:40 - -1040 1979 Oct ++ -10:00 - -10 1995 ++ 14:00 - +14 + + # N Mariana Is + # See Pacific/Guam. +@@ -415,31 +419,31 @@ + # Marshall Is + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Majuro 11:24:48 - LMT 1901 +- 11:00 - MHT 1969 Oct # Marshall Islands Time +- 12:00 - MHT ++ 11:00 - +11 1969 Oct ++ 12:00 - +12 + Zone Pacific/Kwajalein 11:09:20 - LMT 1901 +- 11:00 - MHT 1969 Oct +- -12:00 - KWAT 1993 Aug 20 # Kwajalein Time +- 12:00 - MHT ++ 11:00 - +11 1969 Oct ++ -12:00 - -12 1993 Aug 20 ++ 12:00 - +12 + + # Micronesia + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Chuuk 10:07:08 - LMT 1901 +- 10:00 - CHUT # Chuuk Time ++ 10:00 - +10 + Zone Pacific/Pohnpei 10:32:52 - LMT 1901 # Kolonia +- 11:00 - PONT # Pohnpei Time ++ 11:00 - +11 + Zone Pacific/Kosrae 10:51:56 - LMT 1901 +- 11:00 - KOST 1969 Oct # Kosrae Time +- 12:00 - KOST 1999 +- 11:00 - KOST ++ 11:00 - +11 1969 Oct ++ 12:00 - +12 1999 ++ 11:00 - +11 + + # Nauru + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe +- 11:30 - NRT 1942 Mar 15 # Nauru Time +- 9:00 - JST 1944 Aug 15 +- 11:30 - NRT 1979 May +- 12:00 - NRT ++ 11:30 - +1130 1942 Mar 15 ++ 9:00 - +09 1944 Aug 15 ++ 11:30 - +1130 1979 May ++ 12:00 - +12 + + # New Caledonia + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +@@ -450,7 +454,7 @@ + Rule NC 1997 only - Mar 2 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 # Nouméa +- 11:00 NC NC%sT ++ 11:00 NC +11/+12 + + + ############################################################################### +@@ -491,8 +495,8 @@ + 11:30 NZ NZ%sT 1946 Jan 1 + 12:00 NZ NZ%sT + Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2 +- 12:15 - CHAST 1946 Jan 1 +- 12:45 Chatham CHA%sT ++ 12:15 - +1215 1946 Jan 1 ++ 12:45 Chatham +1245/+1345 + + Link Pacific/Auckland Antarctica/McMurdo + +@@ -514,8 +518,8 @@ + Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 HS + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua +- -10:30 - CKT 1978 Nov 12 # Cook Is Time +- -10:00 Cook CK%sT ++ -10:30 - -1030 1978 Nov 12 ++ -10:00 Cook -10/-0930 + + ############################################################################### + +@@ -523,29 +527,29 @@ + # Niue + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi +- -11:20 - NUT 1951 # Niue Time +- -11:30 - NUT 1978 Oct 1 +- -11:00 - NUT ++ -11:20 - -1120 1951 ++ -11:30 - -1130 1978 Oct 1 ++ -11:00 - -11 + + # Norfolk + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston +- 11:12 - NMT 1951 # Norfolk Mean Time +- 11:30 - NFT 1974 Oct 27 02:00 # Norfolk T. +- 11:30 1:00 NFST 1975 Mar 2 02:00 +- 11:30 - NFT 2015 Oct 4 02:00 +- 11:00 - NFT ++ 11:12 - +1112 1951 ++ 11:30 - +1130 1974 Oct 27 02:00 ++ 11:30 1:00 +1230 1975 Mar 2 02:00 ++ 11:30 - +1130 2015 Oct 4 02:00 ++ 11:00 - +11 + + # Palau (Belau) + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror +- 9:00 - PWT # Palau Time ++ 9:00 - +09 + + # Papua New Guinea + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Port_Moresby 9:48:40 - LMT 1880 + 9:48:32 - PMMT 1895 # Port Moresby Mean Time +- 10:00 - PGT # Papua New Guinea Time ++ 10:00 - +10 + # + # From Paul Eggert (2014-10-13): + # Base the Bougainville entry on the Arawa-Kieta region, which appears to have +@@ -556,32 +560,30 @@ + # The World War II entries below are instead based on Arawa-Kieta. + # The Japanese occupied Kieta in July 1942, + # according to the Pacific War Online Encyclopedia +-# http://pwencycl.kgbudge.com/B/o/Bougainville.htm ++# https://pwencycl.kgbudge.com/B/o/Bougainville.htm + # and seem to have controlled it until their 1945-08-21 surrender. + # + # The Autonomous Region of Bougainville switched from UT +10 to +11 +-# on 2014-12-28 at 02:00. They call +11 "Bougainville Standard Time"; +-# abbreviate this as BST. See: ++# on 2014-12-28 at 02:00. They call +11 "Bougainville Standard Time". ++# See: + # http://www.bougainville24.com/bougainville-issues/bougainville-gets-own-timezone/ + # + Zone Pacific/Bougainville 10:22:16 - LMT 1880 + 9:48:32 - PMMT 1895 +- 10:00 - PGT 1942 Jul +- 9:00 - JST 1945 Aug 21 +- 10:00 - PGT 2014 Dec 28 2:00 +- 11:00 - BST ++ 10:00 - +10 1942 Jul ++ 9:00 - +09 1945 Aug 21 ++ 10:00 - +10 2014 Dec 28 2:00 ++ 11:00 - +11 + + # Pitcairn + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown +- -8:30 - PNT 1998 Apr 27 0:00 +- -8:00 - PST # Pitcairn Standard Time ++ -8:30 - -0830 1998 Apr 27 0:00 ++ -8:00 - -08 + + # American Samoa +-Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5 ++Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 + -11:22:48 - LMT 1911 +- -11:00 - NST 1967 Apr # N=Nome +- -11:00 - BST 1983 Nov 30 # B=Bering + -11:00 - SST # S=Samoa + Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands + +@@ -596,7 +598,7 @@ + # Sunday of April 2011." + # + # Background info: +-# http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html ++# https://www.timeanddate.com/news/time/samoa-dst-plan-2009.html + # + # Samoa's Daylight Saving Time Act 2009 is available here, but does not + # contain any dates: +@@ -660,19 +662,19 @@ + Rule WS 2012 max - Apr Sun>=1 4:00 0 S + Rule WS 2012 max - Sep lastSun 3:00 1 D + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5 ++Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 + -11:26:56 - LMT 1911 +- -11:30 - WSST 1950 +- -11:00 WS S%sT 2011 Dec 29 24:00 # S=Samoa +- 13:00 WS WS%sT ++ -11:30 - -1130 1950 ++ -11:00 WS -11/-10 2011 Dec 29 24:00 ++ 13:00 WS +13/+14 + + # Solomon Is + # excludes Bougainville, for which see Papua New Guinea + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara +- 11:00 - SBT # Solomon Is Time ++ 11:00 - +11 + +-# Tokelau Is ++# Tokelau + # + # From Gwillim Law (2011-12-29) + # A correspondent informed me that Tokelau, like Samoa, will be skipping +@@ -687,14 +689,14 @@ + # From Paul Eggert (2012-07-25) + # A Google Books snippet of Appendix to the Journals of the House of + # Representatives of New Zealand, Session 1948, +-# , page 65, says Tokelau ++# , page 65, says Tokelau + # was "11 hours slow on G.M.T." Go with Thorsen and assume Shanks & Pottenger + # are off by an hour starting in 1901. + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Fakaofo -11:24:56 - LMT 1901 +- -11:00 - TKT 2011 Dec 30 # Tokelau Time +- 13:00 - TKT ++ -11:00 - -11 2011 Dec 30 ++ 13:00 - +13 + + # Tonga + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +@@ -702,8 +704,8 @@ + Rule Tonga 2000 only - Mar 19 2:00s 0 - + Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 S + Rule Tonga 2001 2002 - Jan lastSun 2:00 0 - +-Rule Tonga 2016 max - Nov Sun>=1 2:00 1:00 S +-Rule Tonga 2017 max - Jan Sun>=15 3:00 0 - ++Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 S ++Rule Tonga 2017 only - Jan Sun>=15 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Tongatapu 12:19:20 - LMT 1901 + 12:20 - +1220 1941 +@@ -713,7 +715,7 @@ + # Tuvalu + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Funafuti 11:56:52 - LMT 1901 +- 12:00 - TVT # Tuvalu Time ++ 12:00 - +12 + + + # US minor outlying islands +@@ -737,10 +739,11 @@ + + # Johnston + # +-# From Paul Eggert (2014-03-11): ++# From Paul Eggert (2017-02-10): + # Sometimes Johnston kept Hawaii time, and sometimes it was an hour behind. + # Details are uncertain. We have no data for Johnston after 1970, so +-# treat it like Hawaii for now. ++# treat it like Hawaii for now. Since Johnston is now uninhabited, ++# its link to Pacific/Honolulu is in the 'backward' file. + # + # In his memoirs of June 6th to October 4, 1945 + # (2005), Herbert C. Bach writes, +@@ -756,12 +759,10 @@ + # Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, + # "The United States High-Altitude Test Experience: A Review Emphasizing the + # Impact on the Environment", Los Alamos LA-6405, Oct 1976. +-# http://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf ++# https://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf + # See the table on page 4 where he lists GMT and local times for the tests; a + # footnote for the JI tests reads that local time is "JI time = Hawaii Time + # Minus One Hour". +-# +-# See 'northamerica' for Pacific/Johnston. + + # Kingman + # uninhabited +@@ -775,7 +776,7 @@ + # Wake + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Wake 11:06:28 - LMT 1901 +- 12:00 - WAKT # Wake Time ++ 12:00 - +12 + + + # Vanuatu +@@ -788,12 +789,12 @@ + Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila +- 11:00 Vanuatu VU%sT # Vanuatu Time ++ 11:00 Vanuatu +11/+12 + + # Wallis and Futuna + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Wallis 12:15:20 - LMT 1901 +- 12:00 - WFT # Wallis & Futuna Time ++ 12:00 - +12 + + ############################################################################### + +@@ -804,7 +805,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-10): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -811,8 +812,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -824,33 +825,24 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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). + # +-# I invented the abbreviations marked '*' in the following table; +-# the rest are from earlier versions of this file, or from other sources. ++# The following abbreviations are from other sources. + # Corrections are welcome! + # std dst + # LMT Local Mean Time + # 8:00 AWST AWDT Western Australia +-# 8:45 ACWST ACWDT Central Western Australia* +-# 9:00 JST Japan + # 9:30 ACST ACDT Central Australia + # 10:00 AEST AEDT Eastern Australia ++# 10:00 GST Guam through 2000 + # 10:00 ChST Chamorro +-# 10:30 LHST LHDT Lord Howe* +-# 11:00 BST Bougainville* + # 11:30 NZMT NZST New Zealand through 1945 + # 12:00 NZST NZDT New Zealand 1946-present +-# 12:15 CHAST Chatham through 1945* +-# 12:45 CHAST CHADT Chatham 1946-present* +-# 13:00 WSST WSDT (western) Samoa 2011-present* +-# -11:30 WSST Western Samoa through 1950* + # -11:00 SST Samoa + # -10:00 HST Hawaii +-# - 8:00 PST Pitcairn* + # + # See the 'northamerica' file for Hawaii. + # See the 'southamerica' file for Easter I and the Galápagos Is. +@@ -980,7 +972,7 @@ + # AEST ACST AWST AEDT ACDT + # + # Parliamentary Library (2008-11-10) +-# http://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf ++# https://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf + # EST CST WST preferred for standard time; AEST AEDT ACST ACDT also used + # + # The Transport Safety Bureau has an extensive series of accident reports, +@@ -1016,13 +1008,13 @@ + # + # NSW (including LHI and Broken Hill): + # Standard Time Act 1987 (updated 1995-04-04) +-# http://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html ++# https://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html + # ACT + # Standard Time and Summer Time Act 1972 +-# http://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html ++# https://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html + # SA + # Standard Time Act, 1898 +-# http://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html ++# https://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html + + # From David Grosz (2005-06-13): + # It was announced last week that Daylight Saving would be extended by +@@ -1317,7 +1309,7 @@ + # http://abc.net.au/news/regionals/neweng/monthly/regeng-22jul1999-1.htm + # (1999-07-22). For now, we'll wait to see if this really happens. + # +-# Victoria will following NSW. See: ++# Victoria will follow NSW. See: + # Vic to extend daylight saving (1999-07-28) + # http://abc.net.au/local/news/olympics/1999/07/item19990728112314_1.htm + # +@@ -1420,7 +1412,7 @@ + # the ACT for all 52 weeks of the year... + # + # We have a wrap-up here: +-# http://www.timeanddate.com/news/time/south-australia-extends-dst.html ++# https://www.timeanddate.com/news/time/south-australia-extends-dst.html + ############################################################################### + + # New Zealand +@@ -1474,7 +1466,7 @@ + # From Paul Eggert (2014-07-14): + # Chatham Island time was formally standardized on 1957-01-01 by + # New Zealand's Standard Time Amendment Act 1956 (1956-10-26). +-# http://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf ++# https://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf + # According to Google Books snippet view, a speaker in the New Zealand + # parliamentary debates in 1956 said "Clause 78 makes provision for standard + # time in the Chatham Islands. The time there is 45 minutes in advance of New +@@ -1589,7 +1581,7 @@ + # the Norfolk Island Museum and the Australian Bureau of Meteorology's + # Norfolk Island station, and found no record of Norfolk observing DST + # other than in 1974/5. See: +-# http://www.timeanddate.com/time/australia/norfolk-island.html ++# https://www.timeanddate.com/time/australia/norfolk-island.html + + # Pitcairn + +@@ -1617,11 +1609,13 @@ + + # (Western) Samoa and American Samoa + +-# Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald) +-# that in 1879 the King of Samoa decided to change ++# Howse writes (p 153) that after the 1879 standardization on Antipodean ++# time by the British governor of Fiji, the King of Samoa decided to change + # "the date in his kingdom from the Antipodean to the American system, + # ordaining - by a masterpiece of diplomatic flattery - that + # the Fourth of July should be celebrated twice in that year." ++# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. ++# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm + + # Although Shanks & Pottenger says they both switched to UT -11:30 + # in 1911, and to -11 in 1950. many earlier sources give -11 +@@ -1632,6 +1626,7 @@ + # day in 2011. Assume also that the Samoas follow the US and New + # Zealand's "ST"/"DT" style of daylight-saving abbreviations. + ++ + # Tonga + + # From Paul Eggert (1996-01-22): +@@ -1726,6 +1721,15 @@ + # Assume Tonga will observe DST from the first Sunday in November at 02:00 + # through the third Sunday in January at 03:00, like Fiji, for now. + ++# From David Wade (2017-10-18): ++# In August government was disolved by the King. The current prime minister ++# continued in office in care taker mode. It is easy to see that few ++# decisions will be made until elections 16th November. ++# ++# From Paul Eggert (2017-10-18): ++# For now, guess that DST is discontinued. That's what the IATA is guessing. ++ ++ + # Wake + + # From Vernice Anderson, Personal Secretary to Philip Jessup, +@@ -1738,7 +1742,7 @@ + # making calculation of time in Washington difficult if not almost + # impossible. + # +-# http://www.trumanlibrary.org/wake/meeting.htm ++# https://www.trumanlibrary.org/oralhist/andrsonv.htm + + # From Paul Eggert (2003-03-23): + # We have no other report of DST in Wake Island, so omit this info for now. +@@ -1766,7 +1770,7 @@ + # an international standard, there are some places on the high seas where the + # correct date is ambiguous. + +-# From Wikipedia (2005-08-31): ++# From Wikipedia (2005-08-31): + # Before 1920, all ships kept local apparent time on the high seas by setting + # their clocks at night or at the morning sight so that, given the ship's + # speed and direction, it would be 12 o'clock when the Sun crossed the ship's +--- contrib/tzdata/backward.orig ++++ contrib/tzdata/backward +@@ -61,7 +61,9 @@ + Link America/Manaus Brazil/West + Link America/Halifax Canada/Atlantic + Link America/Winnipeg Canada/Central +-Link America/Regina Canada/East-Saskatchewan ++# This line is commented out, as the name exceeded the 14-character limit ++# and was an unused misnomer. ++#Link America/Regina Canada/East-Saskatchewan + Link America/Toronto Canada/Eastern + Link America/Edmonton Canada/Mountain + Link America/St_Johns Canada/Newfoundland +@@ -96,6 +98,7 @@ + Link Pacific/Chatham NZ-CHAT + Link America/Denver Navajo + Link Asia/Shanghai PRC ++Link Pacific/Honolulu Pacific/Johnston + Link Pacific/Pohnpei Pacific/Ponape + Link Pacific/Pago_Pago Pacific/Samoa + Link Pacific/Chuuk Pacific/Truk +--- contrib/tzdata/backzone.orig ++++ contrib/tzdata/backzone +@@ -65,7 +65,7 @@ + # Mali (southern) + Zone Africa/Bamako -0:32:00 - LMT 1912 + 0:00 - GMT 1934 Feb 26 +- -1:00 - WAT 1960 Jun 20 ++ -1:00 - -01 1960 Jun 20 + 0:00 - GMT + + # Central African Republic +@@ -75,7 +75,7 @@ + # Gambia + Zone Africa/Banjul -1:06:36 - LMT 1912 + -1:06:36 - BMT 1935 # Banjul Mean Time +- -1:00 - WAT 1964 ++ -1:00 - -01 1964 + 0:00 - GMT + + # Malawi +@@ -93,18 +93,18 @@ + # Guinea + Zone Africa/Conakry -0:54:52 - LMT 1912 + 0:00 - GMT 1934 Feb 26 +- -1:00 - WAT 1960 ++ -1:00 - -01 1960 + 0:00 - GMT + + # Senegal + Zone Africa/Dakar -1:09:44 - LMT 1912 +- -1:00 - WAT 1941 Jun ++ -1:00 - -01 1941 Jun + 0:00 - GMT + + # Tanzania + Zone Africa/Dar_es_Salaam 2:37:08 - LMT 1931 + 3:00 - EAT 1948 +- 2:45 - BEAUT 1961 ++ 2:45 - +0245 1961 + 3:00 - EAT + + # Djibouti +@@ -122,14 +122,14 @@ + # 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 TYPE IN ON AT SAVE LETTER/S +-Rule SL 1935 1942 - Jun 1 0:00 0:40 SLST +-Rule SL 1935 1942 - Oct 1 0:00 0 WAT +-Rule SL 1957 1962 - Jun 1 0:00 1:00 SLST ++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 + Zone Africa/Freetown -0:53:00 - LMT 1882 + -0:53:00 - FMT 1913 Jun # Freetown Mean Time + -1:00 SL %s 1957 +- 0:00 SL %s ++ 0:00 SL GMT/+01 + + # Botswana + # From Paul Eggert (2013-02-21): +@@ -153,8 +153,8 @@ + # Uganda + Zone Africa/Kampala 2:09:40 - LMT 1928 Jul + 3:00 - EAT 1930 +- 2:30 - BEAT 1948 +- 2:45 - BEAUT 1957 ++ 2:30 - +0230 1948 ++ 2:45 - +0245 1957 + 3:00 - EAT + + # Rwanda +@@ -177,11 +177,11 @@ + # + # Shanks gives 1911-05-26 for the transition to WAT, + # evidently confusing the date of the Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # with the date that it took effect, namely 1912-01-01. + # + Zone Africa/Luanda 0:52:56 - LMT 1892 +- 0:52:04 - AOT 1912 Jan 1 # Angola Time ++ 0:52:04 - LMT 1912 Jan 1 # Luanda Mean Time? + 1:00 - WAT + + # Democratic Republic of the Congo (east) +@@ -216,12 +216,12 @@ + # Somalia + Zone Africa/Mogadishu 3:01:28 - LMT 1893 Nov + 3:00 - EAT 1931 +- 2:30 - BEAT 1957 ++ 2:30 - +0230 1957 + 3:00 - EAT + + # Niger + Zone Africa/Niamey 0:08:28 - LMT 1912 +- -1:00 - WAT 1934 Feb 26 ++ -1:00 - -01 1934 Feb 26 + 0:00 - GMT 1960 + 1:00 - WAT + +@@ -228,7 +228,7 @@ + # Mauritania + Zone Africa/Nouakchott -1:03:48 - LMT 1912 + 0:00 - GMT 1934 Feb 26 +- -1:00 - WAT 1960 Nov 28 ++ -1:00 - -01 1960 Nov 28 + 0:00 - GMT + + # Burkina Faso +@@ -264,19 +264,19 @@ + # The name "Comodoro Rivadavia" exceeds the 14-byte POSIX limit. + Zone America/Argentina/ComodRivadavia -4:30:00 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 - -03 + + # Aruba + Zone America/Aruba -4:40:24 - LMT 1912 Feb 12 # Oranjestad +- -4:30 - ANT 1965 # Netherlands Antilles Time ++ -4:30 - -0430 1965 + -4:00 - AST + + # Cayman Is +@@ -365,12 +365,12 @@ + # Formosa (FM), La Pampa (LP), Chubut (CH) + Zone America/Rosario -4:02:40 - LMT 1894 Nov + -4:16:44 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Jul +- -3:00 - ART 1999 Oct 3 0:00 +- -4:00 Arg AR%sT 2000 Mar 3 0:00 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Jul ++ -3:00 - -03 1999 Oct 3 0:00 ++ -4:00 Arg -04/-03 2000 Mar 3 0:00 ++ -3:00 - -03 + + # St Kitts-Nevis + Zone America/St_Kitts -4:10:52 - LMT 1912 Mar 2 # Basseterre +@@ -403,12 +403,12 @@ + # Milne says 2:59:54 was the meridian of the saluting battery at Aden, + # and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. + Zone Asia/Aden 2:59:54 - LMT 1950 +- 3:00 - AST ++ 3:00 - +03 + + # Bahrain + Zone Asia/Bahrain 3:22:20 - LMT 1920 # Manamah +- 4:00 - GST 1972 Jun +- 3:00 - AST ++ 4:00 - +04 1972 Jun ++ 3:00 - +03 + + # India + # +@@ -431,7 +431,7 @@ + # counties Deqing, Enping, Kaiping, Luoding, Taishan, Xinxing, + # Yangchun, Yangjiang, Yu'nan, and Yunfu. + Zone Asia/Chongqing 7:06:20 - LMT 1928 # or Chungking +- 7:00 - LONT 1980 May # Long-shu Time ++ 7:00 - +07 1980 May + 8:00 PRC C%sT + Link Asia/Chongqing Asia/Chungking + +@@ -442,43 +442,43 @@ + # October 1954, with exact date and time unspecified. + Zone Asia/Hanoi 7:03:24 - LMT 1906 Jul 1 + 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1954 Oct +- 7:00 - ICT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1954 Oct ++ 7:00 - +07 + + # China + # Changbai Time ("Long-white Time", Long-white = Heilongjiang area) + # Heilongjiang (except Mohe county), Jilin + Zone Asia/Harbin 8:26:44 - LMT 1928 # or Haerbin +- 8:30 - CHAT 1932 Mar # Changbai Time ++ 8:30 - +0830 1932 Mar + 8:00 - CST 1940 +- 9:00 - CHAT 1966 May +- 8:30 - CHAT 1980 May ++ 9:00 - +09 1966 May ++ 8:30 - +0830 1980 May + 8:00 PRC C%sT + + # far west China + Zone Asia/Kashgar 5:03:56 - LMT 1928 # or Kashi or Kaxgar +- 5:30 - KAST 1940 # Kashgar Time +- 5:00 - KAST 1980 May ++ 5:30 - +0530 1940 ++ 5:00 - +05 1980 May + 8:00 PRC C%sT + + # Kuwait + Zone Asia/Kuwait 3:11:56 - LMT 1950 +- 3:00 - AST ++ 3:00 - +03 + + + # Oman + # Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. + Zone Asia/Muscat 3:54:24 - LMT 1920 +- 4:00 - GST ++ 4:00 - +04 + + # India + # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: + # According to a Portuguese decree (1911-05-26) +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # Portuguese India switched to UT +05 on 1912-01-01. + #Zone Asia/Panaji [not enough info to complete] + +@@ -491,12 +491,12 @@ + # transitions there. + Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jul 1 + 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1953 Nov 9 +- 7:00 - ICT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1953 Nov 9 ++ 7:00 - +07 + + # Israel + Zone Asia/Tel_Aviv 2:19:04 - LMT 1880 +@@ -511,16 +511,16 @@ + # this is probably wrong but it's better than guessing no transition. + Zone Asia/Vientiane 6:50:24 - LMT 1906 Jul 1 + 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1955 Apr 15 +- 7:00 - ICT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1955 Apr 15 ++ 7:00 - +07 + + # Jan Mayen + # From Whitman: +-Zone Atlantic/Jan_Mayen -1:00 - EGT ++Zone Atlantic/Jan_Mayen -1:00 - -01 + + # St Helena + Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown +@@ -540,10 +540,10 @@ + + # Guernsey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.27N -2.33E - St.Peter Port +-Zone Europe/Guernsey -0:09:19 - LMT 1913 Jun 18 ++# LMT is for Town Church, St. Peter Port, 49 degrees 27'17"N 2 degrees 32'10"W ++Zone Europe/Guernsey -0:10:09 - LMT 1913 Jun 18 + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +@@ -555,11 +555,11 @@ + # + # From Lester Caine (2013-09-04): + # The Isle of Man legislation is now on-line at +-# , starting with the original Statutory ++# , starting with the original Statutory + # Time Act in 1883 and including additional confirmation of some of + # the dates of the 'Summer Time' orders originating at + # Westminster. There is a little uncertainty as to the starting date +-# of the first summer time in 1916 which may have be announced a ++# of the first summer time in 1916 which may have been announced a + # couple of days late. There is still a substantial number of + # documents to work through, but it is thought that every GB change + # was also implemented on the island. +@@ -574,10 +574,10 @@ + + # Jersey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.187N -2.107E - St. Helier +-Zone Europe/Jersey -0:08:25 - LMT 1898 Jun 11 16:00u ++# LMT is for Parish Church, St. Helier, 49 degrees 11'0.57"N 2 degrees 6'24.33"W ++Zone Europe/Jersey -0:08:26 - LMT 1898 Jun 11 16:00u + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +@@ -663,15 +663,13 @@ + # " 3:00P Ar. MIDWAY ISLAND . . . . . . . . . M.L.T. Lv. 6:00A " + # + Zone Pacific/Midway -11:49:28 - LMT 1901 +- -11:00 - NST 1956 Jun 3 +- -11:00 1:00 NDT 1956 Sep 2 +- -11:00 - NST 1967 Apr # N=Nome +- -11:00 - BST 1983 Nov 30 # B=Bering +- -11:00 - SST # S=Samoa ++ -11:00 - -11 1956 Jun 3 ++ -11:00 1:00 -10 1956 Sep 2 ++ -11:00 - -11 + + # N Mariana Is + Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31 + 9:43:00 - LMT 1901 +- 9:00 - MPT 1969 Oct # N Mariana Is Time +- 10:00 - MPT 2000 Dec 23 ++ 9:00 - +09 1969 Oct ++ 10:00 - +10 2000 Dec 23 + 10:00 - ChST # Chamorro Standard Time +--- contrib/tzdata/calendars.orig ++++ contrib/tzdata/calendars +@@ -0,0 +1,173 @@ ++----- Calendrical issues ----- ++ ++As mentioned in Theory.html, although calendrical issues are out of ++scope for tzdb, they indicate the sort of problems that we would run ++into if we extended tzdb further into the past. The following ++information and sources go beyond Theory.html's brief discussion. ++They sometimes disagree. ++ ++ ++France ++ ++Gregorian calendar adopted 1582-12-20. ++French Revolutionary calendar used 1793-11-24 through 1805-12-31, ++and (in Paris only) 1871-05-06 through 1871-05-23. ++ ++ ++Russia ++ ++From Chris Carrier (1996-12-02): ++On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" ++with 30-day months plus 5 holidays, with a 5-day week. ++On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the ++Gregorian calendar while retaining the 6-day week; on 1940-06-27 it ++reverted to the 7-day week. With the 6-day week the usual days ++off were the 6th, 12th, 18th, 24th and 30th of the month. ++(Source: Evitiar Zerubavel, _The Seven Day Circle_) ++ ++ ++Mark Brader reported a similar story in "The Book of Calendars", edited ++by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: ++ ++From: Petteri Sulonen (via Usenet) ++Date: 14 Jan 1999 00:00:00 GMT ++... ++ ++If your source is correct, how come documents between 1929 and 1940 were ++still dated using the conventional, Gregorian calendar? ++ ++I can post a scan of a document dated December 1, 1934, signed by ++Yenukidze, the secretary, on behalf of Kalinin, the President of the ++Executive Committee of the Supreme Soviet, if you like. ++ ++ ++ ++Sweden (and Finland) ++ ++From: Mark Brader ++Subject: Re: Gregorian reform - a part of locale? ++ ++Date: 1996-07-06 ++ ++In 1700, Denmark made the transition from Julian to Gregorian. Sweden ++decided to *start* a transition in 1700 as well, but rather than have one of ++those unsightly calendar gaps :-), they simply decreed that the next leap ++year after 1696 would be in 1744 - putting the whole country on a calendar ++different from both Julian and Gregorian for a period of 40 years. ++ ++However, in 1704 something went wrong and the plan was not carried through; ++they did, after all, have a leap year that year. And one in 1708. In 1712 ++they gave it up and went back to Julian, putting 30 days in February that ++year!... ++ ++Then in 1753, Sweden made the transition to Gregorian in the usual manner, ++getting there only 13 years behind the original schedule. ++ ++(A previous posting of this story was challenged, and Swedish readers ++produced the following references to support it: "Tideräkning och historia" ++by Natanael Beckman (1924) and "Tid, en bok om tideräkning och ++kalenderväsen" by Lars-Olof Lodén (1968). ++ ++ ++Grotefend's data ++ ++From: "Michael Palmer" [with one obvious typo fixed] ++Subject: Re: Gregorian Calendar (was Re: Another FHC related question ++Newsgroups: soc.genealogy.german ++Date: Tue, 9 Feb 1999 02:32:48 -800 ++... ++ ++The following is a(n incomplete) listing, arranged chronologically, of ++European states, with the date they converted from the Julian to the ++Gregorian calendar: ++ ++04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman ++ Catholics and Danzig only) ++09/20 Dec 1582 - France, Lorraine ++ ++21 Dec 1582/ ++ 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau ++10/21 Feb 1583 - bishopric of Liege (Lüttich) ++13/24 Feb 1583 - bishopric of Augsburg ++04/15 Oct 1583 - electorate of Trier ++05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, ++ Salzburg, Brixen ++13/24 Oct 1583 - Austrian Oberelsaß and Breisgau ++20/31 Oct 1583 - bishopric of Basel ++02/13 Nov 1583 - duchy of Jülich-Berg ++02/13 Nov 1583 - electorate and city of Köln ++04/15 Nov 1583 - bishopric of Würzburg ++11/22 Nov 1583 - electorate of Mainz ++16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden ++17/28 Nov 1583 - bishopric of Münster and duchy of Cleve ++14/25 Dec 1583 - Steiermark ++ ++06/17 Jan 1584 - Austria and Bohemia ++11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn ++12/23 Jan 1584 - Silesia and the Lausitz ++22 Jan/ ++ 02 Feb 1584 - Hungary (legally on 21 Oct 1587) ++ Jun 1584 - Unterwalden ++01/12 Jul 1584 - duchy of Westfalen ++ ++16/27 Jun 1585 - bishopric of Paderborn ++ ++14/25 Dec 1590 - Transylvania ++ ++22 Aug/ ++ 02 Sep 1612 - duchy of Prussia ++ ++13/24 Dec 1614 - Pfalz-Neuburg ++ ++ 1617 - duchy of Kurland (reverted to the Julian calendar in ++ 1796) ++ ++ 1624 - bishopric of Osnabrück ++ ++ 1630 - bishopric of Minden ++ ++15/26 Mar 1631 - bishopric of Hildesheim ++ ++ 1655 - Kanton Wallis ++ ++05/16 Feb 1682 - city of Strassburg ++ ++18 Feb/ ++ 01 Mar 1700 - Protestant Germany (including Swedish possessions in ++ Germany), Denmark, Norway ++30 Jun/ ++ 12 Jul 1700 - Gelderland, Zutphen ++10 Nov/ ++ 12 Dec 1700 - Utrecht, Overijssel ++ ++31 Dec 1700/ ++ 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, ++ Turgau, and Schaffhausen ++ ++ 1724 - Glarus, Appenzell, and the city of St. Gallen ++ ++01 Jan 1750 - Pisa and Florence ++ ++02/14 Sep 1752 - Great Britain ++ ++17 Feb/ ++ 01 Mar 1753 - Sweden ++ ++1760-1812 - Graubünden ++ ++The Russian empire (including Finland and the Baltic states) did not ++convert to the Gregorian calendar until the Soviet revolution of 1917. ++ ++Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen ++Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend ++(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. ++ ++----- ++ ++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++ ++----- ++Local Variables: ++coding: utf-8 ++End: +--- contrib/tzdata/checklinks.awk.orig ++++ contrib/tzdata/checklinks.awk +@@ -9,7 +9,7 @@ + Zone = "\n" + } + +-/^Zone/ { ++/^Z/ { + if (defined[$2]) { + if (defined[$2] == Zone) { + printf "%s: Zone has duplicate definition\n", $2 +@@ -21,7 +21,7 @@ + defined[$2] = Zone + } + +-/^Link/ { ++/^L/ { + if (defined[$3]) { + if (defined[$3] == Zone) { + printf "%s: Link with same name as Zone\n", $3 +--- contrib/tzdata/europe.orig ++++ contrib/tzdata/europe +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-10): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -37,7 +37,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . He writes: ++# . He writes: + # "It is requested that corrections and additions to these tables + # may be sent to Mr. John Milne, Royal Geographical Society, + # Savile Row, London." Nowadays please email them to tz@iana.org. +@@ -44,7 +44,7 @@ + # + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. + # This Russian-language source was consulted by Vladimir Karpinsky; see +-# http://mm.icann.org/pipermail/tz/2014-August/021320.html ++# https://mm.icann.org/pipermail/tz/2014-August/021320.html + # The full Russian citation is: + # Бялокоз, Евгений Людвигович. Новый счет времени в течении суток + # введенный декретом Совета народных комиссаров для всей России с 1-го +@@ -56,26 +56,23 @@ + # History of Summer Time + # + # (1998-09-21, in Portuguese) +- + # + # I invented the abbreviations marked '*' in the following table; +-# the rest are from earlier versions of this file, or from other sources. +-# Corrections are welcome! +-# std dst 2dst +-# LMT Local Mean Time +-# -4:00 AST ADT Atlantic +-# -3:00 WGT WGST Western Greenland* +-# -1:00 EGT EGST Eastern Greenland* +-# 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)* +-# 0:20 NET NEST Netherlands (1937-1940)* +-# 1:00 BST British Standard (1968-1971) +-# 1:00 CET CEST CEMT Central Europe +-# 1:00:14 SET Swedish (1879-1899)* +-# 2:00 EET EEST Eastern Europe +-# 3:00 MSK MSD Moscow ++# the rest are variants of the "xMT" pattern for a city's mean time, ++# or are from other sources. Corrections are welcome! ++# std dst 2dst ++# LMT Local Mean Time ++# -4:00 AST ADT Atlantic ++# 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 CET CEST CEMT Central Europe ++# 1:00:14 SET Swedish (1879-1899) ++# 1:36:34 RMT* LST* Riga, Latvian Summer (1880-1926)* ++# 2:00 EET EEST Eastern Europe ++# 3:00 MSK MSD MDST* Moscow + + # From Peter Ilieve (1994-12-04), + # The original six [EU members]: Belgium, France, (West) Germany, Italy, +@@ -190,7 +187,7 @@ + # foundations of civilization throughout the world. + # -- "A Silent Toast to William Willett", Pictorial Weekly; + # republished in Finest Hour (Spring 2002) 1(114):26 +-# http://www.winstonchurchill.org/images/finesthour/Vol.01%20No.114.pdf ++# https://www.winstonchurchill.org/publications/finest-hour/finest-hour-114/a-silent-toast-to-william-willett-by-winston-s-churchill + + # From Paul Eggert (2015-08-08): + # The OED Supplement says that the English originally said "Daylight Saving" +@@ -228,8 +225,8 @@ + # official designation; the reply of the 21st was that there wasn't + # but he couldn't think of anything better than the "Double British + # Summer Time" that the BBC had been using informally. +-# http://www.polyomino.org.uk/british-time/bbc-19410418.png +-# http://www.polyomino.org.uk/british-time/ho-19410421.png ++# https://www.polyomino.org.uk/british-time/bbc-19410418.png ++# https://www.polyomino.org.uk/british-time/ho-19410421.png + + # From Sir Alexander Maxwell in the above-mentioned letter (1941-04-21): + # [N]o official designation has as far as I know been adopted for the time +@@ -246,13 +243,13 @@ + # the history of summer time legislation in the United Kingdom. + # Since 1998 Joseph S. Myers has been updating + # and extending this list, which can be found in +-# http://www.polyomino.org.uk/british-time/ ++# https://www.polyomino.org.uk/british-time/ + + # From Joseph S. Myers (1998-01-06): + # + # The legal time in the UK outside of summer time is definitely GMT, not UTC; + # see Lord Tanlaw's speech +-# http://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 ++# https://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 + # (Lords Hansard 11 June 1997 columns 964 to 976). + + # From Paul Eggert (2006-03-22): +@@ -298,7 +295,7 @@ + # Irish 'public feeling (was) outraged by forcing of English time on us'." + # -- Parsons M. Dublin lost its time zone - and 25 minutes - after 1916 Rising. + # Irish Times 2014-10-27. +-# http://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 ++# https://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 + + # From Joseph S. Myers (2005-01-26): + # Irish laws are available online at . +@@ -351,6 +348,12 @@ + # Justice (tel +353 1 678 9711) who confirmed to me that the correct name is + # "Irish Summer Time", abbreviated to "IST". + ++# Michael Deckers (2017-06-01) gave the following URLs for Ireland's ++# Summer Time Act, 1925 and Summer Time Orders, 1926 and 1947: ++# http://www.irishstatutebook.ie/eli/1925/act/8/enacted/en/print.html ++# http://www.irishstatutebook.ie/eli/1926/sro/919/made/en/print.html ++# http://www.irishstatutebook.ie/eli/1947/sro/71/made/en/print.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + # Summer Time Act, 1916 + Rule GB-Eire 1916 only - May 21 2:00s 1:00 BST +@@ -475,14 +478,14 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2 +- -0:25:21 - DMT 1916 May 21 2:00 ++ -0:25:21 - DMT 1916 May 21 2:00s # Dublin MT + -0:25:21 1:00 IST 1916 Oct 1 2:00s + 0:00 GB-Eire %s 1921 Dec 6 # independence +- 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00 +- 0:00 1:00 IST 1946 Oct 6 2:00 +- 0:00 - GMT 1947 Mar 16 2:00 +- 0:00 1:00 IST 1947 Nov 2 2:00 +- 0:00 - GMT 1948 Apr 18 2:00 ++ 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s ++ 0:00 1:00 IST 1946 Oct 6 2:00s ++ 0:00 - GMT 1947 Mar 16 2:00s ++ 0:00 1:00 IST 1947 Nov 2 2:00s ++ 0:00 - GMT 1948 Apr 18 2:00s + 0:00 GB-Eire GMT/IST 1968 Oct 27 + 1:00 - IST 1971 Oct 31 2:00u + 0:00 GB-Eire GMT/IST 1996 +@@ -628,7 +631,7 @@ + # Council of Ministers of the USSR from 1989-03-14 No. 227. + # + # I did not find full texts of these acts. For the 1989 one we have +-# title at http://base.garant.ru/70754136/ : ++# title at https://base.garant.ru/70754136/ : + # "About change in calculation of time on the territories of + # Lithuanian SSR, Latvian SSR and Estonian SSR, Astrakhan, + # Kaliningrad, Kirov, Kuybyshev, Ulyanovsk and Uralsk oblasts". +@@ -659,7 +662,7 @@ + # http://bmockbe.ru/events/?ID=7583 + # + # Medvedev signed a law on the calculation of the time (in russian): +-# http://www.regnum.ru/news/polit/1413906.html ++# https://www.regnum.ru/news/polit/1413906.html + + # From Arthur David Olson (2011-06-15): + # Take "abolishing daylight saving time" to mean that time is now considered +@@ -786,7 +789,7 @@ + # Sources (Russian language): + # http://www.belta.by/ru/all_news/society/V-Belarusi-otmenjaetsja-perexod-na-sezonnoe-vremja_i_572952.html + # http://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/ +-# http://news.tut.by/society/250578.html ++# https://news.tut.by/society/250578.html + # + # From Alexander Bokovoy (2014-10-09): + # Belarussian government decided against changing to winter time.... +@@ -901,7 +904,7 @@ + # Cyprus + # Please see the 'asia' file for Asia/Nicosia. + +-# Czech Republic ++# Czech Republic / Czechia + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Czech 1945 only - Apr 8 2:00s 1:00 S + Rule Czech 1945 only - Nov 18 2:00s 0 - +@@ -1064,16 +1067,16 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28 +- -3:00 - WGT 1980 Apr 6 2:00 +- -3:00 EU WG%sT 1996 ++ -3:00 - -03 1980 Apr 6 2:00 ++ -3:00 EU -03/-02 1996 + 0:00 - GMT + Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit +- -2:00 - CGT 1980 Apr 6 2:00 +- -2:00 C-Eur CG%sT 1981 Mar 29 +- -1:00 EU EG%sT ++ -2:00 - -02 1980 Apr 6 2:00 ++ -2:00 C-Eur -02/-01 1981 Mar 29 ++ -1:00 EU -01/+00 + Zone America/Godthab -3:26:56 - LMT 1916 Jul 28 # Nuuk +- -3:00 - WGT 1980 Apr 6 2:00 +- -3:00 EU WG%sT ++ -3:00 - -03 1980 Apr 6 2:00 ++ -3:00 EU -03/-02 + Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base + -4:00 Thule A%sT + +@@ -1107,7 +1110,7 @@ + # for their standard and summer times. He says no, they use "suveaeg" + # (summer time) and "talveaeg" (winter time). + +-# From The Baltic Times (1999-09-09) ++# From The Baltic Times (1999-09-09) + # via Steffen Thorsen: + # This year will mark the last time Estonia shifts to summer time, + # a council of the ruling coalition announced Sept. 6.... +@@ -1159,7 +1162,7 @@ + # This is documented in Heikki Oja: Aikakirja 2007, published by The Almanac + # Office of University of Helsinki, ISBN 952-10-3221-9, available online (in + # Finnish) at +-# http://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf ++# https://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf + # + # Page 105 (56 in PDF version) has a handy table of all past daylight savings + # transitions. It is easy enough to interpret without Finnish skills. +@@ -1172,7 +1175,7 @@ + + # From Konstantin Hyppönen (2014-06-13): + # [Heikki Oja's book Aikakirja 2013] +-# http://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf ++# https://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf + # pages 104-105, including a scan from a newspaper published on Apr 2 1942 + # say that ... [o]n Apr 2 1942, 24 o'clock (which means Apr 3 1942, + # 00:00), clocks were moved one hour forward. The newspaper +@@ -1302,7 +1305,7 @@ + + # From Jörg Schilling (2002-10-23): + # In 1945, Berlin was switched to Moscow Summer time (GMT+4) by +-# http://www.dhm.de/lemo/html/biografien/BersarinNikolai/ ++# https://www.dhm.de/lemo/html/biografien/BersarinNikolai/ + # General [Nikolai] Bersarin. + + # From Paul Eggert (2003-03-08): +@@ -1488,7 +1491,7 @@ + Rule Iceland 1967 only - Oct 29 1:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/Reykjavik -1:28 - LMT 1908 +- -1:00 Iceland IS%sT 1968 Apr 7 1:00s ++ -1:00 Iceland -01/+00 1968 Apr 7 1:00s + 0:00 - GMT + + # Italy +@@ -1527,7 +1530,7 @@ + # From Paul Eggert (2016-10-27): + # Go with INRiM for DST rules, except as corrected by Inglis for 1944 + # for the Kingdom of Italy. This is consistent with Renzo Baldini. +-# Model Rome's occupation by using using C-Eur rules from 1943-09-10 ++# Model Rome's occupation by using C-Eur rules from 1943-09-10 + # to 1944-06-04; although Rome was an open city during this period, it + # was effectively controlled by Germany. + # +@@ -1842,7 +1845,7 @@ + # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)- + # Tiraspol will go back to winter time on October 30, 2011. + # News from Moldova (in russian): +-# http://ru.publika.md/link_317061.html ++# https://ru.publika.md/link_317061.html + + # From Roman Tudos (2015-07-02): + # http://lex.justice.md/index.php?action=view&view=doc&lang=1&id=355077 +@@ -1849,7 +1852,7 @@ + # From Paul Eggert (2015-07-01): + # The abovementioned official link to IGO1445-868/2014 states that + # 2014-10-26's fallback transition occurred at 03:00 local time. Also, +-# http://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara ++# https://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara + # says the 2014-03-30 spring-forward transition was at 02:00 local time. + # Guess that since 1997 Moldova has switched one hour before the EU. + +@@ -1921,7 +1924,7 @@ + # Amsterdam mean time. + + # The data entries before 1945 are taken from +-# http://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm ++# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time +@@ -1952,7 +1955,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Europe/Amsterdam 0:19:32 - LMT 1835 + 0:19:32 Neth %s 1937 Jul 1 +- 0:20 Neth NE%sT 1940 May 16 0:00 # Dutch Time ++ 0:20 Neth +0020/+0120 1940 May 16 0:00 + 1:00 C-Eur CE%sT 1945 Apr 2 2:00 + 1:00 Neth CE%sT 1977 + 1:00 EU CE%sT +@@ -2002,7 +2005,7 @@ + # so it must have diverged from Oslo time during the war, as Oslo was + # keeping Berlin time. + # +-# says that the meteorologists ++# says that the meteorologists + # burned down their station in 1940 and left the island, but returned in + # 1941 with a small Norwegian garrison and continued operations despite + # frequent air attacks from Germans. In 1943 the Americans established a +@@ -2040,7 +2043,7 @@ + Rule Poland 1945 only - Nov 1 0:00 0 - + # For 1946 on the source is Kazimierz Borkowski, + # Toruń Center for Astronomy, Dept. of Radio Astronomy, Nicolaus Copernicus U., +-# http://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 ++# https://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 + # Thanks to Przemysław Augustyniak (2005-05-28) for this reference. + # He also gives these further references: + # Mon Pol nr 13, poz 162 (1995) +@@ -2074,7 +2077,7 @@ + # + # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: + # According to a Portuguese decree (1911-05-26) +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/application/dir/pdf1sdip/1911/05/12500/23132313.pdf + # Lisbon was at -0:36:44.68, but switched to GMT on 1912-01-01 at 00:00. + # Round the old offset to -0:36:45. This agrees with Willett but disagrees + # with Shanks, who says the transition occurred on 1911-05-24 at 00:00 for +@@ -2169,16 +2172,34 @@ + 0:00 W-Eur WE%sT 1992 Sep 27 1:00s + 1:00 EU CE%sT 1996 Mar 31 1:00u + 0:00 EU WE%sT ++# This Zone can be simplified once we assume zic %z. + Zone Atlantic/Azores -1:42:40 - LMT 1884 # Ponta Delgada + -1:54:32 - HMT 1912 Jan 1 # Horta Mean Time +- -2:00 Port AZO%sT 1966 Apr 3 2:00 # Azores Time +- -1:00 Port AZO%sT 1983 Sep 25 1:00s +- -1:00 W-Eur AZO%sT 1992 Sep 27 1:00s ++ -2:00 Port -02/-01 1942 Apr 25 22:00s ++ -2:00 Port +00 1942 Aug 15 22:00s ++ -2:00 Port -02/-01 1943 Apr 17 22:00s ++ -2:00 Port +00 1943 Aug 28 22:00s ++ -2:00 Port -02/-01 1944 Apr 22 22:00s ++ -2:00 Port +00 1944 Aug 26 22:00s ++ -2:00 Port -02/-01 1945 Apr 21 22:00s ++ -2:00 Port +00 1945 Aug 25 22:00s ++ -2:00 Port -02/-01 1966 Apr 3 2:00 ++ -1:00 Port -01/+00 1983 Sep 25 1:00s ++ -1:00 W-Eur -01/+00 1992 Sep 27 1:00s + 0:00 EU WE%sT 1993 Mar 28 1:00u +- -1:00 EU AZO%sT ++ -1:00 EU -01/+00 ++# This Zone can be simplified once we assume zic %z. + Zone Atlantic/Madeira -1:07:36 - LMT 1884 # Funchal + -1:07:36 - FMT 1912 Jan 1 # Funchal Mean Time +- -1:00 Port MAD%sT 1966 Apr 3 2:00 # Madeira Time ++ -1:00 Port -01/+00 1942 Apr 25 22:00s ++ -1:00 Port +01 1942 Aug 15 22:00s ++ -1:00 Port -01/+00 1943 Apr 17 22:00s ++ -1:00 Port +01 1943 Aug 28 22:00s ++ -1:00 Port -01/+00 1944 Apr 22 22:00s ++ -1:00 Port +01 1944 Aug 26 22:00s ++ -1:00 Port -01/+00 1945 Apr 21 22:00s ++ -1:00 Port +01 1945 Aug 25 22:00s ++ -1:00 Port -01/+00 1966 Apr 3 2:00 + 0:00 Port WE%sT 1983 Sep 25 1:00s + 0:00 EU WE%sT + +@@ -2238,7 +2259,7 @@ + # 2011 No. 725" and contains no other dates or "effective date" information. + # + # Another source is +-# http://www.rg.ru/2011/09/06/chas-zona-dok.html ++# https://rg.ru/2011/09/06/chas-zona-dok.html + # which, according to translate.google.com, begins "Resolution of the + # Government of the Russian Federation on August 31, 2011 N 725" and also + # contains "Date first official publication: September 6, 2011 Posted on: +@@ -2246,7 +2267,7 @@ + # does not contain any "effective date" information. + # + # Another source is +-# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 ++# https://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 + # which, in note 8, contains "Resolution No. 725 of August 31, 2011... + # Effective as of after 7 days following the day of the official publication" + # but which does not contain any reference to September 6, 2011. +@@ -2282,7 +2303,7 @@ + # http://itar-tass.com/obschestvo/1333711 + # http://www.pravo.gov.ru:8080/page.aspx?111660 + # http://www.kremlin.ru/acts/46279 +-# From October 26, 2014 the new Russian time zone map will looks like this: ++# From October 26, 2014 the new Russian time zone map will look like this: + # http://www.worldtimezone.com/dst_news/dst_news_russia-map-2014-07.html + + # From Paul Eggert (2006-03-22): +@@ -2329,7 +2350,7 @@ + # with maintenance only and represent our best guesses as to which regions + # are covered by each zone. They are not meant to be taken as an authoritative + # listing. The region codes listed come from +-# http://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 ++# https://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 + # and are used for convenience only; no guarantees are made regarding their + # future stability. ISO 3166-2:RU codes are also listed for first-level + # divisions where available. +@@ -2494,7 +2515,7 @@ + # http://www.kaliningradka.ru/site_pc/cherez/index.php?ELEMENT_ID=40091 + # says that Kaliningrad decided not to be an exception 2 days before the + # 1991-03-31 switch and one person at +-# http://izhevsk.ru/forum_light_message/50/682597-m8369040.html ++# https://izhevsk.ru/forum_light_message/50/682597-m8369040.html + # says he remembers that Samara opted out of the 1992-01-19 exception + # 2 days before the switch. + # +@@ -2536,10 +2557,8 @@ + 3:00 - MSK + + +-# From Tim Parenti (2014-07-03): +-# Europe/Simferopol covers... +-# ** **** Crimea, Republic of +-# ** **** Sevastopol ++# From Paul Eggert (2016-12-06): ++# Europe/Simferopol covers Crimea. + + Zone Europe/Simferopol 2:16:24 - LMT 1880 + 2:16 - SMT 1924 May 2 # Simferopol Mean T +@@ -2568,7 +2587,7 @@ + 3:00 - MSK 1997 Mar lastSun 1:00u + # From Alexander Krivenyshev (2014-03-17): + # time change at 2:00 (2am) on March 30, 2014 +-# http://vz.ru/news/2014/3/17/677464.html ++# https://vz.ru/news/2014/3/17/677464.html + # From Paul Eggert (2014-03-30): + # Simferopol and Sevastopol reportedly changed their central town clocks + # late the previous day, but this appears to have been ceremonial +@@ -2601,10 +2620,9 @@ + 3:00 - +03 2016 Mar 27 2:00s + 4:00 - +04 + +-# From Paul Eggert (2016-03-18): ++# From Paul Eggert (2016-11-11): + # Europe/Volgograd covers: + # 34 RU-VGG Volgograd Oblast +-# 64 RU-SAR Saratov Oblast + # The 1988 transition is from USSR act No. 5 (1988-01-04). + + Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3 +@@ -2617,6 +2635,27 @@ + 4:00 - +04 2014 Oct 26 2:00s + 3:00 - +03 + ++# From Paul Eggert (2016-11-11): ++# Europe/Saratov covers: ++# 64 RU-SAR Saratov Oblast ++ ++# From Yuri Konotopov (2016-11-11): ++# Dec 4, 2016 02:00 UTC+3.... Saratov Region's local time will be ... UTC+4. ++# From Stepan Golosunov (2016-11-11): ++# ... Byalokoz listed Saratov on 03:04:18. ++# From Stepan Golosunov (2016-11-22): ++# http://publication.pravo.gov.ru/Document/View/0001201611220031 ++ ++Zone Europe/Saratov 3:04:18 - LMT 1919 Jul 1 0:00u ++ 3:00 - +03 1930 Jun 21 ++ 4:00 Russia +04/+05 1988 Mar 27 2:00s ++ 3:00 Russia +03/+04 1991 Mar 31 2:00s ++ 4:00 - +04 1992 Mar 29 2:00s ++ 3:00 Russia +03/+04 2011 Mar 27 2:00s ++ 4:00 - +04 2014 Oct 26 2:00s ++ 3:00 - +03 2016 Dec 4 2:00s ++ 4:00 - +04 ++ + # From Paul Eggert (2016-03-18): + # Europe/Kirov covers: + # 43 RU-KIR Kirov Oblast +@@ -2731,7 +2770,7 @@ + # suggests that Altai Republic transitioned to Moscow+3 on + # 1995-05-28. + # +-# http://regnum.ru/news/society/1957270.html ++# https://regnum.ru/news/society/1957270.html + # has some historical data for Altai Krai: + # before 1957: west part on UTC+6, east on UTC+7 + # after 1957: UTC+7 +@@ -3105,8 +3144,8 @@ + # districts, but have very similar populations. In fact, Wikipedia currently + # lists them both as having 3528 people, exactly 1668 males and 1860 females + # each! (Yikes!) +-# http://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 +-# http://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 ++# https://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 ++# https://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 + # Assume this is a mistake, albeit an amusing one. + # + # Looking at censuses, the populations of the two municipalities seem to have +@@ -3212,46 +3251,77 @@ + # See Europe/Belgrade. + + # Spain ++# ++# From Paul Eggert (2016-12-14): ++# ++# The source for Europe/Madrid before 2013 is: ++# Planesas P. La hora oficial en España y sus cambios. ++# Anuario del Observatorio Astronómico de Madrid (2013, in Spanish). ++# http://astronomia.ign.es/rknowsys-theme/images/webAstro/paginas/documentos/Anuario/lahoraoficialenespana.pdf ++# As this source says that historical time in the Canaries is obscure, ++# and it does not discuss Ceuta, stick with Shanks for now for that data. ++# ++# In the 1918 and 1919 fallback transitions in Spain, the clock for ++# the hour-longer day officially kept going after midnight, so that ++# the repeated instances of that day's 00:00 hour were 24 hours apart, ++# with a fallback transition from the second occurrence of 00:59... to ++# the next day's 00:00. Our data format cannot represent this ++# directly, and instead repeats the first hour of the next day, with a ++# fallback transition from the next day's 00:59... to 00:00. ++ ++# From Michael Deckers (2016-12-15): ++# The Royal Decree of 1900-06-26 quoted by Planesas, online at ++# https://www.boe.es/datos/pdfs/BOE//1900/209/A00383-00384.pdf ++# says in its article 5 (my translation): ++# These dispositions will enter into force beginning with the ++# instant at which, according to the time indicated in article 1, ++# the 1st day of January of 1901 will begin. ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-# For 1917-1919 Whitman gives Apr Sat>=1 - Oct Sat>=1; +-# go with Shanks & Pottenger. +-Rule Spain 1917 only - May 5 23:00s 1:00 S +-Rule Spain 1917 1919 - Oct 6 23:00s 0 - +-Rule Spain 1918 only - Apr 15 23:00s 1:00 S +-Rule Spain 1919 only - Apr 5 23:00s 1:00 S +-# Whitman gives 1921 Feb 28 - Oct 14; go with Shanks & Pottenger. +-Rule Spain 1924 only - Apr 16 23:00s 1:00 S +-# Whitman gives 1924 Oct 14; go with Shanks & Pottenger. +-Rule Spain 1924 only - Oct 4 23:00s 0 - +-Rule Spain 1926 only - Apr 17 23:00s 1:00 S +-# Whitman says no DST in 1929; go with Shanks & Pottenger. +-Rule Spain 1926 1929 - Oct Sat>=1 23:00s 0 - +-Rule Spain 1927 only - Apr 9 23:00s 1:00 S +-Rule Spain 1928 only - Apr 14 23:00s 1:00 S +-Rule Spain 1929 only - Apr 20 23:00s 1:00 S +-# Whitman gives 1937 Jun 16, 1938 Apr 16, 1940 Apr 13; +-# go with Shanks & Pottenger. +-Rule Spain 1937 only - May 22 23:00s 1:00 S +-Rule Spain 1937 1939 - Oct Sat>=1 23:00s 0 - +-Rule Spain 1938 only - Mar 22 23:00s 1:00 S +-Rule Spain 1939 only - Apr 15 23:00s 1:00 S +-Rule Spain 1940 only - Mar 16 23:00s 1:00 S +-# Whitman says no DST 1942-1945; go with Shanks & Pottenger. +-Rule Spain 1942 only - May 2 22:00s 2:00 M # Midsummer +-Rule Spain 1942 only - Sep 1 22:00s 1:00 S +-Rule Spain 1943 1946 - Apr Sat>=13 22:00s 2:00 M +-Rule Spain 1943 only - Oct 3 22:00s 1:00 S +-Rule Spain 1944 only - Oct 10 22:00s 1:00 S +-Rule Spain 1945 only - Sep 30 1:00 1:00 S +-Rule Spain 1946 only - Sep 30 0:00 0 - ++Rule Spain 1918 only - Apr 15 23:00 1:00 S ++Rule Spain 1918 1919 - Oct 6 24:00s 0 - ++Rule Spain 1919 only - Apr 6 23:00 1:00 S ++Rule Spain 1924 only - Apr 16 23:00 1:00 S ++Rule Spain 1924 only - Oct 4 24:00s 0 - ++Rule Spain 1926 only - Apr 17 23:00 1:00 S ++Rule Spain 1926 1929 - Oct Sat>=1 24:00s 0 - ++Rule Spain 1927 only - Apr 9 23:00 1:00 S ++Rule Spain 1928 only - Apr 15 0:00 1:00 S ++Rule Spain 1929 only - Apr 20 23:00 1:00 S ++# Republican Spain during the civil war; it controlled Madrid until 1939-03-28. ++Rule Spain 1937 only - Jun 16 23:00 1:00 S ++Rule Spain 1937 only - Oct 2 24:00s 0 - ++Rule Spain 1938 only - Apr 2 23:00 1:00 S ++Rule Spain 1938 only - Apr 30 23:00 2:00 M ++Rule Spain 1938 only - Oct 2 24:00 1:00 S ++# The following rules are for unified Spain again. ++# ++# Planesas does not say what happened in Madrid between its fall on ++# 1939-03-28 and the Nationalist spring-forward transition on ++# 1939-04-15. For lack of better info, assume Madrid's clocks did not ++# change during that period. ++# ++# The first rule is commented out, as it is redundant for Republican Spain. ++#Rule Spain 1939 only - Apr 15 23:00 1:00 S ++Rule Spain 1939 only - Oct 7 24:00s 0 - ++Rule Spain 1942 only - May 2 23:00 1:00 S ++Rule Spain 1942 only - Sep 1 1:00 0 - ++Rule Spain 1943 1946 - Apr Sat>=13 23:00 1:00 S ++Rule Spain 1943 1944 - Oct Sun>=1 1:00 0 - ++Rule Spain 1945 1946 - Sep lastSun 1:00 0 - + Rule Spain 1949 only - Apr 30 23:00 1:00 S +-Rule Spain 1949 only - Sep 30 1:00 0 - +-Rule Spain 1974 1975 - Apr Sat>=13 23:00 1:00 S ++Rule Spain 1949 only - Oct 2 1:00 0 - ++Rule Spain 1974 1975 - Apr Sat>=12 23:00 1:00 S + Rule Spain 1974 1975 - Oct Sun>=1 1:00 0 - + Rule Spain 1976 only - Mar 27 23:00 1:00 S + Rule Spain 1976 1977 - Sep lastSun 1:00 0 - +-Rule Spain 1977 1978 - Apr 2 23:00 1:00 S +-Rule Spain 1978 only - Oct 1 1:00 0 - ++Rule Spain 1977 only - Apr 2 23:00 1:00 S ++Rule Spain 1978 only - Apr 2 2:00s 1:00 S ++Rule Spain 1978 only - Oct 1 2:00s 0 - ++# Nationalist Spain during the civil war ++#Rule NatSpain 1937 only - May 22 23:00 1:00 S ++#Rule NatSpain 1937 1938 - Oct Sat>=1 24:00s 0 - ++#Rule NatSpain 1938 only - Mar 26 23:00 1:00 S + # The following rules are copied from Morocco from 1967 through 1978. + Rule SpainAfrica 1967 only - Jun 3 12:00 1:00 S + Rule SpainAfrica 1967 only - Oct 1 0:00 0 - +@@ -3263,11 +3333,11 @@ + Rule SpainAfrica 1978 only - Jun 1 0:00 1:00 S + Rule SpainAfrica 1978 only - Aug 4 0:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Europe/Madrid -0:14:44 - LMT 1901 Jan 1 0:00s +- 0:00 Spain WE%sT 1946 Sep 30 ++Zone Europe/Madrid -0:14:44 - LMT 1900 Dec 31 23:45:16 ++ 0:00 Spain WE%sT 1940 Mar 16 23:00 + 1:00 Spain CE%sT 1979 + 1:00 EU CE%sT +-Zone Africa/Ceuta -0:21:16 - LMT 1901 ++Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44 + 0:00 - WET 1918 May 6 23:00 + 0:00 1:00 WEST 1918 Oct 7 23:00 + 0:00 - WET 1924 +@@ -3276,7 +3346,7 @@ + 1:00 - CET 1986 + 1:00 EU CE%sT + Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C. +- -1:00 - CANT 1946 Sep 30 1:00 # Canaries T ++ -1:00 - -01 1946 Sep 30 1:00 + 0:00 - WET 1980 Apr 6 0:00s + 0:00 1:00 WEST 1980 Sep 28 1:00u + 0:00 EU WE%sT +@@ -3396,7 +3466,7 @@ + # + # From Alois Treindl (2013-09-11): + # The Federal regulations say +-# http://www.admin.ch/opc/de/classified-compilation/20071096/index.html ++# https://www.admin.ch/opc/de/classified-compilation/20071096/index.html + # ... the meridian for Bern mean time ... is 7 degrees 26' 22.50". + # Expressed in time, it is 0h29m45.5s. + +@@ -3473,9 +3543,9 @@ + # According to the articles linked below, Turkey will change into summer + # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27. + # This change is due to a nationwide exam on 27th. +-# http://www.worldbulletin.net/?aType=haber&ArticleID=70872 ++# https://www.worldbulletin.net/?aType=haber&ArticleID=70872 + # Turkish: +-# http://www.hurriyet.com.tr/ekonomi/17230464.asp?gid=373 ++# https://www.hurriyet.com.tr/yaz-saati-uygulamasi-bir-gun-ileri-alindi-17230464 + + # From Faruk Pasin (2014-02-14): + # The DST for Turkey has been changed for this year because of the +@@ -3611,7 +3681,7 @@ + # http://www.segodnya.ua/news/14290482.html + # + # Deputies cancelled the winter time (in Russian) +-# http://www.pravda.com.ua/rus/news/2011/09/20/6600616/ ++# https://www.pravda.com.ua/rus/news/2011/09/20/6600616/ + # + # From Philip Pizzey (2011-10-18): + # Today my Ukrainian colleagues have informed me that the +@@ -3689,7 +3759,7 @@ + # spelling, except omit the apostrophe as it is not allowed in + # portable Posix file names. + Zone Europe/Zaporozhye 2:20:40 - LMT 1880 +- 2:20 - CUT 1924 May 2 # Central Ukraine T ++ 2:20 - +0220 1924 May 2 + 2:00 - EET 1930 Jun 21 + 3:00 - MSK 1941 Aug 25 + 1:00 C-Eur CE%sT 1943 Oct 25 +--- contrib/tzdata/leap-seconds.list.orig ++++ contrib/tzdata/leap-seconds.list +@@ -199,10 +199,10 @@ + # current -- the update time stamp, the data and the name of the file + # will not change. + # +-# Updated through IERS Bulletin C52 +-# File expires on: 28 June 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 + # +-#@ 3707596800 ++#@ 3739132800 + # + 2272060800 10 # 1 Jan 1972 + 2287785600 11 # 1 Jul 1972 +@@ -247,4 +247,4 @@ + # the hash line is also ignored in the + # computation. + # +-#h dacf2c42 2c4765d6 3c797af8 2cf630eb 699c8c67 ++#h 5101445a 69948b51 9153e2b 2086e3d8 d54561a3 +--- contrib/tzdata/leapseconds.orig ++++ contrib/tzdata/leapseconds +@@ -3,19 +3,18 @@ + # This file is in the public domain. + + # This file is generated automatically from the data in the public-domain +-# leap-seconds.list file available from most NIST time servers. +-# If the URL does not work, +-# you should be able to pick up leap-seconds.list from a secondary NIST server. +-# See for a list of secondary servers. ++# leap-seconds.list file, which is copied from: ++# ftp://ftp.nist.gov/pub/time/leap-seconds.list + # For more about leap-seconds.list, please see + # The NTP Timescale and Leap Seconds +-# http://www.eecis.udel.edu/~mills/leap.html ++# https://www.eecis.udel.edu/~mills/leap.html + + # The International Earth Rotation and Reference Systems Service + # periodically uses leap seconds to keep UTC to within 0.9 s of UT1 + # (which measures the true angular orientation of the earth in space); see +-# Terry J Quinn, The BIPM and the accurate measure of time, +-# Proc IEEE 79, 7 (July 1991), 894-905 . ++# Levine J. Coordinated Universal Time and the leap second. ++# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995 ++# http://ieeexplore.ieee.org/document/7909995/ + # There were no leap seconds before 1972, because the official mechanism + # accounting for the discrepancy between atomic time and the earth's rotation + # did not exist until the early 1970s. +@@ -58,5 +57,5 @@ + Leap 2015 Jun 30 23:59:60 + S + Leap 2016 Dec 31 23:59:60 + S + +-# Updated through IERS Bulletin C52 +-# File expires on: 28 June 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 +--- contrib/tzdata/leapseconds.awk.orig ++++ contrib/tzdata/leapseconds.awk +@@ -8,19 +8,18 @@ + print "# This file is in the public domain." + print "" + print "# This file is generated automatically from the data in the public-domain" +- print "# leap-seconds.list file available from most NIST time servers." +- print "# If the URL does not work," +- print "# you should be able to pick up leap-seconds.list from a secondary NIST server." +- print "# See for a list of secondary servers." ++ print "# leap-seconds.list file, which is copied from:" ++ print "# ftp://ftp.nist.gov/pub/time/leap-seconds.list" + print "# For more about leap-seconds.list, please see" + print "# The NTP Timescale and Leap Seconds" +- print "# http://www.eecis.udel.edu/~mills/leap.html" ++ print "# https://www.eecis.udel.edu/~mills/leap.html" + print "" + print "# The International Earth Rotation and Reference Systems Service" + print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1" + print "# (which measures the true angular orientation of the earth in space); see" +- print "# Terry J Quinn, The BIPM and the accurate measure of time," +- print "# Proc IEEE 79, 7 (July 1991), 894-905 ." ++ print "# Levine J. Coordinated Universal Time and the leap second." ++ print "# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995" ++ print "# http://ieeexplore.ieee.org/document/7909995/" + print "# There were no leap seconds before 1972, because the official mechanism" + print "# accounting for the discrepancy between atomic time and the earth's rotation" + print "# did not exist until the early 1970s." +--- contrib/tzdata/northamerica.orig ++++ contrib/tzdata/northamerica +@@ -105,10 +105,13 @@ + # Last night I heard part of a rebroadcast of a 1945 Arch Oboler radio drama. + # In the introduction, Oboler spoke of "Eastern Peace Time." + # An AltaVista search turned up: +-# http://rowayton.org/rhs/hstaug45.html ++# https://web.archive.org/web/20000926032210/http://rowayton.org/rhs/hstaug45.html + # "When the time is announced over the radio now, it is 'Eastern Peace + # Time' instead of the old familiar 'Eastern War Time.' Peace is wonderful." + # (August 1945) by way of confirmation. ++# ++# From Paul Eggert (2017-09-23): ++# This was the V-J Day issue of the Clamdigger, a Rowayton, CT newsletter. + + # From Joseph Gallant citing + # George H. Douglas, _The Early Days of Radio Broadcasting_ (1987): +@@ -178,22 +181,6 @@ + Zone MST7MDT -7:00 US M%sT + Zone PST8PDT -8:00 US P%sT + +-# From Bob Devine (1988-01-28): +-# ...Alaska (and Hawaii) had the timezone names changed in 1967. +-# old new +-# Pacific Standard Time(PST) -same- +-# Yukon Standard Time(YST) -same- +-# Central Alaska S.T. (CAT) Alaska-Hawaii St[an]dard Time (AHST) +-# Nome Standard Time (NT) Bering Standard Time (BST) +-# +-# ...Alaska's timezone lines were redrawn in 1983 to give only 2 tz. +-# The YST zone now covers nearly all of the state, AHST just part +-# of the Aleutian islands. No DST. +- +-# From Paul Eggert (1995-12-19): +-# The tables below use 'NST', not 'NT', for Nome Standard Time. +-# I invented 'CAWT' for Central Alaska War Time. +- + # From U. S. Naval Observatory (1989-01-19): + # USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON + # USA EASTERN 4 H BEHIND UTC APR 3 - OCT 30 +@@ -250,6 +237,21 @@ + # Samoa standard time + # The law doesn't give abbreviations. + # ++# From Paul Eggert (2016-12-19): ++# Here are URLs for the 1918 and 1966 legislation: ++# http://uscode.house.gov/statviewer.htm?volume=40&page=451 ++# http://uscode.house.gov/statviewer.htm?volume=80&page=108 ++# Although the 1918 names were officially "United States Standard ++# Eastern Time" and similarly for "Central", "Mountain", "Pacific", ++# and "Alaska", in practice "Standard" was placed just before "Time", ++# as codified in 1966. In practice, Alaska time was abbreviated "AST" ++# before 1968. Summarizing the 1967 name changes: ++# 1918 names 1967 names ++# -08 Standard Pacific Time (PST) Pacific standard time (PST) ++# -09 (unofficial) Yukon (YST) Yukon standard time (YST) ++# -10 Standard Alaska Time (AST) Alaska-Hawaii standard time (AHST) ++# -11 (unofficial) Nome (NST) Bering standard time (BST) ++# + # From Paul Eggert (2000-01-08), following a heads-up from Rives McDow: + # Public law 106-564 (2000-12-23) introduced ... "Chamorro Standard Time" + # for time in Guam and the Northern Marianas. See the file "australasia". +@@ -258,7 +260,7 @@ + # HST and HDT are standardized abbreviations for Hawaii-Aleutian + # standard and daylight times. See section 9.47 (p 234) of the + # U.S. Government Printing Office Style Manual (2008) +-# http://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf ++# https://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf + + # From Arthur David Olson, 2005-08-09 + # The following was signed into law on 2005-08-08. +@@ -305,6 +307,15 @@ + # Roberts, city administrator in Phenix City. as saying "We are in the Central + # time zone, but we do go by the Eastern time zone because so many people work + # in Columbus." ++# ++# From Paul Eggert (2017-02-22): ++# Four cities are involved. The two not mentioned above are Smiths Station ++# and Valley. Barbara Brooks, Valley's assistant treasurer, heard it started ++# because West Point Pepperell textile mills were in Alabama while the ++# corporate office was in Georgia, and residents voted to keep Eastern ++# time even after the mills closed. See: Kazek K. Did you know which ++# Alabama towns are in a different time zone? al.com 2017-02-06. ++# http://www.al.com/living/index.ssf/2017/02/do_you_know_which_alabama_town.html + + # From Paul Eggert (2014-09-06): + # Monthly Notices of the Royal Astronomical Society 44, 4 (1884-02-08), 208 +@@ -338,7 +349,7 @@ + # western Tennessee, most of Texas, Wisconsin + + # From Larry M. Smith (2006-04-26) re Wisconsin: +-# http://www.legis.state.wi.us/statutes/Stat0175.pdf ... ++# https://docs.legis.wisconsin.gov/statutes/statutes/175.pdf + # is currently enforced at the 01:00 time of change. Because the local + # "bar time" in the state corresponds to 02:00, a number of citations + # are issued for the "sale of class 'B' alcohol after prohibited +@@ -347,7 +358,7 @@ + # From Douglas R. Bomberg (2007-03-12): + # Wisconsin has enacted (nearly eleventh-hour) legislation to get WI + # Statue 175 closer in synch with the US Congress' intent.... +-# http://www.legis.state.wi.us/2007/data/acts/07Act3.pdf ++# https://docs.legis.wisconsin.gov/2007/related/acts/3 + + # From an email administrator of the City of Fort Pierre, SD (2015-12-21): + # Fort Pierre is technically located in the Mountain time zone as is +@@ -394,7 +405,7 @@ + # ...it appears that Mercer County, North Dakota, changed from the + # mountain time zone to the central time zone at the last transition from + # daylight-saving to standard time (on Nov. 7, 2010): +-# http://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm ++# https://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm + # http://www.bismarcktribune.com/news/local/article_1eb1b588-c758-11df-b472-001cc4c03286.html + + # From Andy Lipscomb (2011-01-24): +@@ -445,7 +456,7 @@ + # legal time, and is not part of the data here.) See: + # Ross SA. An energy crisis from the past: Northern California in 1948. + # Working Paper No. 8, Institute of Governmental Studies, UC Berkeley, +-# 1973-11. http://escholarship.org/uc/item/8x22k30c ++# 1973-11. https://escholarship.org/uc/item/8x22k30c + # + # In another measure to save electricity, DST was instituted from 1948-03-14 + # at 02:01 to 1949-01-16 at 02:00, with the governor having the option to move +@@ -466,8 +477,8 @@ + # which established DST from April's last Sunday at 01:00 until September's + # last Sunday at 02:00. This was amended by 1962's Proposition 6, which changed + # the fall-back date to October's last Sunday. See: +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props + # + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule CA 1948 only - Mar 14 2:01 1:00 D +@@ -482,22 +493,33 @@ + -8:00 US P%sT + + # Alaska +-# AK%sT is the modern abbreviation for -9:00 per USNO. ++# AK%sT is the modern abbreviation for -09 per USNO. + # +-# From Paul Eggert (2001-05-30): ++# From Paul Eggert (2017-06-15): + # Howse writes that Alaska switched from the Julian to the Gregorian calendar, + # and from east-of-GMT to west-of-GMT days, when the US bought it from Russia. +-# This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian, +-# also a Friday. Include only the time zone part of this transition, +-# ignoring the switch from Julian to Gregorian, since we can't represent +-# the Julian calendar. ++# On Friday, 1867-10-18 (Gregorian), at precisely 15:30 local time, the ++# Russian forts and fleet at Sitka fired salutes to mark the ceremony of ++# formal transfer. See the Sacramento Daily Union (1867-11-14), p 3, col 2. ++# https://cdnc.ucr.edu/cgi-bin/cdnc?a=d&d=SDU18671114.2.12.1 ++# Sitka workers did not change their calendars until Sunday, 1867-10-20, ++# and so celebrated two Sundays that week. See: Ahllund T (tr Hallamaa P). ++# From the memoirs of a Finnish workman. Alaska History. 2006 Fall;21(2):1-25. ++# http://alaskahistoricalsociety.org/wp-content/uploads/2016/12/Ahllund-2006-Memoirs-of-a-Finnish-Workman.pdf ++# Include only the time zone part of this transition, ignoring the switch ++# from Julian to Gregorian, since we can't represent the Julian calendar. + # +-# As far as we know, none of the exact locations mentioned below were ++# As far as we know, of the locations mentioned below only Sitka was + # permanently inhabited in 1867 by anyone using either calendar. +-# (Yakutat was colonized by the Russians in 1799, but the settlement +-# was destroyed in 1805 by a Yakutat-kon war party.) However, there +-# were nearby inhabitants in some cases and for our purposes perhaps +-# it's best to simply use the official transition. ++# (Yakutat was colonized by the Russians in 1799, but the settlement was ++# destroyed in 1805 by a Yakutat-kon war party.) Many of Alaska's inhabitants ++# were unaware of the US acquisition of Alaska, much less of any calendar or ++# time change. However, the Russian-influenced part of Alaska did observe ++# Russian time, and it is more accurate to model this than to ignore it. ++# The database format requires an exact transition time; use the Russian ++# salute as a somewhat-arbitrary time for the formal transfer of control for ++# all of Alaska. Sitka's UTC offset is -9:01:13; adjust its 15:30 to the ++# local times of other Alaskan locations so that they change simultaneously. + + # From Paul Eggert (2014-07-18): + # One opinion of the early-1980s turmoil in Alaska over time zones and +@@ -550,10 +572,10 @@ + # It seems Metlakatla did go off PST on Sunday, November 1, changing + # their time to AKST and are going to follow Alaska's DST, switching + # between AKST and AKDT from now on.... +-# http://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ ++# https://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone America/Juneau 15:02:19 - LMT 1867 Oct 18 ++Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32 + -8:57:41 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -563,7 +585,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Sitka 14:58:47 - LMT 1867 Oct 18 ++Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30 + -9:01:13 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -571,7 +593,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 18 ++Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55 + -8:46:18 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -579,7 +601,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -8:00 - PST 2015 Nov 1 2:00 + -9:00 US AK%sT +-Zone America/Yakutat 14:41:05 - LMT 1867 Oct 18 ++Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18 + -9:18:55 - LMT 1900 Aug 20 12:00 + -9:00 - YST 1942 + -9:00 US Y%sT 1946 +@@ -586,17 +608,15 @@ + -9:00 - YST 1969 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Anchorage 14:00:24 - LMT 1867 Oct 18 ++Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37 + -9:59:36 - LMT 1900 Aug 20 12:00 +- -10:00 - CAT 1942 +- -10:00 US CAT/CAWT 1945 Aug 14 23:00u +- -10:00 US CAT/CAPT 1946 # Peace +- -10:00 - CAT 1967 Apr ++ -10:00 - AST 1942 ++ -10:00 US A%sT 1967 Apr + -10:00 - AHST 1969 + -10:00 US AH%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Nome 12:58:21 - LMT 1867 Oct 18 ++Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35 + -11:01:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -605,7 +625,7 @@ + -11:00 US B%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Adak 12:13:21 - LMT 1867 Oct 18 ++Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35 + -11:46:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -641,7 +661,7 @@ + # "Hawaiian Time" by Robert C. Schmitt and Doak C. Cox appears on pages 207-225 + # of volume 26 of The Hawaiian Journal of History (1992). As of 2010-12-09, + # the article is available at +-# http://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf ++# https://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf + # and indicates that standard time was adopted effective noon, January + # 13, 1896 (page 218), that in "1933, the Legislature decreed daylight + # saving for the period between the last Sunday of each April and the +@@ -680,7 +700,6 @@ + -10:30 1:00 HDT 1945 Sep 30 2:00 + -10:30 - HST 1947 Jun 8 2:00 + -10:00 - HST +-Link Pacific/Honolulu Pacific/Johnston + + # Now we turn to US areas that have diverged from the consensus since 1970. + +@@ -741,7 +760,7 @@ + # Indiana + # + # For a map of Indiana's time zone regions, see: +-# http://en.wikipedia.org/wiki/Time_in_Indiana ++# https://en.wikipedia.org/wiki/Time_in_Indiana + # + # From Paul Eggert (2007-08-17): + # Since 1970, most of Indiana has been like America/Indiana/Indianapolis, +@@ -968,7 +987,7 @@ + # From Paul Eggert (2001-07-16): + # The final rule was published in the + # Federal Register 65, 160 (2000-08-17), pp 50154-50158. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=2000_register&docid=fr17au00-22 ++# https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm + # + Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36 + -6:00 US C%sT 1946 +@@ -994,7 +1013,7 @@ + # West Wendover, NV officially switched from Pacific to mountain time on + # 1999-10-31. See the + # Federal Register 64, 203 (1999-10-21), pp 56705-56707. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=1999_register&docid=fr21oc99-15 ++# https://www.gpo.gov/fdsys/pkg/FR-1999-10-21/html/99-27240.htm + # However, the Federal Register says that West Wendover already operated + # on mountain time, and the rule merely made this official; + # hence a separate tz entry is not needed. +@@ -1024,12 +1043,23 @@ + # one hour in 1914." This change is not in Shanks. We have no more + # info, so omit this for now. + # ++# From Paul Eggert (2017-07-26): ++# Although Shanks says Detroit observed DST in 1967 from 06-14 00:01 ++# until 10-29 00:01, I now see multiple reports that this is incorrect. ++# For example, according to a 50-year anniversary report about the 1967 ++# Detroit riots and a major-league doubleheader on 1967-07-23, "By the time ++# the last fly ball of the doubleheader settled into the glove of leftfielder ++# Lenny Green, it was after 7 p.m. Detroit did not observe daylight saving ++# time, so light was already starting to fail. Twilight was made even deeper ++# by billowing columns of smoke that ascended in an unbroken wall north of the ++# ballpark." See: Dow B. Detroit '67: As violence unfolded, Tigers played two ++# at home vs. Yankees. Detroit Free Press 2017-07-23. ++# https://www.freep.com/story/sports/mlb/tigers/2017/07/23/detroit-tigers-1967-riot-new-york-yankees/499951001/ ++# + # Most of Michigan observed DST from 1973 on, but was a bit late in 1975. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule Detroit 1948 only - Apr lastSun 2:00 1:00 D + Rule Detroit 1948 only - Sep lastSun 2:00 0 S +-Rule Detroit 1967 only - Jun 14 2:00 1:00 D +-Rule Detroit 1967 only - Oct lastSun 2:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Detroit -5:32:11 - LMT 1905 + -6:00 - CST 1915 May 15 2:00 +@@ -1068,7 +1098,7 @@ + ################################################################################ + + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-10): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -1075,8 +1105,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -1093,7 +1123,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . ++# . + # + # See the 'europe' file for Greenland. + +@@ -1139,19 +1169,19 @@ + # The British Columbia government announced yesterday that it will + # adjust daylight savings next year to align with changes in the + # U.S. and the rest of Canada.... +-# http://www2.news.gov.bc.ca/news_releases_2005-2009/2006AG0014-000330.htm ++# https://archive.news.gov.bc.ca/releases/news_releases_2005-2009/2006AG0014-000330.htm + # ... + # Nova Scotia + # Daylight saving time will be extended by four weeks starting in 2007.... +-# http://www.gov.ns.ca/just/regulations/rg2/2006/ma1206.pdf ++# https://www.novascotia.ca/just/regulations/rg2/2006/ma1206.pdf + # + # [For New Brunswick] the new legislation dictates that the time change is to + # be done at 02:00 instead of 00:01. +-# http://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf ++# https://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf + # ... + # Manitoba has traditionally changed the clock every fall at 03:00. + # As of 2006, the transition is to take place one hour earlier at 02:00. +-# http://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php ++# https://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php + # ... + # [Alberta, Ontario, Quebec] will follow US rules. + # http://www.qp.gov.ab.ca/documents/spring/CH03_06.CFM +@@ -1165,7 +1195,7 @@ + # http://www.hoa.gov.nl.ca/hoa/bills/Bill0634.htm + # ... + # Yukon +-# http://www.gov.yk.ca/legislation/regs/oic2006_127.pdf ++# https://www.gov.yk.ca/legislation/regs/oic2006_127.pdf + # ... + # N.W.T. will follow US rules. Whoever maintains the government web site + # does not seem to believe in bookmarks. To see the news release, click the +@@ -1186,8 +1216,8 @@ + # time and daylight saving time arrangements in Canada circa 1998. + # + # National Research Council Canada maintains info about time zones and DST. +-# http://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html +-# http://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 ++# https://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html ++# https://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 + # Its unofficial information is often taken from Matthews and Vincent. + + # From Paul Eggert (2006-06-27): +@@ -1224,11 +1254,13 @@ + + # Newfoundland and Labrador + +-# From Paul Eggert (2000-10-02): +-# Matthews and Vincent (1998) write that Labrador should use NST/NDT, +-# but the only part of Labrador that follows the rules is the +-# southeast corner, including Port Hope Simpson and Mary's Harbour, +-# but excluding, say, Black Tickle. ++# From Paul Eggert (2017-10-14): ++# Legally Labrador should observe Newfoundland time; see: ++# McLeod J. Labrador time - legal or not? St. John's Telegram, 2017-10-07 ++# http://www.thetelegram.com/news/local/labrador-time--legal-or-not-154860/ ++# Matthews and Vincent (1998) write that the only part of Labrador ++# that follows the rules is the southeast corner, including Port Hope ++# Simpson and Mary's Harbour, but excluding, say, Black Tickle. + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule StJohns 1917 only - Apr 8 2:00 1:00 D +@@ -1428,7 +1460,7 @@ + # http://www.justice.gouv.qc.ca/english/publications/generale/temps-minganie-a.htm + # that the coastal strip from just east of Natashquan to Blanc-Sablon + # observes Atlantic standard time all year round. +-# http://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en ++# https://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en + # says this common practice was codified into law as of 2007. + # For lack of better info, guess this practice began around 1970, contra to + # Shanks & Pottenger who have this region observing AST/ADT. +@@ -1460,6 +1492,11 @@ + # earlier in June). + # + # Kenora, Ontario, was to abandon DST on 1914-06-01 (-05-21). ++# ++# From Paul Eggert (2017-07-08): ++# For more on Orillia, see: Daubs K. Bold attempt at daylight saving ++# 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 +@@ -1951,7 +1988,7 @@ + # * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68, + # c. 7 defines Yukon standard time as UTC-9.... + # see Interpretation Act, R.S.C. 1985, c. I-21, s. 35(1). +-# [http://canlii.ca/t/7vhg] ++# [https://www.canlii.org/en/ca/laws/stat/rsc-1985-c-i-21/latest/rsc-1985-c-i-21.html] + # * C.O. 1973/214 switched Yukon to PST on 1973-10-28 00:00. + # * O.I.C. 1980/02 established DST. + # * O.I.C. 1987/056 changed DST to Apr firstSun 2:00 to Oct lastSun 2:00. +@@ -2016,7 +2053,7 @@ + # hours behind Greenwich Time. + # + # * Yukon Standard Time defined as Pacific Standard Time, YCO 1973/214 +-# http://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html ++# https://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html + # C.O. 1973/214 INTERPRETATION ACT ... + # + # 1. Effective October 28, 1973 Commissioner's Order 1967/59 is hereby +@@ -2031,7 +2068,7 @@ + # http://? - no online source found + # + # * Yukon Daylight Saving Time, YOIC 1987/56 +-# http://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html + # O.I.C. 1987/056 INTERPRETATION ACT ... + # + # In every year between +@@ -2043,7 +2080,7 @@ + # Dated ... 9th day of March, A.D., 1987. + # + # * Yukon Daylight Saving Time 2006, YOIC 2006/127 +-# http://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html + # O.I.C. 2006/127 INTERPRETATION ACT ... + # + # 1. In Yukon each year the time for general purposes shall be 7 hours +@@ -2057,7 +2094,7 @@ + # 3. This order comes into force January 1, 2007. + # + # * Interpretation Act, RSY 2002, c 125 +-# http://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html ++# https://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html + + # From Rives McDow (1999-09-04): + # Nunavut ... moved ... to incorporate the whole territory into one time zone. +@@ -2100,7 +2137,7 @@ + + # From Michaela Rodrigue, writing in the + # Nunatsiaq News (1999-11-19): +-# http://www.nunatsiaq.com/archives/nunavut991130/nvt91119_17.html ++# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html + # Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones, + # central - or Nunavut time - for government offices, and eastern time + # for municipal offices and schools.... Igloolik [was similar but then] +@@ -2118,7 +2155,7 @@ + # Central Time and Southampton Island [in the Central zone] is not + # required to use daylight savings. + +-# From ++# From + # Nunavut now has two time zones (2000-11-10): + # The Nunavut government would allow its employees in Kugluktuk and + # Cambridge Bay to operate on central time year-round, putting them +@@ -2449,7 +2486,7 @@ + # http://gaceta.diputados.gob.mx/Gaceta/61/2009/dic/V2-101209.html + # + # Our page: +-# http://www.timeanddate.com/news/time/north-mexico-dst-change.html ++# https://www.timeanddate.com/news/time/north-mexico-dst-change.html + + # From Arthur David Olson (2010-01-20): + # The page +@@ -2734,15 +2771,15 @@ + # Belize + # Whitman entirely disagrees with Shanks; go with Shanks & Pottenger. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Belize 1918 1942 - Oct Sun>=2 0:00 0:30 HD +-Rule Belize 1919 1943 - Feb Sun>=9 0:00 0 S +-Rule Belize 1973 only - Dec 5 0:00 1:00 D +-Rule Belize 1974 only - Feb 9 0:00 0 S +-Rule Belize 1982 only - Dec 18 0:00 1:00 D +-Rule Belize 1983 only - Feb 12 0:00 0 S ++Rule Belize 1918 1942 - Oct Sun>=2 0:00 0:30 -0530 ++Rule Belize 1919 1943 - Feb Sun>=9 0:00 0 CST ++Rule Belize 1973 only - Dec 5 0:00 1:00 CDT ++Rule Belize 1974 only - Feb 9 0:00 0 CST ++Rule Belize 1982 only - Dec 18 0:00 1:00 CDT ++Rule Belize 1983 only - Feb 12 0:00 0 CST + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Belize -5:52:48 - LMT 1912 Apr +- -6:00 Belize C%sT ++ -6:00 Belize %s + + # Bermuda + +@@ -2868,7 +2905,7 @@ + # http://www.nnc.cubaweb.cu/marzo-2008/cien-1-11-3-08.htm + # + # Some more background information is posted here: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html + # + # The article also says that Cuba has been observing DST since 1963, + # while Shanks (and tzdata) has 1965 as the first date (except in the +@@ -2915,7 +2952,7 @@ + # http://granma.co.cu/2011/03/08/nacional/artic01.html + # + # Our info: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2011.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2011.html + # + # From Steffen Thorsen (2011-10-30) + # Cuba will end DST two weeks later this year. Instead of going back +@@ -2925,7 +2962,7 @@ + # http://www.radioangulo.cu/noticias/cuba/17105-cuba-restablecera-el-horario-del-meridiano-de-greenwich.html + # + # Our page: +-# http://www.timeanddate.com/news/time/cuba-time-changes-2011.html ++# https://www.timeanddate.com/news/time/cuba-time-changes-2011.html + # + # From Steffen Thorsen (2012-03-01) + # According to Radio Reloj, Cuba will start DST on Midnight between March +@@ -2935,7 +2972,7 @@ + # http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril + # + # Our info on it: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2012.html + + # From Steffen Thorsen (2012-11-03): + # Radio Reloj and many other sources report that Cuba is changing back +@@ -3014,16 +3051,16 @@ + + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule DR 1966 only - Oct 30 0:00 1:00 D +-Rule DR 1967 only - Feb 28 0:00 0 S +-Rule DR 1969 1973 - Oct lastSun 0:00 0:30 HD +-Rule DR 1970 only - Feb 21 0:00 0 S +-Rule DR 1971 only - Jan 20 0:00 0 S +-Rule DR 1972 1974 - Jan 21 0:00 0 S ++Rule DR 1966 only - Oct 30 0:00 1:00 EDT ++Rule DR 1967 only - Feb 28 0:00 0 EST ++Rule DR 1969 1973 - Oct lastSun 0:00 0:30 -0430 ++Rule DR 1970 only - Feb 21 0:00 0 EST ++Rule DR 1971 only - Jan 20 0:00 0 EST ++Rule DR 1972 1974 - Jan 21 0:00 0 EST + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Santo_Domingo -4:39:36 - LMT 1890 + -4:40 - SDMT 1933 Apr 1 12:00 # S. Dom. MT +- -5:00 DR E%sT 1974 Oct 27 ++ -5:00 DR %s 1974 Oct 27 + -4:00 - AST 2000 Oct 29 2:00 + -5:00 US E%sT 2000 Dec 3 1:00 + -4:00 - AST +@@ -3130,10 +3167,16 @@ + # From Steffen Thorsen (2016-03-12): + # Jean Antoine, editor of www.haiti-reference.com informed us that Haiti + # are not going on DST this year. Several other resources confirm this: ... +-# http://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html +-# http://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ ++# https://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html ++# https://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ + # http://news.anmwe.com/haiti-lheure-nationale-ne-sera-ni-avancee-ni-reculee-cette-annee/ + ++# From Steffen Thorsen (2017-03-12): ++# We have received 4 mails from different people telling that Haiti ++# has started DST again today, and this source seems to confirm that, ++# I have not been able to find a more authoritative source: ++# https://www.haitilibre.com/en/news-20319-haiti-notices-time-change-in-haiti.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Haiti 1983 only - May 8 0:00 1:00 D + Rule Haiti 1984 1987 - Apr lastSun 0:00 1:00 D +@@ -3146,6 +3189,8 @@ + Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S + Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D + Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S ++Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D ++Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Port-au-Prince -4:49:20 - LMT 1890 + -4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT +@@ -3313,8 +3358,8 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre + -4:00 - AST 1980 May +- -3:00 - PMST 1987 # Pierre & Miquelon Time +- -3:00 Canada PM%sT ++ -3:00 - -03 1987 ++ -3:00 Canada -03/-02 + + # St Vincent and the Grenadines + # See America/Port_of_Spain. +@@ -3322,7 +3367,7 @@ + # Turks and Caicos + # + # From Chris Dunn in +-# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415007 ++# https://bugs.debian.org/415007 + # (2007-03-15): In the Turks & Caicos Islands (America/Grand_Turk) the + # daylight saving dates for time changes have been adjusted to match + # the recent U.S. change of dates. +@@ -3344,12 +3389,25 @@ + # "permanent daylight saving time" by one year.... + # http://tcweeklynews.com/time-change-to-go-ahead-this-november-p5437-127.htm + # ++# From the Turks & Caicos Cabinet (2017-07-20), heads-up from Steffen Thorsen: ++# ... agreed to the reintroduction in TCI of Daylight Saving Time (DST) ++# during the summer months and Standard Time, also known as Local ++# Time, during the winter months with effect from April 2018 ... ++# https://www.gov.uk/government/news/turks-and-caicos-post-cabinet-meeting-statement--3 ++# ++# From Paul Eggert (2017-08-26): ++# The date of effect of the spring 2018 change appears to be March 11, ++# which makes more sense. See: Hamilton D. Time change back ++# by March 2018 for TCI. Magnetic Media. 2017-08-25. ++# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/ ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Grand_Turk -4:44:32 - LMT 1890 + -5:07:11 - KMT 1912 Feb # Kingston Mean Time + -5:00 - EST 1979 + -5:00 US E%sT 2015 Nov Sun>=1 2:00 +- -4:00 - AST ++ -4:00 - AST 2018 Mar 11 3:00 ++ -5:00 US E%sT + + # British Virgin Is + # Virgin Is +--- contrib/tzdata/southamerica.orig ++++ contrib/tzdata/southamerica +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2016-12-05): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -22,34 +22,12 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # +-# Earlier editions of these tables used the North American style (e.g. ARST and +-# ARDT for Argentine Standard and Daylight Time), but the following quote +-# suggests that it's better to use European style (e.g. ART and ARST). +-# I suggest the use of _Summer time_ instead of the more cumbersome +-# _daylight-saving time_. _Summer time_ seems to be in general use +-# in Europe and South America. +-# -- E O Cutler, _New York Times_ (1937-02-14), quoted in +-# H L Mencken, _The American Language: Supplement I_ (1960), p 466 +-# +-# Earlier editions of these tables also used the North American style +-# for time zones in Brazil, but this was incorrect, as Brazilians say +-# "summer time". Reinaldo Goulart, a São Paulo businessman active in +-# the railroad sector, writes (1999-07-06): +-# The subject of time zones is currently a matter of discussion/debate in +-# Brazil. Let's say that "the Brasília time" is considered the +-# "official time" because Brasília is the capital city. +-# The other three time zones are called "Brasília time "minus one" or +-# "plus one" or "plus two". As far as I know there is no such +-# name/designation as "Eastern Time" or "Central Time". +-# So I invented the following (English-language) abbreviations for now. +-# Corrections are welcome! +-# std dst +-# -2:00 FNT FNST Fernando de Noronha +-# -3:00 BRT BRST Brasília +-# -4:00 AMT AMST Amazon +-# -5:00 ACT ACST Acre ++# These tables use numeric abbreviations like -03 and -0330 for ++# integer hour and minute UTC offsets. Although earlier editions used ++# alphabetic time zone abbreviations, these abbreviations were ++# invented and did not reflect common practice. + + ############################################################################### + +@@ -287,8 +265,8 @@ + # + # Es inminente que en San Luis atrasen una hora los relojes + # (It is imminent in San Luis clocks one hour delay) +-# http://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html +-# http://www.worldtimezone.net/dst_news/dst_news_argentina02.html ++# https://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html ++# http://www.worldtimezone.com/dst_news/dst_news_argentina02.html + + # From Jesper Nørgaard Welen (2008-01-18): + # The page of the San Luis provincial government +@@ -384,12 +362,6 @@ + # + # So I guess a new set of rules, besides "Arg", must be made and the last + # America/Argentina/San_Luis entries should change to use these... +-# +-# I'm enclosing a patch that does what I say... regretfully, the San Luis +-# timezone must be called "WART/WARST" even when most of the time (like, +-# right now) WARST == ART... that is, since last Sunday, all the country +-# is using UTC-3, but in my patch, San Luis calls it "WARST" and the rest +-# of the country calls it "ART". + # ... + + # From Alexander Krivenyshev (2010-04-09): +@@ -413,7 +385,7 @@ + # Perhaps San Luis operates on the legal fiction that it is at -04 + # with perpetual summer time, but ordinary usage typically seems to + # just say it's at -03; see, for example, +-# http://es.wikipedia.org/wiki/Hora_oficial_argentina ++# https://es.wikipedia.org/wiki/Hora_oficial_argentina + # We've documented similar situations as being plain changes to + # standard time, so let's do that here too. This does not change UTC + # offsets, only tm_isdst and the time zone abbreviations. One minor +@@ -428,11 +400,11 @@ + # Buenos Aires (BA), Capital Federal (CF), + Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May # Córdoba Mean Time +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 + # + # Córdoba (CB), Santa Fe (SF), Entre Ríos (ER), Corrientes (CN), Misiones (MN), + # Chaco (CC), Formosa (FM), Santiago del Estero (SE) +@@ -446,113 +418,113 @@ + # + Zone America/Argentina/Cordoba -4:16:48 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 + # + # Salta (SA), La Pampa (LP), Neuquén (NQ), Rio Negro (RN) + Zone America/Argentina/Salta -4:21:40 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Tucumán (TM) + Zone America/Argentina/Tucuman -4:20:52 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 13 +- -3:00 Arg AR%sT ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 13 ++ -3:00 Arg -03/-02 + # + # La Rioja (LR) + Zone America/Argentina/La_Rioja -4:27:24 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 1 +- -4:00 - WART 1991 May 7 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 1 ++ -4:00 - -04 1991 May 7 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # San Juan (SJ) + Zone America/Argentina/San_Juan -4:34:04 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 1 +- -4:00 - WART 1991 May 7 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 May 31 +- -4:00 - WART 2004 Jul 25 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 1 ++ -4:00 - -04 1991 May 7 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 May 31 ++ -4:00 - -04 2004 Jul 25 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Jujuy (JY) + Zone America/Argentina/Jujuy -4:21:12 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1990 Mar 4 +- -4:00 - WART 1990 Oct 28 +- -4:00 1:00 WARST 1991 Mar 17 +- -4:00 - WART 1991 Oct 6 +- -3:00 1:00 ARST 1992 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1990 Mar 4 ++ -4:00 - -04 1990 Oct 28 ++ -4:00 1:00 -03 1991 Mar 17 ++ -4:00 - -04 1991 Oct 6 ++ -3:00 1:00 -02 1992 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Catamarca (CT), Chubut (CH) + Zone America/Argentina/Catamarca -4:23:08 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Mendoza (MZ) + Zone America/Argentina/Mendoza -4:35:16 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1990 Mar 4 +- -4:00 - WART 1990 Oct 15 +- -4:00 1:00 WARST 1991 Mar 1 +- -4:00 - WART 1991 Oct 15 +- -4:00 1:00 WARST 1992 Mar 1 +- -4:00 - WART 1992 Oct 18 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 May 23 +- -4:00 - WART 2004 Sep 26 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1990 Mar 4 ++ -4:00 - -04 1990 Oct 15 ++ -4:00 1:00 -03 1991 Mar 1 ++ -4:00 - -04 1991 Oct 15 ++ -4:00 1:00 -03 1992 Mar 1 ++ -4:00 - -04 1992 Oct 18 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 May 23 ++ -4:00 - -04 2004 Sep 26 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # San Luis (SL) + +@@ -561,44 +533,44 @@ + + Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1990 +- -3:00 1:00 ARST 1990 Mar 14 +- -4:00 - WART 1990 Oct 15 +- -4:00 1:00 WARST 1991 Mar 1 +- -4:00 - WART 1991 Jun 1 +- -3:00 - ART 1999 Oct 3 +- -4:00 1:00 WARST 2000 Mar 3 +- -3:00 - ART 2004 May 31 +- -4:00 - WART 2004 Jul 25 +- -3:00 Arg AR%sT 2008 Jan 21 +- -4:00 SanLuis WAR%sT 2009 Oct 11 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1990 ++ -3:00 1:00 -02 1990 Mar 14 ++ -4:00 - -04 1990 Oct 15 ++ -4:00 1:00 -03 1991 Mar 1 ++ -4:00 - -04 1991 Jun 1 ++ -3:00 - -03 1999 Oct 3 ++ -4:00 1:00 -03 2000 Mar 3 ++ -3:00 - -03 2004 May 31 ++ -4:00 - -04 2004 Jul 25 ++ -3:00 Arg -03/-02 2008 Jan 21 ++ -4:00 SanLuis -04/-03 2009 Oct 11 ++ -3:00 - -03 + # + # Santa Cruz (SC) + Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31 +- -4:16:48 - CMT 1920 May # Córdoba Mean Time +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:16:48 - CMT 1920 May ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Tierra del Fuego, Antártida e Islas del Atlántico Sur (TF) + Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31 +- -4:16:48 - CMT 1920 May # Córdoba Mean Time +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 May 30 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:16:48 - CMT 1920 May ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 May 30 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + + # Aruba + Link America/Curacao America/Aruba +@@ -608,7 +580,7 @@ + Zone America/La_Paz -4:32:36 - LMT 1890 + -4:32:36 - CMT 1931 Oct 15 # Calamarca MT + -4:32:36 1:00 BOST 1932 Mar 21 # Bolivia ST +- -4:00 - BOT # Bolivia Time ++ -4:00 - -04 + + # Brazil + +@@ -744,7 +716,7 @@ + # (Portuguese) + # + # We have a written a short article about it as well: +-# http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html ++# https://www.timeanddate.com/news/time/brazil-dst-2008-2009.html + # + # From Alexander Krivenyshev (2011-10-04): + # State Bahia will return to Daylight savings time this year after 8 years off. +@@ -753,7 +725,7 @@ + + # In Portuguese: + # http://g1.globo.com/bahia/noticia/2011/10/governador-jaques-wagner-confirma-horario-de-verao-na-bahia.html +-# http://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html + + # From Guilherme Bernardes Rodrigues (2011-10-07): + # There is news in the media, however there is still no decree about it. +@@ -779,16 +751,16 @@ + + # From Rodrigo Severo (2012-10-16): + # Tocantins state will have DST. +-# http://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html + + # From Steffen Thorsen (2013-09-20): + # Tocantins in Brazil is very likely not to observe DST from October.... + # http://conexaoto.com.br/2013/09/18/ministerio-confirma-que-tocantins-esta-fora-do-horario-de-verao-em-2013-mas-falta-publicacao-de-decreto + # We will keep this article updated when this is confirmed: +-# http://www.timeanddate.com/news/time/brazil-starts-dst-2013.html ++# https://www.timeanddate.com/news/time/brazil-starts-dst-2013.html + + # From Steffen Thorsen (2013-10-17): +-# http://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html ++# https://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html + # Senator Jorge Viana announced that Acre will change time zone on November 10. + # He did not specify the time of the change, nor if western parts of Amazonas + # will change as well. +@@ -960,12 +932,12 @@ + # + # Fernando de Noronha (administratively part of PE) + Zone America/Noronha -2:09:40 - LMT 1914 +- -2:00 Brazil FN%sT 1990 Sep 17 +- -2:00 - FNT 1999 Sep 30 +- -2:00 Brazil FN%sT 2000 Oct 15 +- -2:00 - FNT 2001 Sep 13 +- -2:00 Brazil FN%sT 2002 Oct 1 +- -2:00 - FNT ++ -2:00 Brazil -02/-01 1990 Sep 17 ++ -2:00 - -02 1999 Sep 30 ++ -2:00 Brazil -02/-01 2000 Oct 15 ++ -2:00 - -02 2001 Sep 13 ++ -2:00 Brazil -02/-01 2002 Oct 1 ++ -2:00 - -02 + # Other Atlantic islands have no permanent settlement. + # These include Trindade and Martim Vaz (administratively part of ES), + # Rocas Atoll (RN), and the St Peter and St Paul Archipelago (PE). +@@ -978,119 +950,119 @@ + # In the north a very small part from the river Javary (now Jari I guess, + # the border with Amapá) to the Amazon, then to the Xingu. + Zone America/Belem -3:13:56 - LMT 1914 +- -3:00 Brazil BR%sT 1988 Sep 12 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1988 Sep 12 ++ -3:00 - -03 + # + # west Pará (PA) + # West Pará includes Altamira, Óbidos, Prainha, Oriximiná, and Santarém. + Zone America/Santarem -3:38:48 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT 2008 Jun 24 0:00 +- -3:00 - BRT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 2008 Jun 24 0:00 ++ -3:00 - -03 + # + # Maranhão (MA), Piauí (PI), Ceará (CE), Rio Grande do Norte (RN), + # Paraíba (PB) + Zone America/Fortaleza -2:34:00 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1999 Sep 30 +- -3:00 Brazil BR%sT 2000 Oct 22 +- -3:00 - BRT 2001 Sep 13 +- -3:00 Brazil BR%sT 2002 Oct 1 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1999 Sep 30 ++ -3:00 Brazil -03/-02 2000 Oct 22 ++ -3:00 - -03 2001 Sep 13 ++ -3:00 Brazil -03/-02 2002 Oct 1 ++ -3:00 - -03 + # + # Pernambuco (PE) (except Atlantic islands) + Zone America/Recife -2:19:36 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1999 Sep 30 +- -3:00 Brazil BR%sT 2000 Oct 15 +- -3:00 - BRT 2001 Sep 13 +- -3:00 Brazil BR%sT 2002 Oct 1 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1999 Sep 30 ++ -3:00 Brazil -03/-02 2000 Oct 15 ++ -3:00 - -03 2001 Sep 13 ++ -3:00 Brazil -03/-02 2002 Oct 1 ++ -3:00 - -03 + # + # Tocantins (TO) + Zone America/Araguaina -3:12:48 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1995 Sep 14 +- -3:00 Brazil BR%sT 2003 Sep 24 +- -3:00 - BRT 2012 Oct 21 +- -3:00 Brazil BR%sT 2013 Sep +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1995 Sep 14 ++ -3:00 Brazil -03/-02 2003 Sep 24 ++ -3:00 - -03 2012 Oct 21 ++ -3:00 Brazil -03/-02 2013 Sep ++ -3:00 - -03 + # + # Alagoas (AL), Sergipe (SE) + Zone America/Maceio -2:22:52 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1995 Oct 13 +- -3:00 Brazil BR%sT 1996 Sep 4 +- -3:00 - BRT 1999 Sep 30 +- -3:00 Brazil BR%sT 2000 Oct 22 +- -3:00 - BRT 2001 Sep 13 +- -3:00 Brazil BR%sT 2002 Oct 1 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1995 Oct 13 ++ -3:00 Brazil -03/-02 1996 Sep 4 ++ -3:00 - -03 1999 Sep 30 ++ -3:00 Brazil -03/-02 2000 Oct 22 ++ -3:00 - -03 2001 Sep 13 ++ -3:00 Brazil -03/-02 2002 Oct 1 ++ -3:00 - -03 + # + # Bahia (BA) + # There are too many Salvadors elsewhere, so use America/Bahia instead + # of America/Salvador. + Zone America/Bahia -2:34:04 - LMT 1914 +- -3:00 Brazil BR%sT 2003 Sep 24 +- -3:00 - BRT 2011 Oct 16 +- -3:00 Brazil BR%sT 2012 Oct 21 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 2003 Sep 24 ++ -3:00 - -03 2011 Oct 16 ++ -3:00 Brazil -03/-02 2012 Oct 21 ++ -3:00 - -03 + # + # Goiás (GO), Distrito Federal (DF), Minas Gerais (MG), + # Espírito Santo (ES), Rio de Janeiro (RJ), São Paulo (SP), Paraná (PR), + # Santa Catarina (SC), Rio Grande do Sul (RS) + Zone America/Sao_Paulo -3:06:28 - LMT 1914 +- -3:00 Brazil BR%sT 1963 Oct 23 0:00 +- -3:00 1:00 BRST 1964 +- -3:00 Brazil BR%sT ++ -3:00 Brazil -03/-02 1963 Oct 23 0:00 ++ -3:00 1:00 -02 1964 ++ -3:00 Brazil -03/-02 + # + # Mato Grosso do Sul (MS) + Zone America/Campo_Grande -3:38:28 - LMT 1914 +- -4:00 Brazil AM%sT ++ -4:00 Brazil -04/-03 + # + # Mato Grosso (MT) + Zone America/Cuiaba -3:44:20 - LMT 1914 +- -4:00 Brazil AM%sT 2003 Sep 24 +- -4:00 - AMT 2004 Oct 1 +- -4:00 Brazil AM%sT ++ -4:00 Brazil -04/-03 2003 Sep 24 ++ -4:00 - -04 2004 Oct 1 ++ -4:00 Brazil -04/-03 + # + # Rondônia (RO) + Zone America/Porto_Velho -4:15:36 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 + # + # Roraima (RR) + Zone America/Boa_Vista -4:02:40 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT 1999 Sep 30 +- -4:00 Brazil AM%sT 2000 Oct 15 +- -4:00 - AMT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 1999 Sep 30 ++ -4:00 Brazil -04/-03 2000 Oct 15 ++ -4:00 - -04 + # + # east Amazonas (AM): Boca do Acre, Jutaí, Manaus, Floriano Peixoto + # The great circle line from Tabatinga to Porto Acre divides + # east from west Amazonas. + Zone America/Manaus -4:00:04 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT 1993 Sep 28 +- -4:00 Brazil AM%sT 1994 Sep 22 +- -4:00 - AMT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 1993 Sep 28 ++ -4:00 Brazil -04/-03 1994 Sep 22 ++ -4:00 - -04 + # + # west Amazonas (AM): Atalaia do Norte, Boca do Maoco, Benjamin Constant, + # Eirunepé, Envira, Ipixuna + Zone America/Eirunepe -4:39:28 - LMT 1914 +- -5:00 Brazil AC%sT 1988 Sep 12 +- -5:00 - ACT 1993 Sep 28 +- -5:00 Brazil AC%sT 1994 Sep 22 +- -5:00 - ACT 2008 Jun 24 0:00 +- -4:00 - AMT 2013 Nov 10 +- -5:00 - ACT ++ -5:00 Brazil -05/-04 1988 Sep 12 ++ -5:00 - -05 1993 Sep 28 ++ -5:00 Brazil -05/-04 1994 Sep 22 ++ -5:00 - -05 2008 Jun 24 0:00 ++ -4:00 - -04 2013 Nov 10 ++ -5:00 - -05 + # + # Acre (AC) + Zone America/Rio_Branco -4:31:12 - LMT 1914 +- -5:00 Brazil AC%sT 1988 Sep 12 +- -5:00 - ACT 2008 Jun 24 0:00 +- -4:00 - AMT 2013 Nov 10 +- -5:00 - ACT ++ -5:00 Brazil -05/-04 1988 Sep 12 ++ -5:00 - -05 2008 Jun 24 0:00 ++ -4:00 - -04 2013 Nov 10 ++ -5:00 - -05 + + # Chile + +@@ -1104,18 +1076,18 @@ + # the following source, cited by Oscar van Vlijmen (2006-10-08): + # [1] Chile Law + # http://www.webexhibits.org/daylightsaving/chile.html +-# This contains a copy of a this official table: ++# This contains a copy of this official table: + # Cambios en la hora oficial de Chile desde 1900 (retrieved 2008-03-30) +-# http://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm ++# https://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm + # [1] needs several corrections, though. + # + # The first set of corrections is from: + # [2] History of the Official Time of Chile + # http://www.horaoficial.cl/ing/horaof_ing.html (retrieved 2012-03-06). See: +-# http://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html ++# https://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html + # This is an English translation of: + # Historia de la hora oficial de Chile (retrieved 2012-10-24). See: +-# http://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm ++# https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm + # A fancier Spanish version (requiring mouse-clicking) is at: + # http://www.horaoficial.cl/historia_hora.html + # Conflicts between [1] and [2] were resolved as follows: +@@ -1235,6 +1207,18 @@ + # to mean 24:00 mainland time, not 24:00 local time, so that Easter + # Island is always two hours behind the mainland. + ++# From Juan Correa (2016-12-04): ++# Magallanes region ... will keep DST (UTC -3) all year round.... ++# http://www.soychile.cl/Santiago/Sociedad/2016/12/04/433428/Bachelet-firmo-el-decreto-para-establecer-un-horario-unico-para-la-Region-de-Magallanes.aspx ++# ++# From Deborah Goldsmith (2017-01-19): ++# http://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf ++# From Paul Eggert (2017-01-19): ++# The above says the Magallanes change expires 2019-05-11 at 24:00, ++# so in theory, they will revert to -04/-03 after that, which means ++# they will switch from -03 to -04 one hour after Santiago does that day. ++# For now, assume that they will not revert. ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Chile 1927 1931 - Sep 1 0:00 1:00 S + Rule Chile 1928 1932 - Apr 1 0:00 0 - +@@ -1275,22 +1259,35 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Santiago -4:42:46 - LMT 1890 + -4:42:46 - SMT 1910 Jan 10 # Santiago Mean Time +- -5:00 - CLT 1916 Jul 1 # Chile Time ++ -5:00 - -05 1916 Jul 1 + -4:42:46 - SMT 1918 Sep 10 +- -4:00 - CLT 1919 Jul 1 ++ -4:00 - -04 1919 Jul 1 + -4:42:46 - SMT 1927 Sep 1 +- -5:00 Chile CL%sT 1932 Sep 1 +- -4:00 - CLT 1942 Jun 1 +- -5:00 - CLT 1942 Aug 1 +- -4:00 - CLT 1946 Jul 15 +- -4:00 1:00 CLST 1946 Sep 1 # central Chile +- -4:00 - CLT 1947 Apr 1 +- -5:00 - CLT 1947 May 21 23:00 +- -4:00 Chile CL%sT ++ -5:00 Chile -05/-04 1932 Sep 1 ++ -4:00 - -04 1942 Jun 1 ++ -5:00 - -05 1942 Aug 1 ++ -4:00 - -04 1946 Jul 15 ++ -4:00 1:00 -03 1946 Sep 1 # central Chile ++ -4:00 - -04 1947 Apr 1 ++ -5:00 - -05 1947 May 21 23:00 ++ -4:00 Chile -04/-03 ++Zone America/Punta_Arenas -4:43:40 - LMT 1890 ++ -4:42:46 - SMT 1910 Jan 10 ++ -5:00 - -05 1916 Jul 1 ++ -4:42:46 - SMT 1918 Sep 10 ++ -4:00 - -04 1919 Jul 1 ++ -4:42:46 - SMT 1927 Sep 1 ++ -5:00 Chile -05/-04 1932 Sep 1 ++ -4:00 - -04 1942 Jun 1 ++ -5:00 - -05 1942 Aug 1 ++ -4:00 - -04 1947 Apr 1 ++ -5:00 - -05 1947 May 21 23:00 ++ -4:00 Chile -04/-03 2016 Dec 4 ++ -3:00 - -03 + Zone Pacific/Easter -7:17:28 - LMT 1890 + -7:17:28 - EMT 1932 Sep # Easter Mean Time +- -7:00 Chile EAS%sT 1982 Mar 14 3:00u # Easter Time +- -6:00 Chile EAS%sT ++ -7:00 Chile -07/-06 1982 Mar 14 3:00u # Easter Time ++ -6:00 Chile -06/-05 + # + # Salas y Gómez Island is uninhabited. + # Other Chilean locations, including Juan Fernández Is, Desventuradas Is, +@@ -1310,9 +1307,10 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Antarctica/Palmer 0 - -00 1965 +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1982 May +- -4:00 Chile CL%sT ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1982 May ++ -4:00 Chile -04/-03 2016 Dec 4 ++ -3:00 - -03 + + # Colombia + +@@ -1325,7 +1323,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 + -4:56:16 - BMT 1914 Nov 23 # Bogotá Mean Time +- -5:00 CO CO%sT # Colombia Time ++ -5:00 CO -05/-04 + # Malpelo, Providencia, San Andres + # no information; probably like America/Bogota + +@@ -1349,7 +1347,7 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad +- -4:30 - ANT 1965 # Netherlands Antilles Time ++ -4:30 - -0430 1965 + -4:00 - AST + + # From Arthur David Olson (2011-06-15): +@@ -1364,19 +1362,32 @@ + # + # Milne says the Central and South American Telegraph Company used -5:24:15. + # +-# From Paul Eggert (2007-03-04): +-# Apparently Ecuador had a failed experiment with DST in 1992. +-# (2007-02-27) and +-# (2006-11-06) both +-# talk about "hora Sixto". Leave this alone for now, as we have no data. ++# From Alois Treindl (2016-12-15): ++# https://www.elcomercio.com/actualidad/hora-sixto-1993.html ++# ... Whether the law applied also to Galápagos, I do not know. ++# From Paul Eggert (2016-12-15): ++# https://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html ++# This says President Sixto Durán Ballén signed decree No. 285, which ++# established DST from 1992-11-28 to 1993-02-05; it does not give transition ++# times. The people called it "hora de Sixto" ("Sixto hour"). The change did ++# not go over well; a popular song "Qué hora es" by Jaime Guevara had lyrics ++# that included "Amanecía en mitad de la noche, los guaguas iban a clase sin ++# sol" ("It was dawning in the middle of the night, the buses went to class ++# without sun"). Although Ballén's campaign slogan was "Ni un paso atrás" ++# (Not one step back), the clocks went back in 1993 and the experiment was not ++# repeated. For now, assume transitions were at 00:00 local time country-wide. + # ++# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ++Rule Ecuador 1992 only - Nov 28 0:00 1:00 S ++Rule Ecuador 1993 only - Feb 5 0:00 0 - ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Guayaquil -5:19:20 - LMT 1890 + -5:14:00 - QMT 1931 # Quito Mean Time +- -5:00 - ECT # Ecuador Time ++ -5:00 Ecuador -05/-04 + Zone Pacific/Galapagos -5:58:24 - LMT 1931 # Puerto Baquerizo Moreno +- -5:00 - ECT 1986 +- -6:00 - GALT # Galápagos Time ++ -5:00 - -05 1986 ++ -6:00 Ecuador -06/-05 + + # Falklands + +@@ -1476,25 +1487,24 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/Stanley -3:51:24 - LMT 1890 + -3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time +- -4:00 Falk FK%sT 1983 May # Falkland Is Time +- -3:00 Falk FK%sT 1985 Sep 15 +- -4:00 Falk FK%sT 2010 Sep 5 2:00 +- -3:00 - FKST ++ -4:00 Falk -04/-03 1983 May ++ -3:00 Falk -03/-02 1985 Sep 15 ++ -4:00 Falk -04/-03 2010 Sep 5 2:00 ++ -3:00 - -03 + + # French Guiana + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Cayenne -3:29:20 - LMT 1911 Jul +- -4:00 - GFT 1967 Oct # French Guiana Time +- -3:00 - GFT ++ -4:00 - -04 1967 Oct ++ -3:00 - -03 + + # Guyana + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown +- -3:45 - GBGT 1966 May 26 # Br Guiana Time +- -3:45 - GYT 1975 Jul 31 # Guyana Time +- -3:00 - GYT 1991 ++ -3:45 - -0345 1975 Jul 31 ++ -3:00 - -03 1991 + # IATA SSIM (1996-06) says -4:00. Assume a 1991 switch. +- -4:00 - GYT ++ -4:00 - -04 + + # Paraguay + # +@@ -1586,9 +1596,9 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Asuncion -3:50:40 - LMT 1890 + -3:50:40 - AMT 1931 Oct 10 # Asunción Mean Time +- -4:00 - PYT 1972 Oct # Paraguay Time +- -3:00 - PYT 1974 Apr +- -4:00 Para PY%sT ++ -4:00 - -04 1972 Oct ++ -3:00 - -03 1974 Apr ++ -4:00 Para -04/-03 + + # Peru + # +@@ -1615,12 +1625,12 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Lima -5:08:12 - LMT 1890 + -5:08:36 - LMT 1908 Jul 28 # Lima Mean Time? +- -5:00 Peru PE%sT # Peru Time ++ -5:00 Peru -05/-04 + + # South Georgia + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken +- -2:00 - GST # South Georgia Time ++ -2:00 - -02 + + # South Sandwich Is + # uninhabited; scientific personnel have wintered +@@ -1630,9 +1640,8 @@ + Zone America/Paramaribo -3:40:40 - LMT 1911 + -3:40:52 - PMT 1935 # Paramaribo Mean Time + -3:40:36 - PMT 1945 Oct # The capital moved? +- -3:30 - NEGT 1975 Nov 20 # Dutch Guiana Time +- -3:30 - SRT 1984 Oct # Suriname Time +- -3:00 - SRT ++ -3:30 - -0330 1984 Oct ++ -3:00 - -03 + + # Trinidad and Tobago + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +@@ -1735,11 +1744,16 @@ + # [dated 2015-06-29; repeals Decree 311/006 dated 2006-09-04] + Rule Uruguay 2006 2014 - Oct Sun>=1 2:00 1:00 S + Rule Uruguay 2007 2015 - Mar Sun>=8 2:00 0 - +-# Zone NAME GMTOFF RULES FORMAT [UNTIL] ++ ++# This Zone can be simplified once we assume zic %z. + Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28 + -3:44:44 - MMT 1920 May 1 # Montevideo MT +- -3:30 Uruguay UY%sT 1942 Dec 14 # Uruguay Time +- -3:00 Uruguay UY%sT ++ -3:30 Uruguay -0330/-03 1942 Dec 14 ++ -3:00 Uruguay -03/-02 1968 ++ -3:00 Uruguay -03/-0230 1971 ++ -3:00 Uruguay -03/-02 1974 ++ -3:00 Uruguay -03/-0230 1974 Dec 22 ++ -3:00 Uruguay -03/-02 + + # Venezuela + # +@@ -1764,7 +1778,7 @@ + # hours of presidential broadcasts, hours of lines,' quipped comedian + # Jean Mary Curró ...". See: Cawthorne A, Kai D. Venezuela scraps + # half-hour time difference set by Chavez. Reuters 2016-04-15 14:50 -0400 +-# http://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE ++# https://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE + # + # From Matt Johnson (2016-04-20): + # ... published in the official Gazette [2016-04-18], here: +@@ -1773,7 +1787,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Caracas -4:27:44 - LMT 1890 + -4:27:40 - CMT 1912 Feb 12 # Caracas Mean Time? +- -4:30 - VET 1965 Jan 1 0:00 # Venezuela T. +- -4:00 - VET 2007 Dec 9 3:00 +- -4:30 - VET 2016 May 1 2:30 +- -4:00 - VET ++ -4:30 - -0430 1965 Jan 1 0:00 ++ -4:00 - -04 2007 Dec 9 3:00 ++ -4:30 - -0430 2016 May 1 2:30 ++ -4:00 - -04 +--- contrib/tzdata/theory.html.orig ++++ contrib/tzdata/theory.html +@@ -0,0 +1,1034 @@ ++ ++ ++ ++ Theory and pragmatics of the tz code and data ++ ++ ++ ++ ++ ++ ++

Theory and pragmatics of the tz code and data

++

Outline

++ ++ ++ ++
++

Scope of the tz database

++

++The tz database attempts to record the history and predicted future of ++all computer-based clocks that track civil time. To represent this ++data, the world is partitioned into regions whose clocks all agree ++about timestamps that occur after the somewhat-arbitrary cutoff point ++of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, ++the database records all known clock transitions, and labels the region ++with a notable 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. ++

++ ++

++Clock transitions before 1970 are recorded for each such location, ++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 ++applications requiring accurate handling of all past times everywhere, ++as it would take far too much effort and guesswork to record all ++details of pre-1970 civil timekeeping. ++

++ ++

++As described below, reference source code for using the tz database is ++also available. The tz code is upwards compatible with POSIX, an ++international standard for UNIX-like systems. As of this writing, the ++current edition of POSIX is: ++ ++ The Open Group Base Specifications Issue 7, ++ IEEE Std 1003.1-2008, 2016 Edition. ++

++
++ ++ ++ ++
++

Names of time zone rules

++

++Each of the database's time zone rules has a unique name. ++Inexperienced users are not expected to select these names unaided. ++Distributors should provide documentation and/or a simple selection ++interface that explains the names; for one example, see the 'tzselect' ++program in the tz code. The ++Unicode Common Locale Data ++Repository contains data that may be useful for other ++selection interfaces. ++

++ ++

++The time zone rule naming conventions attempt to strike a balance ++among the following goals: ++

++
    ++
  • ++ Uniquely identify every region where clocks have agreed since 1970. ++ This is essential for the intended use: static clocks keeping local ++ civil time. ++
  • ++
  • ++ Indicate to experts where that region is. ++
  • ++
  • ++ Be robust in the presence of political changes. For example, names ++ of countries are ordinarily not used, to avoid incompatibilities ++ when countries change their name (e.g. Zaire→Congo) or when ++ locations change countries (e.g. Hong Kong from UK colony to ++ China). ++
  • ++
  • ++ Be portable to a wide variety of implementations. ++
  • ++
  • ++ Use a consistent naming conventions over the entire world. ++
  • ++
++

++Names normally have the ++form AREA/LOCATION, ++where AREA is the name of a continent or ocean, ++and LOCATION is the name of a specific ++location within that region. North and South America share the same ++area, 'America'. Typical names are ++'Africa/Cairo', 'America/New_York', and ++'Pacific/Honolulu'. ++

++ ++

++Here are the general rules used for choosing location names, ++in decreasing order of importance: ++

++
    ++
  • ++ Use only valid POSIX file name components (i.e., the parts of ++ names other than '/'). Do not use the file name ++ components '.' and '..'. ++ Within a file name component, ++ use only ASCII letters, '.', ++ '-' and '_'. Do not use ++ digits, as that might create an ambiguity with POSIX ++ TZ strings. A file name component must not exceed 14 ++ characters or start with '-'. E.g., ++ prefer 'Brunei' to ++ 'Bandar_Seri_Begawan'. Exceptions: see ++ the discussion ++ of legacy names below. ++
  • ++
  • ++ A name must not be empty, or contain '//', or ++ start or end with '/'. ++
  • ++
  • ++ Do not use names that differ only in case. Although the reference ++ implementation is case-sensitive, some other implementations ++ are not, and they would mishandle names differing only in case. ++
  • ++
  • ++ If one name A is an initial prefix of another ++ name AB (ignoring case), then B ++ must not start with '/', as a ++ regular file cannot have ++ the same name as a directory in POSIX. For example, ++ 'America/New_York' precludes ++ 'America/New_York/Bronx'. ++
  • ++
  • ++ Uninhabited regions like the North Pole and Bouvet Island ++ do not need locations, since local time is not defined there. ++
  • ++
  • ++ There should typically be at least one name for each ISO 3166-1 ++ officially assigned two-letter code for an inhabited country ++ or territory. ++
  • ++
  • ++ If all the clocks in a region have agreed since 1970, ++ don't bother to include more than one location ++ even if subregions' clocks disagreed before 1970. ++ Otherwise these tables would become annoyingly large. ++
  • ++
  • ++ If a name is ambiguous, use a less ambiguous alternative; ++ e.g. many cities are named San José and Georgetown, so ++ prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. ++
  • ++
  • ++ Keep locations compact. Use cities or small islands, not countries ++ or regions, so that any future time zone changes do not split ++ locations into different time zones. E.g. prefer ++ 'Paris' to 'France', since ++ France has had multiple time zones. ++
  • ++
  • ++ Use mainstream English spelling, e.g. prefer ++ 'Rome' to 'Roma', and prefer ++ 'Athens' to the Greek ++ 'Αθήνα' or the Romanized ++ 'Athína'. ++ The POSIX file name restrictions encourage this rule. ++
  • ++
  • ++ Use the most populous among locations in a zone, ++ e.g. prefer 'Shanghai' to ++ 'Beijing'. Among locations with ++ similar populations, pick the best-known location, ++ e.g. prefer 'Rome' to 'Milan'. ++
  • ++
  • ++ Use the singular form, e.g. prefer 'Canary' to 'Canaries'. ++
  • ++
  • ++ Omit common suffixes like '_Islands' and ++ '_City', unless that would lead to ++ ambiguity. E.g. prefer 'Cayman' to ++ 'Cayman_Islands' and ++ 'Guatemala' to ++ 'Guatemala_City', but prefer ++ 'Mexico_City' to 'Mexico' ++ because the country ++ of Mexico has several time zones. ++
  • ++
  • ++ Use '_' to represent a space. ++
  • ++
  • ++ Omit '.' from abbreviations in names, e.g. prefer ++ 'St_Helena' to 'St._Helena'. ++
  • ++
  • ++ Do not change established names if they only marginally ++ violate the above rules. For example, don't change ++ the existing name 'Rome' to ++ 'Milan' merely because ++ Milan's population has grown to be somewhat greater ++ than Rome's. ++
  • ++
  • ++ If a name is changed, put its old spelling in the ++ 'backward' file. ++ This means old spellings will continue to work. ++
  • ++
++ ++

++The file 'zone1970.tab' lists geographical locations used ++to name time ++zone rules. It is intended to be an exhaustive list of names for ++geographic regions as described above; this is a subset of the names ++in the data. Although a 'zone1970.tab' location's longitude ++corresponds to its LMT offset with one hour for every 15 degrees east ++longitude, this relationship is not exact. ++

++ ++

++Older versions of this package used a different naming scheme, ++and these older names are still supported. ++See the file 'backward' for most of these older names ++(e.g., 'US/Eastern' instead of 'America/New_York'). ++The other old-fashioned names still supported are ++'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). ++

++ ++

++Older versions of this package defined legacy names that are ++incompatible with the first rule of location names, but which are ++still supported. These legacy names are mostly defined in the file ++'etcetera'. Also, the file 'backward' defines the legacy names ++'GMT0', 'GMT-0' and 'GMT+0', and the file 'northamerica' defines the ++legacy names 'EST5EDT', 'CST6CDT', 'MST7MDT', and 'PST8PDT'. ++

++ ++

++Excluding 'backward' should not affect the other data. If ++'backward' is excluded, excluding 'etcetera' should not affect the ++remaining data. ++

++ ++ ++
++
++

Time zone abbreviations

++

++When this package is installed, it generates time zone abbreviations ++like 'EST' to be compatible with human tradition and POSIX. ++Here are the general rules used for choosing time zone abbreviations, ++in decreasing order of importance: ++

    ++
  • ++ Use three or more characters that are ASCII alphanumerics or ++ '+' or '-'. ++ Previous editions of this database also used characters like ++ ' ' and '?', but these ++ characters have a special meaning to ++ the shell and cause commands like ++ 'set `date`' ++ to have unexpected effects. ++ Previous editions of this rule required upper-case letters, ++ but the Congressman who introduced Chamorro Standard Time ++ preferred "ChST", so lower-case letters are now allowed. ++ Also, POSIX from 2001 on relaxed the rule to allow ++ '-', '+', ++ and alphanumeric characters from the portable character set ++ in the current locale. In practice ASCII alphanumerics and ++ '+' and '-' are safe in all locales. ++ ++ In other words, in the C locale the POSIX extended regular ++ expression [-+[:alnum:]]{3,} should match ++ the abbreviation. ++ This guarantees that all abbreviations could have been ++ specified by a POSIX TZ string. ++
  • ++
  • ++ Use abbreviations that are in common use among English-speakers, ++ e.g. 'EST' for Eastern Standard Time in North America. ++ We assume that applications translate them to other languages ++ as part of the normal localization process; for example, ++ a French application might translate 'EST' to 'HNE'. ++
  • ++
  • ++ For zones whose times are taken from a city's longitude, use the ++ traditional xMT notation, e.g. 'PMT' for ++ Paris Mean Time. ++ The only name like this in current use is 'GMT'. ++
  • ++
  • ++ Use 'LMT' for local mean time of locations before the introduction ++ of standard time; see "Scope of the ++ tz database". ++
  • ++
  • ++ If there is no common English abbreviation, use numeric offsets like ++ -05 and +0830 that are ++ generated by zic's %z notation. ++
  • ++
  • ++ Use current abbreviations for older timestamps to avoid confusion. ++ For example, in 1910 a common English abbreviation for UT +01 ++ in central Europe was 'MEZ' (short for both "Middle European ++ Zone" and for "Mitteleuropäische Zeit" in German). Nowadays ++ 'CET' ("Central European Time") is more common in English, and ++ the database uses 'CET' even for circa-1910 timestamps as this ++ is less confusing for modern users and avoids the need for ++ determining when 'CET' supplanted 'MEZ' in common usage. ++
  • ++
  • ++ Use a consistent style in a zone's history. For example, if a zone's ++ history tends to use numeric abbreviations and a particular ++ entry could go either way, use a numeric abbreviation. ++
  • ++
++ [The remaining guidelines predate the introduction of %z. ++ They are problematic as they mean tz data entries invent ++ notation rather than record it. These guidelines are now ++ deprecated and the plan is to gradually move to %z for ++ inhabited locations and to "-00" for uninhabited locations.] ++
    ++
  • ++ If there is no common English abbreviation, abbreviate the English ++ translation of the usual phrase used by native speakers. ++ If this is not available or is a phrase mentioning the country ++ (e.g. "Cape Verde Time"), then: ++
      ++
    • ++ When a country is identified with a single or principal zone, ++ append 'T' to the country's ISO code, e.g. 'CVT' for ++ Cape Verde Time. For summer time append 'ST'; ++ for double summer time append 'DST'; etc. ++
    • ++
    • ++ Otherwise, take the first three letters of an English place ++ name identifying each zone and append 'T', 'ST', etc. ++ as before; e.g. 'CHAST' for CHAtham Summer Time. ++
    • ++
    ++
  • ++
  • ++ Use UT (with time zone abbreviation '-00') for ++ locations while uninhabited. The leading ++ '-' is a flag that the time ++ zone is in some sense undefined; this notation is ++ derived from Internet RFC 3339. ++
  • ++
++

++Application writers should note that these abbreviations are ambiguous ++in practice: e.g. 'CST' has a different meaning in China than ++it does in the United States. In new applications, it's often better ++to use numeric UT offsets like '-0600' instead of time zone ++abbreviations like 'CST'; this avoids the ambiguity. ++

++
++ ++ ++
++

Accuracy of the tz database

++

++The tz database is not authoritative, and it surely has errors. ++Corrections are welcome and encouraged; see the file CONTRIBUTING. ++Users requiring authoritative data should consult national standards ++bodies and the references cited in the database's comments. ++

++ ++

++Errors in the tz database arise from many sources: ++

++
    ++
  • ++ The tz database predicts future timestamps, and current predictions ++ will be incorrect after future governments change the rules. ++ For example, if today someone schedules a meeting for 13:00 next ++ October 1, Casablanca time, and tomorrow Morocco changes its ++ daylight saving rules, software can mess up after the rule change ++ if it blithely relies on conversions made before the change. ++
  • ++
  • ++ The pre-1970 entries in this database cover only a tiny sliver of how ++ clocks actually behaved; the vast majority of the necessary ++ information was lost or never recorded. Thousands more zones would ++ be needed if the tz database's scope were extended to cover even ++ just the known or guessed history of standard time; for example, ++ the current single entry for France would need to split into dozens ++ of entries, perhaps hundreds. And in most of the world even this ++ approach would be misleading due to widespread disagreement or ++ indifference about what times should be observed. In her 2015 book ++ The Global Transformation of Time, 1870-1950, Vanessa Ogle writes ++ "Outside of Europe and North America there was no system of time ++ zones at all, often not even a stable landscape of mean times, ++ prior to the middle decades of the twentieth century". See: ++ Timothy Shenk, Booked: ++ A Global History of Time. Dissent 2015-12-17. ++
  • ++
  • ++ Most of the pre-1970 data entries come from unreliable sources, often ++ astrology books that lack citations and whose compilers evidently ++ invented entries when the true facts were unknown, without ++ reporting which entries were known and which were invented. ++ These books often contradict each other or give implausible entries, ++ and on the rare occasions when they are checked they are ++ typically found to be incorrect. ++
  • ++
  • ++ For the UK the tz database relies on years of first-class work done by ++ Joseph Myers and others; see ++ "History of ++ legal time in Britain". ++ Other countries are not done nearly as well. ++
  • ++
  • ++ Sometimes, different people in the same city would maintain clocks ++ that differed significantly. Railway time was used by railroad ++ companies (which did not always agree with each other), ++ church-clock time was used for birth certificates, etc. ++ Often this was merely common practice, but sometimes it was set by law. ++ For example, from 1891 to 1911 the UT offset in France was legally ++ 0:09:21 outside train stations and 0:04:21 inside. ++
  • ++
  • ++ Although a named location in the tz database stands for the ++ containing region, its pre-1970 data entries are often accurate for ++ only a small subset of that region. For example, Europe/London ++ stands for the United Kingdom, but its pre-1847 times are valid ++ only for locations that have London's exact meridian, and its 1847 ++ transition to GMT is known to be valid only for the L&NW and the ++ Caledonian railways. ++
  • ++
  • ++ The tz database does not record the earliest time for which a zone's ++ data entries are thereafter valid for every location in the region. ++ For example, Europe/London is valid for all locations in its ++ region after GMT was made the standard time, but the date of ++ standardization (1880-08-02) is not in the tz database, other than ++ in commentary. For many zones the earliest time of validity is ++ unknown. ++
  • ++
  • ++ The tz database does not record a region's boundaries, and in many ++ cases the boundaries are not known. For example, the zone ++ America/Kentucky/Louisville represents a region around ++ the city of ++ Louisville, the boundaries of which are unclear. ++
  • ++
  • ++ Changes that are modeled as instantaneous transitions in the tz ++ database were often spread out over hours, days, or even decades. ++
  • ++
  • ++ Even if the time is specified by law, locations sometimes ++ deliberately flout the law. ++
  • ++
  • ++ Early timekeeping practices, even assuming perfect clocks, were ++ often not specified to the accuracy that the tz database requires. ++
  • ++
  • ++ Sometimes historical timekeeping was specified more precisely ++ than what the tz database can handle. For example, from 1909 to ++ 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz ++ database cannot represent the fractional second. ++
  • ++
  • ++ Even when all the timestamp transitions recorded by the tz database ++ are correct, the tz rules that generate them may not faithfully ++ reflect the historical rules. For example, from 1922 until World ++ War II the UK moved clocks forward the day following the third ++ Saturday in April unless that was Easter, in which case it moved ++ clocks forward the previous Sunday. Because the tz database has no ++ way to specify Easter, these exceptional years are entered as ++ separate tz Rule lines, even though the legal rules did not change. ++
  • ++
  • ++ The tz database models pre-standard time using the proleptic Gregorian ++ calendar and local mean time (LMT), but many people used other ++ calendars and other timescales. For example, the Roman Empire used ++ the Julian calendar, and had 12 varying-length daytime hours with a ++ non-hour-based system at night. ++
  • ++
  • ++ Early clocks were less reliable, and data entries do not represent ++ clock error. ++
  • ++
  • ++ The tz database assumes Universal Time (UT) as an origin, even ++ though UT is not standardized for older timestamps. In the tz ++ database commentary, UT denotes a family of time standards that ++ includes Coordinated Universal Time (UTC) along with other variants ++ such as UT1 and GMT, with days starting at midnight. Although UT ++ equals UTC for modern timestamps, UTC was not defined until 1960, ++ so commentary uses the more-general abbreviation UT for timestamps ++ that might predate 1960. Since UT, UT1, etc. disagree slightly, ++ and since pre-1972 UTC seconds varied in length, interpretation of ++ older timestamps can be problematic when subsecond accuracy is ++ needed. ++
  • ++
  • ++ Civil time was not based on atomic time before 1972, and we don't ++ know the history of earth's rotation accurately enough to map SI ++ seconds to historical solar time to more than about one-hour ++ accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY. ++ Measurement ++ of the Earth's rotation: 720 BC to AD 2015. ++ Proc Royal Soc A. 2016 Dec 7;472:20160404. ++ Also see: Espenak F. Uncertainty ++ in Delta T (ΔT). ++
  • ++
  • ++ The relationship between POSIX time (that is, UTC but ignoring leap ++ seconds) and UTC is not agreed upon after 1972. Although the POSIX ++ clock officially stops during an inserted leap second, at least one ++ proposed standard has it jumping back a second instead; and in ++ practice POSIX clocks more typically either progress glacially during ++ a leap second, or are slightly slowed while near a leap second. ++
  • ++
  • ++ The tz database does not represent how uncertain its information is. ++ Ideally it would contain information about when data entries are ++ incomplete or dicey. Partial temporal knowledge is a field of ++ active research, though, and it's not clear how to apply it here. ++
  • ++
++

++In short, many, perhaps most, of the tz database's pre-1970 and future ++timestamps are either wrong or misleading. Any attempt to pass the ++tz database off as the definition of time should be unacceptable to ++anybody who cares about the facts. In particular, the tz database's ++LMT offsets should not be considered meaningful, and should not prompt ++creation of zones merely because two locations differ in LMT or ++transitioned to standard time at different dates. ++

++
++ ++ ++
++

Time and date functions

++

++The tz code contains time and date functions that are upwards ++compatible with those of POSIX. ++

++ ++

++POSIX has the following properties and limitations. ++

++
    ++
  • ++

    ++ In POSIX, time display in a process is controlled by the ++ environment variable TZ. Unfortunately, the POSIX TZ string takes ++ a form that is hard to describe and is error-prone in practice. ++ Also, POSIX TZ strings can't deal with other (for example, Israeli) ++ daylight saving time rules, or situations where more than two ++ time zone abbreviations are used in an area. ++

    ++

    ++ The POSIX TZ string takes the following form: ++

    ++

    ++ stdoffset[dst[offset][,date[/time],date[/time]]] ++

    ++

    ++ where: ++

    ++
    std and dst
    ++ are 3 or more characters specifying the standard ++ and daylight saving time (DST) zone names. ++ Starting with POSIX.1-2001, std ++ and dst may also be ++ in a quoted form like '<UTC+10>'; this allows ++ "+" and "-" in the names. ++
    ++
    offset
    ++ is of the form ++ '[±]hh:[mm[:ss]]' ++ and specifies the offset west of UT. 'hh' ++ may be a single digit; 0≤hh≤24. ++ The default DST offset is one hour ahead of standard time. ++
    ++
    date[/time],date[/time]
    ++ specifies the beginning and end of DST. If this is absent, ++ the system supplies its own rules for DST, and these can ++ differ from year to year; typically US DST rules are used. ++
    ++
    time
    ++ takes the form ++ 'hh:[mm[:ss]]' ++ and defaults to 02:00. ++ This is the same format as the offset, except that a ++ leading '+' or '-' is not allowed. ++
    ++
    date
    ++ takes one of the following forms: ++
    ++
    Jn (1≤n≤365)
    ++ origin-1 day number not counting February 29 ++
    ++
    n (0≤n≤365)
    ++ origin-0 day number counting February 29 if present ++
    ++
    Mm.n.d (0[Sunday]≤d≤6[Saturday], 1≤n≤5, 1≤m≤12)
    ++ for the dth day of ++ week n of month m of the ++ year, where week 1 is the first week in which ++ day d appears, and '5' ++ stands for the last week in which ++ day d appears ++ (which may be either the 4th or 5th week). ++ Typically, this is the only useful form; ++ the n ++ and Jn forms are ++ rarely used. ++
    ++
    ++
    ++
    ++ Here is an example POSIX TZ string for New Zealand after 2007. ++ It says that standard time (NZST) is 12 hours ahead of UTC, ++ and that daylight saving time (NZDT) is observed from September's ++ last Sunday at 02:00 until April's first Sunday at 03:00: ++ ++
    TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'
    ++ ++ This POSIX TZ string is hard to remember, and mishandles some ++ timestamps before 2008. With this package you can use this ++ instead: ++ ++
    TZ='Pacific/Auckland'
    ++
  • ++
  • ++ POSIX does not define the exact meaning of TZ values like ++ "EST5EDT". ++ Typically the current US DST rules are used to interpret such values, ++ but this means that the US DST rules are compiled into each program ++ that does time conversion. This means that when US time conversion ++ rules change (as in the United States in 1987), all programs that ++ do time conversion must be recompiled to ensure proper results. ++
  • ++
  • ++ The TZ environment variable is process-global, which makes it hard ++ to write efficient, thread-safe applications that need access ++ to multiple time zones. ++
  • ++
  • ++ In POSIX, there's no tamper-proof way for a process to learn the ++ system's best idea of local wall clock. (This is important for ++ applications that an administrator wants used only at certain ++ times – ++ without regard to whether the user has fiddled the TZ environment ++ variable. While an administrator can "do everything in UTC" to get ++ around the problem, doing so is inconvenient and precludes handling ++ daylight saving time shifts - as might be required to limit phone ++ calls to off-peak hours.) ++
  • ++
  • ++ POSIX provides no convenient and efficient way to determine the UT ++ offset and time zone abbreviation of arbitrary timestamps, ++ particularly for time zone settings that do not fit into the ++ POSIX model. ++
  • ++
  • ++ POSIX requires that systems ignore leap seconds. ++
  • ++
  • ++ The tz code attempts to support all the time_t ++ implementations allowed by POSIX. The time_t ++ type represents a nonnegative count of ++ seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. ++ In practice, time_t is usually a signed 64- or ++ 32-bit integer; 32-bit signed time_t values stop ++ working after 2038-01-19 03:14:07 UTC, so ++ new implementations these days typically use a signed 64-bit integer. ++ Unsigned 32-bit integers are used on one or two platforms, ++ and 36-bit and 40-bit integers are also used occasionally. ++ Although earlier POSIX versions allowed time_t to be a ++ floating-point type, this was not supported by any practical ++ systems, and POSIX.1-2013 and the tz code both ++ require time_t ++ to be an integer type. ++
  • ++
++

++These are the extensions that have been made to the POSIX functions: ++

++
    ++
  • ++

    ++ The TZ environment variable is used in generating the name of a file ++ from which time zone information is read (or is interpreted a la ++ POSIX); TZ is no longer constrained to be a three-letter time zone ++ name followed by a number of hours and an optional three-letter ++ daylight time zone name. The daylight saving time rules to be used ++ for a particular time zone are encoded in the time zone file; ++ the format of the file allows U.S., Australian, and other rules to be ++ encoded, and allows for situations where more than two time zone ++ abbreviations are used. ++

    ++

    ++ It was recognized that allowing the TZ environment variable to ++ take on values such as 'America/New_York' might ++ cause "old" programs ++ (that expect TZ to have a certain form) to operate incorrectly; ++ consideration was given to using some other environment variable ++ (for example, TIMEZONE) to hold the string used to generate the ++ time zone information file name. In the end, however, it was decided ++ to continue using TZ: it is widely used for time zone purposes; ++ separately maintaining both TZ and TIMEZONE seemed a nuisance; ++ and systems where "new" forms of TZ might cause problems can simply ++ use TZ values such as "EST5EDT" which can be used both by ++ "new" programs (a la POSIX) and "old" programs (as zone names and ++ offsets). ++

    ++
  • ++
  • ++ The code supports platforms with a UT offset member ++ in struct tm, ++ e.g., tm_gmtoff. ++
  • ++
  • ++ The code supports platforms with a time zone abbreviation member in ++ struct tm, e.g., tm_zone. ++
  • ++
  • ++ Since the TZ environment variable can now be used to control time ++ conversion, the daylight ++ and timezone variables are no longer needed. ++ (These variables are defined and set by tzset; ++ however, their values will not be used ++ by localtime.) ++
  • ++
  • ++ Functions tzalloc, tzfree, ++ localtime_rz, and mktime_z for ++ more-efficient thread-safe applications that need to use ++ multiple time zones. The tzalloc ++ and tzfree functions allocate and free objects of ++ type timezone_t, and localtime_rz ++ and mktime_z are like localtime_r ++ and mktime with an extra ++ timezone_t argument. The functions were inspired ++ by NetBSD. ++
  • ++
  • ++ A function tzsetwall has been added to arrange ++ for the system's ++ best approximation to local wall clock time to be delivered by ++ subsequent calls to localtime. Source code for portable ++ applications that "must" run on local wall clock time should call ++ tzsetwall; if such code is moved to "old" systems that don't ++ provide tzsetwall, you won't be able to generate an executable program. ++ (These time zone functions also arrange for local wall clock time to be ++ used if tzset is called – directly or indirectly – ++ and there's no TZ ++ environment variable; portable applications should not, however, rely ++ on this behavior since it's not the way SVR2 systems behave.) ++
  • ++
  • ++ Negative time_t values are supported, on systems ++ where time_t is signed. ++
  • ++
  • ++ These functions can account for leap seconds, thanks to Bradley White. ++
  • ++
++

++Points of interest to folks with other systems: ++

++
    ++
  • ++ Code compatible with this package is already part of many platforms, ++ including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, ++ BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. ++ On such hosts, the primary use of this package ++ is to update obsolete time zone rule tables. ++ To do this, you may need to compile the time zone compiler ++ 'zic' supplied with this package instead of using ++ the system 'zic', since the format ++ of zic's input is occasionally extended, and a ++ platform may still be shipping an older zic. ++
  • ++
  • ++ The UNIX Version 7 timezone function is not ++ present in this package; ++ it's impossible to reliably map timezone's arguments (a "minutes west ++ of GMT" value and a "daylight saving time in effect" flag) to a ++ time zone abbreviation, and we refuse to guess. ++ Programs that in the past used the timezone function may now examine ++ localtime(&clock)->tm_zone ++ (if TM_ZONE is defined) or ++ tzname[localtime(&clock)->tm_isdst] ++ (if HAVE_TZNAME is defined) ++ to learn the correct time zone abbreviation to use. ++
  • ++
  • ++ The 4.2BSD gettimeofday function is not used in ++ this package. ++ This formerly let users obtain the current UTC offset and DST flag, ++ but this functionality was removed in later versions of BSD. ++
  • ++
  • ++ In SVR2, time conversion fails for near-minimum or near-maximum ++ time_t values when doing conversions for places ++ that don't use UT. ++ This package takes care to do these conversions correctly. ++ A comment in the source code tells how to get compatibly wrong ++ results. ++
  • ++
++

++The functions that are conditionally compiled ++if STD_INSPIRED is defined ++should, at this point, be looked on primarily as food for thought. They are ++not in any sense "standard compatible" – some are not, in fact, ++specified in any standard. They do, however, represent responses of ++various authors to ++standardization proposals. ++

++ ++

++Other time conversion proposals, in particular the one developed by folks at ++Hewlett Packard, offer a wider selection of functions that provide capabilities ++beyond those provided here. The absence of such functions from this package ++is not meant to discourage the development, standardization, or use of such ++functions. Rather, their absence reflects the decision to make this package ++contain valid extensions to POSIX, to ensure its broad acceptability. If ++more powerful time conversion functions can be standardized, so much the ++better. ++

++
++ ++ ++
++

Interface stability

++

++The tz code and data supply the following interfaces: ++

++
    ++
  • ++ A set of zone names as per "Names of time zone ++ rules" above. ++
  • ++
  • ++ Library functions described in "Time and date ++ functions" above. ++
  • ++
  • ++ The programs tzselect, zdump, ++ and zic, documented in their man pages. ++
  • ++
  • ++ The format of zic input files, documented in ++ the zic man page. ++
  • ++
  • ++ The format of zic output files, documented in ++ the tzfile man page. ++
  • ++
  • ++ The format of zone table files, documented in zone1970.tab. ++
  • ++
  • ++ The format of the country code file, documented in iso3166.tab. ++
  • ++
  • ++ The version number of the code and data, as the first line of ++ the text file 'version' in each release. ++
  • ++
++

++Interface changes in a release attempt to preserve compatibility with ++recent releases. For example, tz data files typically do not rely on ++recently-added zic features, so that users can run ++older zic versions to process newer data ++files. Sources for time zone and daylight ++saving time data describes how ++releases are tagged and distributed. ++

++ ++

++Interfaces not listed above are less stable. For example, users ++should not rely on particular UT offsets or abbreviations for ++timestamps, as data entries are often based on guesswork and these ++guesses may be corrected or improved. ++

++
++ ++ ++
++

Calendrical issues

++

++Calendrical issues are a bit out of scope for a time zone database, ++but they indicate the sort of problems that we would run into if we ++extended the time zone database further into the past. An excellent ++resource in this area is Nachum Dershowitz and Edward M. Reingold, ++Calendrical ++Calculations: Third Edition, Cambridge University Press (2008). ++Other information and sources are given in the file 'calendars' ++in the tz distribution. They sometimes disagree. ++

++
++ ++ ++
++

Time and time zones on other planets

++

++Some people's work schedules use Mars time. Jet Propulsion Laboratory ++(JPL) coordinators have kept Mars time on and off at least since 1997 ++for the Mars Pathfinder mission. Some of their family members have ++also adapted to Mars time. Dozens of special Mars watches were built ++for JPL workers who kept Mars time during the Mars Exploration ++Rovers mission (2004). These timepieces look like normal Seikos and ++Citizens but use Mars seconds rather than terrestrial seconds. ++

++ ++

++A Mars solar day is called a "sol" and has a mean period equal to ++about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is ++divided into a conventional 24-hour clock, so each Mars second equals ++about 1.02749125 terrestrial seconds. ++

++ ++

++The prime meridian of Mars goes through the center of the crater ++Airy-0, named in honor of the British astronomer who built the ++Greenwich telescope that defines Earth's prime meridian. Mean solar ++time on the Mars prime meridian is called Mars Coordinated Time (MTC). ++

++ ++

++Each landed mission on Mars has adopted a different reference for ++solar time keeping, so there is no real standard for Mars time zones. ++For example, the Mars Exploration Rover project (2004) defined two ++time zones "Local Solar Time A" and "Local Solar Time B" for its two ++missions, each zone designed so that its time equals local true solar ++time at approximately the middle of the nominal mission. Such a "time ++zone" is not particularly suited for any application other than the ++mission itself. ++

++ ++

++Many calendars have been proposed for Mars, but none have achieved ++wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a ++sequential count of Mars solar days elapsed since about 1873-12-29 ++12:00 GMT. ++

++ ++

++In our solar system, Mars is the planet with time and calendar most ++like Earth's. On other planets, Sun-based time and calendars would ++work quite differently. For example, although Mercury's sidereal ++rotation period is 58.646 Earth days, Mercury revolves around the Sun ++so rapidly that an observer on Mercury's equator would see a sunrise ++only every 175.97 Earth days, i.e., a Mercury year is 0.5 of a Mercury ++day. Venus is more complicated, partly because its rotation is ++slightly retrograde: its year is 1.92 of its days. Gas giants like ++Jupiter are trickier still, as their polar and equatorial regions ++rotate at different rates, so that the length of a day depends on ++latitude. This effect is most pronounced on Neptune, where the day is ++about 12 hours at the poles and 18 hours at the equator. ++

++ ++

++Although the tz database does not support time on other planets, it is ++documented here in the hopes that support will be added eventually. ++

++ ++

++Sources: ++

++ ++
++ ++
++
++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++
++ ++ ++native +\ No newline at end of property ++FreeBSD=%H +\ No newline at end of property ++text/html +\ No newline at end of property +--- contrib/tzdata/version.orig ++++ contrib/tzdata/version +@@ -1 +1 @@ +-2016i ++2017c +--- contrib/tzdata/zishrink.awk.orig ++++ contrib/tzdata/zishrink.awk +@@ -0,0 +1,156 @@ ++# Convert tzdata source into a smaller version of itself. ++ ++# Contributed by Paul Eggert. This file is in the public domain. ++ ++# This is not a general-purpose converter; it is designed for current tzdata. ++# 'zic' should treat this script's output as if it were identical to ++# this script's input. ++ ++ ++# Return a new rule name. ++# N_RULE_NAMES keeps track of how many rule names have been generated. ++ ++function gen_rule_name(alphabet, base, rule_name, n, digit) ++{ ++ alphabet = "" ++ alphabet = alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ++ alphabet = alphabet "abcdefghijklmnopqrstuvwxyz" ++ alphabet = alphabet "!$%&'()*+,./:;<=>?@[\\]^_`{|}~" ++ base = length(alphabet) ++ rule_name = "" ++ n = n_rule_names++ ++ ++ do { ++ n -= rule_name && n <= base ++ digit = n % base ++ rule_name = substr(alphabet, digit + 1, 1) rule_name ++ n = (n - digit) / base ++ } while (n); ++ ++ return rule_name ++} ++ ++# Process an input line and save it for later output. ++ ++function process_input_line(line, field, end, i, n, startdef) ++{ ++ # Remove comments, normalize spaces, and append a space to each line. ++ sub(/#.*/, "", line) ++ line = line " " ++ gsub(/[[:space:]]+/, " ", line) ++ ++ # Abbreviate keywords. Do not abbreviate "Link" to just "L", ++ # as pre-2017c zic erroneously diagnoses "Li" as ambiguous. ++ sub(/^Link /, "Li ", line) ++ sub(/^Rule /, "R ", line) ++ sub(/^Zone /, "Z ", line) ++ ++ # SystemV rules are not needed. ++ if (line ~ /^R SystemV /) return ++ ++ # Replace FooAsia rules with the same rules without "Asia", as they ++ # are duplicates. ++ if (match(line, /[^ ]Asia /)) { ++ if (line ~ /^R /) return ++ line = substr(line, 1, RSTART) substr(line, RSTART + 5) ++ } ++ ++ # Abbreviate times. ++ while (match(line, /[: ]0+[0-9]/)) ++ line = substr(line, 1, RSTART) substr(line, RSTART + RLENGTH - 1) ++ while (match(line, /:0[^:]/)) ++ line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2) ++ ++ # Abbreviate weekday names. Do not abbreviate "Sun" and "Sat", as ++ # pre-2017c zic erroneously diagnoses "Su" and "Sa" as ambiguous. ++ while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 4) substr(line, end - 1) ++ } ++ while (match(line, / (last)?(Tue|Thu)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 3) substr(line, end - 1) ++ } ++ ++ # Abbreviate "max", "only" and month names. ++ # Do not abbreviate "min", as pre-2017c zic erroneously diagnoses "mi" ++ # as ambiguous. ++ gsub(/ max /, " ma ", line) ++ gsub(/ only /, " o ", line) ++ gsub(/ Jan /, " Ja ", line) ++ gsub(/ Feb /, " F ", line) ++ gsub(/ Apr /, " Ap ", line) ++ gsub(/ Aug /, " Au ", line) ++ gsub(/ Sep /, " S ", line) ++ gsub(/ Oct /, " O ", line) ++ gsub(/ Nov /, " N ", line) ++ gsub(/ Dec /, " D ", line) ++ ++ # Strip leading and trailing space. ++ sub(/^ /, "", line) ++ sub(/ $/, "", line) ++ ++ # Remove unnecessary trailing zero fields. ++ sub(/ 0+$/, "", line) ++ ++ # Remove unnecessary trailing days-of-month "1". ++ if (match(line, /[[:alpha:]] 1$/)) ++ line = substr(line, 1, RSTART) ++ ++ # Remove unnecessary trailing " Ja" (for January). ++ sub(/ Ja$/, "", line) ++ ++ n = split(line, field) ++ ++ # Abbreviate rule names. ++ i = field[1] == "Z" ? 4 : field[1] == "Li" ? 0 : 2 ++ if (i && field[i] ~ /^[^-+0-9]/) { ++ if (!rule[field[i]]) ++ rule[field[i]] = gen_rule_name() ++ field[i] = rule[field[i]] ++ } ++ ++ # If this zone supersedes an earlier one, delete the earlier one ++ # from the saved output lines. ++ startdef = "" ++ if (field[1] == "Z") ++ zonename = startdef = field[2] ++ else if (field[1] == "Li") ++ zonename = startdef = field[3] ++ else if (field[1] == "R") ++ zonename = "" ++ if (startdef) { ++ i = zonedef[startdef] ++ if (i) { ++ do ++ output_line[i - 1] = "" ++ while (output_line[i++] ~ /^[-+0-9]/); ++ } ++ } ++ zonedef[zonename] = nout + 1 ++ ++ # Save the line for later output. ++ line = field[1] ++ for (i = 2; i <= n; i++) ++ line = line " " field[i] ++ output_line[nout++] = line ++} ++ ++function output_saved_lines(i) ++{ ++ for (i = 0; i < nout; i++) ++ if (output_line[i]) ++ print output_line[i] ++} ++ ++BEGIN { ++ print "# This zic input file is in the public domain." ++} ++ ++/^[[:space:]]*[^#[:space:]]/ { ++ process_input_line($0) ++} ++ ++END { ++ output_saved_lines() ++} ++native +\ No newline at end of property ++FreeBSD=%H +\ No newline at end of property ++text/plain +\ No newline at end of property +--- contrib/tzdata/zone.tab.orig ++++ contrib/tzdata/zone.tab +@@ -142,6 +142,7 @@ + CI +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 + CL -2709-10926 Pacific/Easter Easter Island + CM +0403+00942 Africa/Douala + CN +3114+12128 Asia/Shanghai Beijing Time +@@ -185,7 +186,7 @@ + GD +1203-06145 America/Grenada + GE +4143+04449 Asia/Tbilisi + GF +0456-05220 America/Cayenne +-GG +4927-00232 Europe/Guernsey ++GG +492717-0023210 Europe/Guernsey + GH +0533-00013 Africa/Accra + GI +3608-00521 Europe/Gibraltar + GL +6411-05144 America/Godthab Greenland (most areas) +@@ -220,7 +221,7 @@ + IR +3540+05126 Asia/Tehran + IS +6409-02151 Atlantic/Reykjavik + IT +4154+01229 Europe/Rome +-JE +4912-00207 Europe/Jersey ++JE +491101-0020624 Europe/Jersey + JM +175805-0764736 America/Jamaica + JO +3157+03556 Asia/Amman + JP +353916+1394441 Asia/Tokyo +@@ -239,7 +240,8 @@ + KZ +4315+07657 Asia/Almaty Kazakhstan (most areas) + KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda + KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe +-KZ +4431+05016 Asia/Aqtau Atyrau/Atirau/Gur'yev, Mangghystau/Mankistau ++KZ +4431+05016 Asia/Aqtau Mangghystau/Mankistau ++KZ +4707+05156 Asia/Atyrau Atyrau/Atirau/Gur'yev + KZ +5113+05121 Asia/Oral West Kazakhstan + LA +1758+10236 Asia/Vientiane + LB +3353+03530 Asia/Beirut +@@ -330,14 +332,15 @@ + RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad + RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area + RU +4457+03406 Europe/Simferopol MSK+00 - Crimea +-RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd, Saratov ++RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd + RU +5836+04939 Europe/Kirov MSK+00 - Kirov + RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan ++RU +5134+04602 Europe/Saratov MSK+01 - Saratov ++RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia +-RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals + RU +5500+07324 Asia/Omsk MSK+03 - Omsk +-RU +5502+08255 Asia/Novosibirsk MSK+03 - Novosibirsk ++RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk + RU +5322+08345 Asia/Barnaul MSK+04 - Altai + RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk + RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo +@@ -395,7 +398,6 @@ + UA +4837+02218 Europe/Uzhgorod Ruthenia + UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east) + UG +0019+03225 Africa/Kampala +-UM +1645-16931 Pacific/Johnston Johnston Atoll + UM +2813-17722 Pacific/Midway Midway Islands + UM +1917+16637 Pacific/Wake Wake Island + US +404251-0740023 America/New_York Eastern (most areas) +--- contrib/tzdata/zone1970.tab.orig ++++ contrib/tzdata/zone1970.tab +@@ -2,7 +2,7 @@ + # + # This file is in the public domain. + # +-# From Paul Eggert (2014-07-31): ++# From Paul Eggert (2017-10-01): + # This file contains a table where each row stands for a zone where + # civil time stamps have agreed since 1970. Columns are separated by + # a single tab. Lines beginning with '#' are comments. All text uses +@@ -16,7 +16,7 @@ + # either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS, + # first latitude (+ is north), then longitude (+ is east). + # 3. Zone name used in value of TZ environment variable. +-# Please see the 'Theory' file for how zone names are chosen. ++# Please see the theory.html file for how zone names are chosen. + # If multiple zones overlap a country, each has a row in the + # table, with each column 1 containing the country code. + # 4. Comments; present if and only if a country has multiple zones. +@@ -136,6 +136,7 @@ + CI,BF,GM,GN,ML,MR,SH,SL,SN,ST,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 + CL -2709-10926 Pacific/Easter Easter Island + CN +3114+12128 Asia/Shanghai Beijing Time + CN +4348+08735 Asia/Urumqi Xinjiang Time +@@ -211,8 +212,9 @@ + KR +3733+12658 Asia/Seoul + KZ +4315+07657 Asia/Almaty Kazakhstan (most areas) + KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda +-KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe +-KZ +4431+05016 Asia/Aqtau Atyrau/Atirau/Gur'yev, Mangghystau/Mankistau ++KZ +5017+05710 Asia/Aqtobe Aqtöbe/Aktobe ++KZ +4431+05016 Asia/Aqtau Mangghystaū/Mankistau ++KZ +4707+05156 Asia/Atyrau Atyraū/Atirau/Gur'yev + KZ +5113+05121 Asia/Oral West Kazakhstan + LB +3353+03530 Asia/Beirut + LK +0656+07951 Asia/Colombo +@@ -288,14 +290,15 @@ + RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad + RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area + RU +4457+03406 Europe/Simferopol MSK+00 - Crimea +-RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd, Saratov ++RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd + RU +5836+04939 Europe/Kirov MSK+00 - Kirov + RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan ++RU +5134+04602 Europe/Saratov MSK+01 - Saratov ++RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia +-RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals + RU +5500+07324 Asia/Omsk MSK+03 - Omsk +-RU +5502+08255 Asia/Novosibirsk MSK+03 - Novosibirsk ++RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk + RU +5322+08345 Asia/Barnaul MSK+04 - Altai + RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk + RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo +@@ -314,10 +317,11 @@ + SA,KW,YE +2438+04643 Asia/Riyadh + SB -0932+16012 Pacific/Guadalcanal + SC -0440+05528 Indian/Mahe +-SD,SS +1536+03232 Africa/Khartoum ++SD +1536+03232 Africa/Khartoum + SE +5920+01803 Europe/Stockholm + SG +0117+10351 Asia/Singapore + SR +0550-05510 America/Paramaribo ++SS +0451+03137 Africa/Juba + SV +1342-08912 America/El_Salvador + SY +3330+03618 Asia/Damascus + TC +2128-07108 America/Grand_Turk diff --git a/share/security/patches/EN-17:09/tzdata-10.3.patch.asc b/share/security/patches/EN-17:09/tzdata-10.3.patch.asc new file mode 100644 index 0000000000..4306636d6e --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-10.3.patch.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- + +iQKTBAABCgB9FiEEHPf/b631yp++G4yy7Wfs1l3PaucFAln7PXNfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFD +RjdGRjZGQURGNUNBOUZCRTFCOENCMkVENjdFQ0Q2NURDRjZBRTcACgkQ7Wfs1l3P +aufzVRAAwXKC4oBKgam/ixtN2mnnl7wfXyCT8cuDlfI/CboZeT/85ko2w1Md5SX9 +C4UOyfk78Lou2n4JFarC4dOtxXWUw3l2UidD/Hg0adqapwJMfssQE0ruE8W/U6yq +6Svku1smd16V+ek5nh3XbaLtbzUCH5o3v2O2wvQ0q0CxpfOe2zfyFq446pduoDKx +di2IDfgC+/Cejj+AKn/5d6o+oVO9uPYuzL2u466WRG/iz2sBwMU5B8dFBQUVv/12 +kY4ilnDf8NUQ+ABs4wjsXQnqWBS3t22SRIk/UUSK8socTXrzeN9+L00ibyPLdklr +hhmsD2GBuiv5rnByNsRbSAk16UhCMswxG578Xh05KDMLHnIllJxaKlg/YXBz1r+h +8+8ZTCP+ZZkNaT4RlCM4uNkrx7HK6URW0i0dUdmCW+WhcErn3RYRreqm8uLeYdQr +OIJtSaJxph+DsWzrh9vCIskpR11nFUQTzV/CDdqQ1AuBSVdR3yt5dPKcxcG7Fmp8 +DMCMGRDoxVkflhnD9Zxj97oz5aXCMLaPR4ZNu2YjKCTAk327ySQwFEyAxd31ntzZ +Ab6JBq1CbJJwGTJivSqBfvjtI5j4nAYj6q37xkFF7nuKPGbhysP7ejOWeFLsVvQs +PxIClqICc9IjmVeFqQ82R/dWmZXC+f7S7CObYbVcY/TgDvj/w3A= +=3wfa +-----END PGP SIGNATURE----- diff --git a/share/security/patches/EN-17:09/tzdata-10.4.patch b/share/security/patches/EN-17:09/tzdata-10.4.patch new file mode 100644 index 0000000000..029a330f03 --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-10.4.patch @@ -0,0 +1,5133 @@ +--- contrib/tzdata/CONTRIBUTING.orig ++++ contrib/tzdata/CONTRIBUTING +@@ -5,20 +5,26 @@ + warning, the data entries do not cover all of civil time before + 1970, and undoubtedly errors remain in the code and data. Feel + free to fill gaps or fix mistakes, and please email improvements +-to tz@iana.org for use in the future. ++to tz@iana.org for use in the future. In your email, please give ++reliable sources that reviewers can check. + ++----- ++ ++Developers can contribute technical changes to the source code and ++data as follows. ++ + To email small changes, please run a POSIX shell command like + 'diff -u old/europe new/europe >myfix.patch', and attach + myfix.patch to the email. + +-For more-elaborate changes, please read the Theory file and browse +-the mailing list archives for +-examples of patches that tend to work well. Ideally, additions to ++For more-elaborate changes, please read the theory.html file and browse ++the mailing list archives for ++examples of patches that tend to work well. Additions to + data should contain commentary citing reliable sources as +-justification. ++justification. Citations should use https: URLs if available. + + Please submit changes against either the latest release in +- or the master branch of the development ++ or the master branch of the development + repository. If you use Git the following workflow may be helpful: + + * Copy the development repository. +--- contrib/tzdata/LICENSE.orig ++++ contrib/tzdata/LICENSE +@@ -1,4 +1,5 @@ +-With a few exceptions, all files in the tz code and data (including +-this one) are in the public domain. The exceptions are date.c, +-newstrftime.3, and strftime.c, which contain material derived from BSD +-and which use the BSD 3-clause license. ++Unless specified below, all files in the tz code and data (including ++this LICENSE file) are in the public domain. ++ ++If the files date.c, newstrftime.3, and strftime.c are present, they ++contain material derived from BSD and use the BSD 3-clause license. +--- contrib/tzdata/Makefile.orig ++++ contrib/tzdata/Makefile +@@ -49,6 +49,7 @@ + # "Compiled" time zone information is placed in the "TZDIR" directory + # (and subdirectories). + # Use an absolute path name for TZDIR unless you're just testing the software. ++# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty. + + TZDIR_BASENAME= zoneinfo + TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME) +@@ -75,7 +76,7 @@ + # If you want only POSIX time, with time values interpreted as + # seconds since the epoch (not counting leap seconds), use + # REDO= posix_only +-# below. If you want want only "right" time, with values interpreted ++# below. If you want only "right" time, with values interpreted + # as seconds since the epoch (counting leap seconds), use + # REDO= right_only + # below. If you want both sets of data available, with leap seconds not +@@ -92,6 +93,24 @@ + + REDO= posix_right + ++# To install data in text form that has all the information of the binary data, ++# (optionally incorporating leap second information), use ++# TZDATA_TEXT= tzdata.zi leapseconds ++# To install text data without leap second information (e.g., because ++# REDO='posix_only'), use ++# TZDATA_TEXT= tzdata.zi ++# To avoid installing text data, use ++# TZDATA_TEXT= ++ ++TZDATA_TEXT= leapseconds tzdata.zi ++ ++# For backward-compatibility links for old zone names, use ++# BACKWARD= backward pacificnew ++# To omit these links, use ++# BACKWARD= ++ ++BACKWARD= backward pacificnew ++ + # If you want out-of-scope and often-wrong data from the file 'backzone', use + # PACKRATDATA= backzone + # To omit this data, use +@@ -99,6 +118,11 @@ + + PACKRATDATA= + ++# The name of a locale using the UTF-8 encoding, used during self-tests. ++# The tests are skipped if the name does not appear to work on this system. ++ ++UTF8_LOCALE= en_US.utf8 ++ + # Since "." may not be in PATH... + + YEARISTYPE= ./yearistype +@@ -106,50 +130,53 @@ + # Non-default libraries needed to link. + LDLIBS= + +-# Add the following to the end of the "CFLAGS=" line as needed. ++# Add the following to the end of the "CFLAGS=" line as needed to override ++# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1". + # -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c) ++# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime ++# formats that generate only the last two digits of year numbers ++# -DEPOCH_LOCAL if the 'time' function returns local time not UT ++# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater ++# than what POSIX specifies, assuming local time is UT. ++# For example, N is 252460800 on AmigaOS. + # -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r ++# -DHAVE_DECL_ENVIRON if declares 'environ' + # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) +-# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS) +-# -DHAVE_GETTEXT=1 if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) +-# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares ++# -DHAVE_GENERIC=0 if _Generic does not work ++# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) ++# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares + # ctime_r and asctime_r incompatibly with the POSIX standard + # (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). +-# -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h" ++# -DHAVE_INTTYPES_H if you have a non-C99 compiler with + # -DHAVE_LINK=0 if your system lacks a link function + # -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 +-# This defaults to 1 if a working localtime_rz seems to be available. + # localtime_rz can make zdump significantly faster, but is nonstandard. + # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare + # functions like 'link' or variables like 'tzname' required by POSIX +-# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h" +-# -DHAVE_STRFTIME_L=1 if declares locale_t and strftime_l +-# This defaults to 0 if _POSIX_VERSION < 200809, 1 otherwise. ++# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function ++# -DHAVE_STDBOOL_H if you have a non-C99 compiler with ++# -DHAVE_STDINT_H if you have a non-C99 compiler with ++# -DHAVE_STRFTIME_L if declares locale_t and strftime_l + # -DHAVE_STRDUP=0 if your system lacks the strdup 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_SYS_STAT_H=0 if your compiler lacks a ++# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a + # -DHAVE_TZSET=0 if your system lacks a tzset function +-# -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?) +-# -DEPOCH_LOCAL=1 if the 'time' function returns local time not UT +-# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater +-# than what POSIX specifies, assuming local time is UT. +-# For example, N is 252460800 on AmigaOS. +-# -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1 +-# if you do not want run time warnings about formats that may cause +-# year 2000 grief +-# -Dssize_t=long on ancient hosts that lack ssize_t +-# -DTHREAD_SAFE=1 to make localtime.c thread-safe, as POSIX requires; ++# -DHAVE_UNISTD_H=0 if your compiler lacks a ++# -Dlocale_t=XXX if your system uses XXX instead of locale_t ++# -Dssize_t=long on hosts like MS-Windows that lack ssize_t ++# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; + # not needed by the main-program tz code, which is single-threaded. + # Append other compiler flags as needed, e.g., -pthread on GNU/Linux. + # -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t ++# This is intended for internal use only; it mangles external names. + # -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" + # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; + # the default is system-supplied, typically "/usr/lib/locale" + # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified + # DST transitions if the time zone files cannot be accessed +-# -DUNINIT_TRAP=1 if reading uninitialized storage can cause problems ++# -DUNINIT_TRAP if reading uninitialized storage can cause problems + # other than simply getting garbage data + # -DUSE_LTZ=0 to build zdump with the system time zone library + # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. +@@ -157,27 +184,28 @@ + # (or some other number) to set the maximum time zone abbreviation length + # that zic will accept without a warning (the default is 6) + # $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking +-GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-common -fstrict-aliasing \ +- -Wall -Wextra \ +- -Wbad-function-cast -Wcast-align -Wdate-time \ +- -Wdeclaration-after-statement \ +- -Wdouble-promotion \ +- -Wformat=2 -Winit-self -Wjump-misses-init \ +- -Wlogical-op -Wmissing-prototypes -Wnested-externs \ +- -Wold-style-definition -Woverlength-strings -Wpointer-arith \ +- -Wshadow -Wstrict-prototypes -Wsuggest-attribute=const \ +- -Wsuggest-attribute=format -Wsuggest-attribute=noreturn \ +- -Wsuggest-attribute=pure -Wtrampolines \ +- -Wundef -Wunused -Wwrite-strings \ +- -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ +- -Wno-type-limits -Wno-unused-parameter ++# Select instrumentation via "make GCC_INSTRUMENT='whatever'". ++GCC_INSTRUMENT = \ ++ -fsanitize=undefined -fsanitize-address-use-after-scope \ ++ -fsanitize-undefined-trap-on-error -fstack-protector ++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 -Wdate-time \ ++ -Wdeclaration-after-statement -Wdouble-promotion \ ++ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ ++ -Winit-self -Wjump-misses-init -Wlogical-op \ ++ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ ++ -Wold-style-definition -Woverlength-strings -Wpointer-arith \ ++ -Wshadow -Wshift-overflow=2 -Wstrict-prototypes -Wstringop-overflow=5 \ ++ -Wsuggest-attribute=const -Wsuggest-attribute=format \ ++ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ ++ -Wtrampolines -Wundef -Wuninitialized -Wunused \ ++ -Wvariadic-macros -Wvla -Wwrite-strings \ ++ -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ ++ -Wno-type-limits -Wno-unused-parameter + # +-# If you want to use System V compatibility code, add +-# -DUSG_COMPAT +-# to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight" +-# variables to be kept up-to-date by the time conversion functions. Neither +-# "timezone" nor "daylight" is described in X3J11's work. +-# + # If your system has a "GMT offset" field in its "struct tm"s + # (or if you decide to add such a field in your system's "time.h" file), + # add the name to a define such as +@@ -189,6 +217,31 @@ + # and define NO_TM_ZONE to suppress any guessing. These two fields are not + # required by POSIX, but are widely available on GNU/Linux and BSD systems. + # ++# The next batch of options control support for external variables ++# exported by tzcode. In practice these variables are less useful ++# than TM_GMTOFF and TM_ZONE. However, most of them are standardized. ++# # ++# # To omit or support the external variable "tzname", add one of: ++# # -DHAVE_TZNAME=0 ++# # -DHAVE_TZNAME=1 ++# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. ++# # If not defined, the code attempts to guess HAVE_TZNAME from other macros. ++# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause ++# # crashes when combined with some platforms' standard libraries, ++# # presumably due to memory allocation issues. ++# # ++# # To omit or support the external variables "timezone" and "daylight", add ++# # -DUSG_COMPAT=0 ++# # -DUSG_COMPAT=1 ++# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by ++# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. ++# # If not defined, the code attempts to guess USG_COMPAT from other macros. ++# # ++# # To support the external variable "altzone", add ++# # -DALTZONE ++# # to the end of the "CFLAGS=" line; although "altzone" appeared in ++# # System V Release 3.1 it has not been standardized. ++# + # If you want functions that were inspired by early versions of X3J11's work, + # add + # -DSTD_INSPIRED +@@ -226,11 +279,6 @@ + # -DALL_STATE + # to the end of the "CFLAGS=" line. Storage is obtained by calling malloc. + # +-# If you want an "altzone" variable (a la System V Release 3.1), add +-# -DALTZONE +-# to the end of the "CFLAGS=" line. +-# This variable is not described in X3J11's work. +-# + # NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put + # out by the National Institute of Standards and Technology + # which claims to test C and Posix conformance. If you want to pass PCTS, add +@@ -240,8 +288,8 @@ + # If you want strict compliance with XPG4 as of 1994-04-09, add + # -DXPG4_1994_04_09 + # to the end of the "CFLAGS=" line. This causes "strftime" to always return +-# 53 as a week number (rather than 52 or 53) for those days in January that +-# before the first Monday in January when a "%V" format is used and January 1 ++# 53 as a week number (rather than 52 or 53) for January days before ++# January's first Monday when a "%V" format is used and January 1 + # falls on a Friday, Saturday, or Sunday. + + CFLAGS= +@@ -265,7 +313,7 @@ + + # How to use zic to install tz binary files. + +-ZIC_INSTALL= $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) ++ZIC_INSTALL= $(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) + + # The name of a Posix-compliant 'awk' on your system. + AWK= awk +@@ -289,6 +337,7 @@ + # The name, arguments and environment of a program to validate your web pages. + # See for a validator, and + # for a validation library. ++# Set VALIDATE=':' if you do not have such a program. + VALIDATE = nsgmls + VALIDATE_FLAGS = -s -B -wall -wno-unused-param + VALIDATE_ENV = \ +@@ -355,7 +404,7 @@ + RANLIB= : + + TZCOBJS= zic.o +-TZDOBJS= zdump.o localtime.o asctime.o ++TZDOBJS= zdump.o localtime.o asctime.o strftime.o + DATEOBJS= date.o localtime.o strftime.o asctime.o + LIBSRCS= localtime.c asctime.c difftime.c + LIBOBJS= localtime.o asctime.o difftime.o +@@ -370,20 +419,22 @@ + time2posix.3.txt \ + tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \ + date.1.txt +-COMMON= CONTRIBUTING LICENSE Makefile NEWS README Theory version ++COMMON= calendars CONTRIBUTING LICENSE Makefile \ ++ NEWS README theory.html version + WEB_PAGES= tz-art.htm tz-how-to.html tz-link.htm + DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) + PRIMARY_YDATA= africa antarctica asia australasia \ + europe northamerica southamerica +-YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward ++YDATA= $(PRIMARY_YDATA) etcetera $(BACKWARD) + NDATA= systemv factory + TDATA= $(YDATA) $(NDATA) + ZONETABLES= zone1970.tab zone.tab +-TABDATA= iso3166.tab leapseconds $(ZONETABLES) ++TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) + LEAP_DEPS= leapseconds.awk leap-seconds.list +-DATA= $(YDATA) $(NDATA) backzone $(TABDATA) \ +- leap-seconds.list yearistype.sh +-AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk ++TZDATA_ZI_DEPS= zishrink.awk $(TDATA) $(PACKRATDATA) ++DATA= $(YDATA) $(NDATA) backzone iso3166.tab leap-seconds.list \ ++ leapseconds yearistype.sh $(ZONETABLES) ++AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk zishrink.awk + MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl + TZS_YEAR= 2050 + TZS= to$(TZS_YEAR).tzs +@@ -390,13 +441,13 @@ + TZS_NEW= to$(TZS_YEAR)new.tzs + TZS_DEPS= $(PRIMARY_YDATA) asctime.c localtime.c \ + private.h tzfile.h zdump.c zic.c +-ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) ++ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) tzdata.zi + + # Consult these files when deciding whether to rebuild the 'version' file. + # This list is not the same as the output of 'git ls-files', since + # .gitignore is not distributed. + VERSION_DEPS= \ +- CONTRIBUTING LICENSE Makefile NEWS README Theory \ ++ calendars CONTRIBUTING LICENSE Makefile NEWS README \ + africa antarctica asctime.c asia australasia \ + backward backzone \ + checklinks.awk checktab.awk \ +@@ -405,7 +456,7 @@ + leap-seconds.list leapseconds.awk localtime.c \ + newctime.3 newstrftime.3 newtzset.3 northamerica \ + pacificnew private.h \ +- southamerica strftime.c systemv \ ++ southamerica strftime.c systemv theory.html \ + time2posix.3 tz-art.htm tz-how-to.html tz-link.htm \ + tzfile.5 tzfile.h tzselect.8 tzselect.ksh \ + workman.sh yearistype.sh \ +@@ -427,7 +478,7 @@ + $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \ + $(DESTDIR)$(MANDIR)/man8 + $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES) +- cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/. ++ cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/. + cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/. + cp libtz.a $(DESTDIR)$(LIBDIR)/. + $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a +@@ -448,6 +499,11 @@ + printf '%s\n' "$$V" >$@.out + mv $@.out $@ + ++# This file can be tailored by setting BACKWARD, PACKRATDATA, etc. ++tzdata.zi: $(TZDATA_ZI_DEPS) ++ LC_ALL=C $(AWK) -f zishrink.awk $(TDATA) $(PACKRATDATA) >$@.out ++ mv $@.out $@ ++ + version.h: version + VERSION=`cat version` && printf '%s\n' \ + 'static char const PKGVERSION[]="($(PACKAGE)) ";' \ +@@ -473,6 +529,7 @@ + # Arguments to pass to submakes of install_data. + # They can be overridden by later submake arguments. + INSTALLARGS = \ ++ BACKWARD=$(BACKWARD) \ + DESTDIR=$(DESTDIR) \ + LEAPSECONDS='$(LEAPSECONDS)' \ + PACKRATDATA='$(PACKRATDATA)' \ +@@ -481,10 +538,8 @@ + ZIC='$(ZIC)' + + # 'make install_data' installs one set of tz binary files. +-# It can be tailored by setting LEAPSECONDS, PACKRATDATA, etc. +-install_data: zic leapseconds yearistype $(PACKRATDATA) $(TDATA) +- $(ZIC_INSTALL) $(TDATA) +- $(AWK) '/^Rule/' $(TDATA) | $(ZIC_INSTALL) - $(PACKRATDATA) ++install_data: zic leapseconds yearistype tzdata.zi ++ $(ZIC_INSTALL) tzdata.zi + + posix_only: + $(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data +@@ -521,14 +576,14 @@ + + zones: $(REDO) + +-$(TZS_NEW): $(TDATA) zdump zic ++$(TZS_NEW): tzdata.zi zdump zic + mkdir -p tzs.dir +- $(zic) -d tzs.dir $(TDATA) +- $(AWK) '/^Link/{print $$1 "\t" $$2 "\t" $$3}' \ +- $(TDATA) | LC_ALL=C sort >$@.out ++ $(zic) -d tzs.dir tzdata.zi ++ $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ ++ tzdata.zi | LC_ALL=C sort >$@.out + wd=`pwd` && \ + zones=`$(AWK) -v wd="$$wd" \ +- '/^Zone/{print wd "/tzs.dir/" $$2}' $(TDATA) \ ++ '/^Z/{print wd "/tzs.dir/" $$2}' tzdata.zi \ + | LC_ALL=C sort` && \ + ./zdump -i -c $(TZS_YEAR) $$zones >>$@.out + sed 's,^TZ=".*tzs\.dir/,TZ=",' $@.out >$@.sed.out +@@ -564,18 +619,24 @@ + chmod +x $@.out + mv $@.out $@ + +-check: check_character_set check_white_space check_links check_sorted \ +- check_tables check_tzs check_web ++check: check_character_set check_white_space check_links \ ++ check_name_lengths check_sorted \ ++ check_tables check_web check_zishrink check_tzs + + check_character_set: $(ENCHILADA) +- LC_ALL=en_US.utf8 && export LC_ALL && \ ++ test ! '$(UTF8_LOCALE)' || \ ++ ! printf 'A\304\200B\n' | \ ++ LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \ ++ LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \ + sharp='#' && \ + ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ + $(MISC) $(SOURCES) $(WEB_PAGES) \ +- CONTRIBUTING LICENSE Makefile README version && \ ++ CONTRIBUTING LICENSE Makefile README \ ++ version tzdata.zi && \ + ! grep -Env $(SAFE_SHARP_LINE) $(TDATA) backzone \ + leapseconds yearistype.sh zone.tab && \ +- ! grep -Env $(OK_LINE) $(ENCHILADA) ++ ! grep -Env $(OK_LINE) $(ENCHILADA); \ ++ } + + check_white_space: $(ENCHILADA) + patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ +@@ -582,6 +643,13 @@ + ! grep -En "$$pat" $(ENCHILADA) + ! grep -n '[[:space:]]$$' $(ENCHILADA) + ++PRECEDES_FILE_NAME = ^(Zone|Link[[:space:]]+[^[:space:]]+)[[:space:]]+ ++FILE_NAME_COMPONENT_TOO_LONG = \ ++ $(PRECEDES_FILE_NAME)[^[:space:]]*[^/[:space:]]{15} ++ ++check_name_lengths: $(TDATA) backzone ++ ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' $(TDATA) backzone ++ + CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } + + check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab +@@ -596,6 +664,7 @@ + + check_links: checklinks.awk $(TDATA) + $(AWK) -f checklinks.awk $(TDATA) ++ $(AWK) -f checklinks.awk tzdata.zi + + check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES) + for tab in $(ZONETABLES); do \ +@@ -606,14 +675,32 @@ + check_tzs: $(TZS) $(TZS_NEW) + diff -u $(TZS) $(TZS_NEW) + +-check_web: $(WEB_PAGES) +- $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES) ++# This checks only the HTML 4.01 strict page. ++# To check the the other pages, use . ++check_web: tz-how-to.html ++ $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html + ++# Check that tzdata.zi generates the same binary data that its sources do. ++check_zishrink: tzdata.zi zic leapseconds $(PACKRATDATA) $(TDATA) ++ for type in posix right; do \ ++ mkdir -p time_t.dir/$$type time_t.dir/$$type-shrunk && \ ++ case $$type in \ ++ right) leap='-L leapseconds';; \ ++ *) leap=;; \ ++ esac && \ ++ $(ZIC) $$leap -d time_t.dir/$$type $(TDATA) && \ ++ $(AWK) '/^Rule/' $(TDATA) | \ ++ $(ZIC) $$leap -d time_t.dir/$$type - $(PACKRATDATA) && \ ++ $(ZIC) $$leap -d time_t.dir/$$type-shrunk tzdata.zi && \ ++ diff -r time_t.dir/$$type time_t.dir/$$type-shrunk || exit; \ ++ done ++ rm -fr time_t.dir ++ + clean_misc: + rm -f core *.o *.out \ + date tzselect version.h zdump zic yearistype libtz.a + clean: clean_misc +- rm -fr *.dir tzdb-*/ $(TZS_NEW) ++ rm -fr *.dir tzdata.zi tzdb-*/ $(TZS_NEW) + + maintainer-clean: clean + @echo 'This command is intended for maintainers to use; it' +@@ -667,6 +754,7 @@ + touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \ + exit; \ + done ++ touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi + touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS) + touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version + touch $@ +@@ -678,7 +766,7 @@ + $(MAKE) maintainer-clean + $(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL + mkdir -p public.dir +- for i in $(TDATA) ; do \ ++ for i in $(TDATA) tzdata.zi; do \ + $(zic) -v -d public.dir $$i 2>&1 || exit; \ + done + $(zic) -v -d public.dir $(TDATA) +@@ -772,8 +860,8 @@ + $(MAKE) clean ; \ + done + +-zonenames: $(TDATA) +- @$(AWK) '/^Zone/ { print $$2 } /^Link/ { print $$3 }' $(TDATA) ++zonenames: tzdata.zi ++ @$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi + + asctime.o: private.h tzfile.h + date.o: private.h +@@ -789,6 +877,7 @@ + .PHONY: check check_character_set check_links + .PHONY: check_public check_sorted check_tables + .PHONY: check_time_t_alternatives check_tzs check_web check_white_space ++.PHONY: check_zishrink + .PHONY: clean clean_misc force_tzs + .PHONY: install install_data maintainer-clean names + .PHONY: posix_only posix_packrat posix_right +--- contrib/tzdata/NEWS.orig ++++ contrib/tzdata/NEWS +@@ -1,5 +1,169 @@ + News for the tz database + ++Release 2017c - 2017-10-20 14:49:34 -0700 ++ ++ Briefly: ++ Northern Cyprus switches from +03 to +02/+03 on 2017-10-29. ++ Fiji ends DST 2018-01-14, not 2018-01-21. ++ Namibia switches from +01/+02 to +02 on 2018-04-01. ++ Sudan switches from +03 to +02 on 2017-11-01. ++ Tonga likely switches from +13/+14 to +13 on 2017-11-05. ++ Turks & Caicos switches from -04 to -05/-04 on 2018-11-04. ++ A new file tzdata.zi now holds a small text copy of all data. ++ The zic input format has been regularized slightly. ++ ++ Changes to future time stamps ++ ++ Northern Cyprus has decided to resume EU rules starting ++ 2017-10-29, thus reinstituting winter time. ++ ++ Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously ++ predicted. (Thanks to Dominic Fok.) Adjust future predictions ++ accordingly. ++ ++ Namibia will switch from +01 with DST to +02 all year on ++ 2017-09-03 at 02:00. This affects UT offsets starting 2018-04-01 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Sudan will switch from +03 to +02 on 2017-11-01. (Thanks to Ahmed ++ Atyya and Yahia Abdalla.) South Sudan is not switching, so ++ Africa/Juba is no longer a link to Africa/Khartoum. ++ ++ Tonga has likely ended its experiment with DST, and will not ++ adjust its clocks on 2017-11-05. Although Tonga has not announced ++ whether it will continue to observe DST, the IATA is assuming that ++ it will not. (Thanks to David Wade.) ++ ++ Turks & Caicos will switch from -04 all year to -05 with US DST on ++ 2018-03-11 at 03:00. This affects UT offsets starting 2018-11-04 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Changes to past time stamps ++ ++ Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03. ++ (Thanks to Arthur David Olson.) ++ ++ Detroit did not observe DST in 1967. ++ ++ Use railway time for Asia/Kolkata before 1941, by switching to ++ Madras local time (UT +052110) in 1870, then to IST (UT +0530) in ++ 1906. Also, treat 1941-2's +0630 as DST, like 1942-5. ++ ++ Europe/Dublin's 1946 and 1947 fallback transitions occurred at ++ 02:00 standard time, not 02:00 DST. (Thanks to Michael Deckers.) ++ ++ Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to ++ American time in 1892, not 1879. (Thanks to Michael Deckers.) ++ ++ Adjust the 1867 transition in Alaska to better reflect the ++ historical record, by changing it to occur on 1867-10-18 at 15:30 ++ Sitka time rather than at the start of 1867-10-17 local time. ++ Although strictly speaking this is accurate only for Sitka, ++ the rest of Alaska's blanks need to be filled in somehow. ++ ++ Fix off-by-one errors in UT offsets for Adak and Nome before 1867. ++ (Thanks to Michael Deckers.) ++ ++ Add 7 s to the UT offset in Asia/Yangon before 1920. ++ ++ Changes to zone names ++ ++ Remove Canada/East-Saskatchewan from the 'backward' file, as it ++ exceeded the 14-character limit and was an unused misnomer anyway. ++ ++ Changes to build procedure ++ ++ To support applications that prefer to read time zone data in text ++ form, two zic input files tzdata.zi and leapseconds are now ++ installed by default. The commands 'zic tzdata.zi' and 'zic -L ++ leapseconds tzdata.zi' can reproduce the tzdata binary files ++ without and with leap seconds, respectively. To prevent these two ++ new files from being installed, use 'make TZDATA_TEXT=', and to ++ suppress leap seconds from the tzdata text installation, use 'make ++ TZDATA_TEXT=tzdata.zi'. ++ ++ 'make BACKWARD=' now suppresses backward-compatibility names ++ like 'US/Pacific' that are defined in the 'backward' and ++ 'pacificnew' files. ++ ++ 'make check' now works on systems that lack a UTF-8 locale, ++ or that lack the nsgmls program. Set UTF8_LOCALE to configure ++ the name of a UTF-8 locale, if you have one. ++ ++ Y2K runtime checks are no longer enabled by default. Add ++ -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of ++ adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU ++ to disable them. (New name suggested by Brian Inglis.) ++ ++ The build procedure for zdump now works on AIX 7.1. ++ (Problem reported by Kees Dekker.) ++ ++ Changes to code ++ ++ zic and the reference runtime now reject multiple leap seconds ++ within 28 days of each other, or leap seconds before the Epoch. ++ As a result, support for double leap seconds, which was ++ obsolescent and undocumented, has been removed. Double leap ++ seconds were an error in the C89 standard; they have never existed ++ in civil timekeeping. (Thanks to Robert Elz and Bradley White for ++ noticing glitches in the code that uncovered this problem.) ++ ++ zic now warns about use of the obsolescent and undocumented -y ++ option, and about use of the obsolescent TYPE field of Rule lines. ++ ++ zic now allows unambiguous abbreviations like "Sa" and "Su" for ++ weekdays; formerly it rejected them due to a bug. Conversely, zic ++ no longer considers non-prefixes to be abbreviations; for example, ++ it no longer accepts "lF" as an abbreviation for "lastFriday". ++ Also, zic warns about the undocumented usage with a "last-" ++ prefix, e.g., "last-Fri". ++ ++ Similarly, zic now accepts the unambiguous abbreviation "L" for ++ "Link" in ordinary context and for "Leap" in leap-second context. ++ Conversely, zic no longer accepts non-prefixes such as "La" as ++ abbreviations for words like "Leap". ++ ++ zic no longer accepts leap second lines in ordinary input, or ++ ordinary lines in leap second input. Formerly, zic sometimes ++ warned about this undocumented usage and handled it incorrectly. ++ ++ The new macro HAVE_TZNAME governs whether the tzname external ++ variable is exported, instead of USG_COMPAT. USG_COMPAT now ++ governs only the external variables "timezone" and "daylight". ++ This change is needed because the three variables are not in the ++ same category: although POSIX requires tzname, it specifies the ++ other two variables as optional. Also, USG_COMPAT is now 1 or 0: ++ if not defined, the code attempts to guess it from other macros. ++ ++ localtime.c and difftime.c no longer require stdio.h, and .c files ++ other than zic.c no longer require sys/wait.h. ++ ++ zdump.c no longer assumes snprintf. (Reported by Jonathan Leffler.) ++ ++ Calculation of time_t extrema works around a bug in GCC 4.8.4 ++ (Reported by Stan Shebs and Joseph Myers.) ++ ++ zic.c no longer mistranslates formats of line numbers in non-English ++ locales. (Problem reported by Benno Schulenberg.) ++ ++ Several minor changes have been made to the code to make it a ++ bit easier to port to MS-Windows and Solaris. (Thanks to Kees ++ Dekker for reporting the problems.) ++ ++ Changes to documentation and commentary ++ ++ The two new files 'theory.html' and 'calendars' contain the ++ contents of the removed file 'Theory'. The goal is to document ++ tzdb theory more accessibly. ++ ++ The zic man page now documents abbreviation rules. ++ ++ tz-link.htm now covers how to apply tzdata changes to clients. ++ (Thanks to Jorge Fábregas for the AIX link.) It also mentions MySQL. ++ ++ The leap-seconds.list URL has been updated to something that is ++ more reliable for tzdb. (Thanks to Tim Parenti and Brian Inglis.) ++ + Release 2017b - 2017-03-17 07:30:38 -0700 + + Briefly: Haiti has resumed DST. +@@ -15,7 +179,17 @@ + Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430" + is one byte over the POSIX limit. (Problem reported by Derick Rethans.) + ++ Changes to code + ++ The reference localtime implementation now falls back on the ++ current US daylight-saving transition rules rather than the ++ 1987-2006 rules. This fallback occurs only when (1) the TZ ++ environment variable's value has a name like "AST4ADT" that asks ++ for daylight saving time but does not specify the rules, (2) there ++ is no file by that name, and (3) the TZDEFRULES file cannot be ++ loaded. (Thanks to Tom Lane.) ++ ++ + Release 2017a - 2017-02-28 00:05:36 -0800 + + Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia +@@ -1981,7 +2155,7 @@ + + The 'leapseconds' file is now generated automatically from a + new file 'leap-seconds.list', which is a copy of +- . ++ + A new source file 'leapseconds.awk' implements this. + The goal is simplification of the future maintenance of 'leapseconds'. + +@@ -2187,7 +2361,7 @@ + + Many changes affect historical timestamps before 1940. + These were deduced from: Milne J. Civil time. Geogr J. 1899 +- Feb;13(2):173-94 . ++ Feb;13(2):173-94 . + + Changes affecting the code: + +--- contrib/tzdata/Theory.orig ++++ contrib/tzdata/Theory +@@ -1,870 +0,0 @@ +-Theory and pragmatics of the tz code and data +- +- +------ Outline ----- +- +- Scope of the tz database +- Names of time zone rules +- Time zone abbreviations +- Accuracy of the tz database +- Time and date functions +- Interface stability +- Calendrical issues +- Time and time zones on Mars +- +- +------ Scope of the tz database ----- +- +-The tz database attempts to record the history and predicted future of +-all computer-based clocks that track civil time. To represent this +-data, the world is partitioned into regions whose clocks all agree +-about time stamps that occur after the somewhat-arbitrary cutoff point +-of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, +-the database records all known clock transitions, and labels the region +-with a notable 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. +- +-Clock transitions before 1970 are recorded for each such location, +-because most systems support time stamps 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 +-applications requiring accurate handling of all past times everywhere, +-as it would take far too much effort and guesswork to record all +-details of pre-1970 civil timekeeping. +- +-As described below, reference source code for using the tz database is +-also available. The tz code is upwards compatible with POSIX, an +-international standard for UNIX-like systems. As of this writing, the +-current edition of POSIX is: +- +- The Open Group Base Specifications Issue 7 +- IEEE Std 1003.1-2008, 2016 Edition +- +- +- +- +------ Names of time zone rules ----- +- +-Each of the database's time zone rules has a unique name. +-Inexperienced users are not expected to select these names unaided. +-Distributors should provide documentation and/or a simple selection +-interface that explains the names; for one example, see the 'tzselect' +-program in the tz code. The Unicode Common Locale Data Repository +- contains data that may be useful for other +-selection interfaces. +- +-The time zone rule naming conventions attempt to strike a balance +-among the following goals: +- +- * Uniquely identify every region where clocks have agreed since 1970. +- This is essential for the intended use: static clocks keeping local +- civil time. +- +- * Indicate to experts where that region is. +- +- * Be robust in the presence of political changes. For example, names +- of countries are ordinarily not used, to avoid incompatibilities +- when countries change their name (e.g. Zaire->Congo) or when +- locations change countries (e.g. Hong Kong from UK colony to +- China). +- +- * Be portable to a wide variety of implementations. +- +- * Use a consistent naming conventions over the entire world. +- +-Names normally have the form AREA/LOCATION, where AREA is the name +-of a continent or ocean, and LOCATION is the name of a specific +-location within that region. North and South America share the same +-area, 'America'. Typical names are 'Africa/Cairo', 'America/New_York', +-and 'Pacific/Honolulu'. +- +-Here are the general rules used for choosing location names, +-in decreasing order of importance: +- +- Use only valid POSIX file name components (i.e., the parts of +- names other than '/'). Do not use the file name +- components '.' and '..'. Within a file name component, +- use only ASCII letters, '.', '-' and '_'. Do not use +- digits, as that might create an ambiguity with POSIX +- TZ strings. A file name component must not exceed 14 +- characters or start with '-'. E.g., prefer 'Brunei' +- to 'Bandar_Seri_Begawan'. Exceptions: see the discussion +- of legacy names below. +- A name must not be empty, or contain '//', or start or end with '/'. +- Do not use names that differ only in case. Although the reference +- implementation is case-sensitive, some other implementations +- are not, and they would mishandle names differing only in case. +- If one name A is an initial prefix of another name AB (ignoring case), +- then B must not start with '/', as a regular file cannot have +- the same name as a directory in POSIX. For example, +- 'America/New_York' precludes 'America/New_York/Bronx'. +- Uninhabited regions like the North Pole and Bouvet Island +- do not need locations, since local time is not defined there. +- There should typically be at least one name for each ISO 3166-1 +- officially assigned two-letter code for an inhabited country +- or territory. +- If all the clocks in a region have agreed since 1970, +- don't bother to include more than one location +- even if subregions' clocks disagreed before 1970. +- Otherwise these tables would become annoyingly large. +- If a name is ambiguous, use a less ambiguous alternative; +- e.g. many cities are named San José and Georgetown, so +- prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. +- Keep locations compact. Use cities or small islands, not countries +- or regions, so that any future time zone changes do not split +- locations into different time zones. E.g. prefer 'Paris' +- to 'France', since France has had multiple time zones. +- Use mainstream English spelling, e.g. prefer 'Rome' to 'Roma', and +- prefer 'Athens' to the Greek 'Αθήνα' or the Romanized 'Athína'. +- The POSIX file name restrictions encourage this rule. +- Use the most populous among locations in a zone, +- e.g. prefer 'Shanghai' to 'Beijing'. Among locations with +- similar populations, pick the best-known location, +- e.g. prefer 'Rome' to 'Milan'. +- Use the singular form, e.g. prefer 'Canary' to 'Canaries'. +- Omit common suffixes like '_Islands' and '_City', unless that +- would lead to ambiguity. E.g. prefer 'Cayman' to +- 'Cayman_Islands' and 'Guatemala' to 'Guatemala_City', +- but prefer 'Mexico_City' to 'Mexico' because the country +- of Mexico has several time zones. +- Use '_' to represent a space. +- Omit '.' from abbreviations in names, e.g. prefer 'St_Helena' +- to 'St._Helena'. +- Do not change established names if they only marginally +- violate the above rules. For example, don't change +- the existing name 'Rome' to 'Milan' merely because +- Milan's population has grown to be somewhat greater +- than Rome's. +- If a name is changed, put its old spelling in the 'backward' file. +- This means old spellings will continue to work. +- +-The file 'zone1970.tab' lists geographical locations used to name time +-zone rules. It is intended to be an exhaustive list of names for +-geographic regions as described above; this is a subset of the names +-in the data. Although a 'zone1970.tab' location's longitude +-corresponds to its LMT offset with one hour for every 15 degrees east +-longitude, this relationship is not exact. +- +-Older versions of this package used a different naming scheme, +-and these older names are still supported. +-See the file 'backward' for most of these older names +-(e.g., 'US/Eastern' instead of 'America/New_York'). +-The other old-fashioned names still supported are +-'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). +- +-Older versions of this package defined legacy names that are +-incompatible with the first rule of location names, but which are +-still supported. These legacy names are mostly defined in the file +-'etcetera'. Also, the file 'backward' defines the legacy names +-'GMT0', 'GMT-0', 'GMT+0' and 'Canada/East-Saskatchewan', and the file +-'northamerica' defines the legacy names 'EST5EDT', 'CST6CDT', +-'MST7MDT', and 'PST8PDT'. +- +-Excluding 'backward' should not affect the other data. If +-'backward' is excluded, excluding 'etcetera' should not affect the +-remaining data. +- +- +------ Time zone abbreviations ----- +- +-When this package is installed, it generates time zone abbreviations +-like 'EST' to be compatible with human tradition and POSIX. +-Here are the general rules used for choosing time zone abbreviations, +-in decreasing order of importance: +- +- Use three or more characters that are ASCII alphanumerics or '+' or '-'. +- Previous editions of this database also used characters like +- ' ' and '?', but these characters have a special meaning to +- the shell and cause commands like +- set `date` +- to have unexpected effects. +- Previous editions of this rule required upper-case letters, +- but the Congressman who introduced Chamorro Standard Time +- preferred "ChST", so lower-case letters are now allowed. +- Also, POSIX from 2001 on relaxed the rule to allow '-', '+', +- and alphanumeric characters from the portable character set +- in the current locale. In practice ASCII alphanumerics and +- '+' and '-' are safe in all locales. +- +- In other words, in the C locale the POSIX extended regular +- expression [-+[:alnum:]]{3,} should match the abbreviation. +- This guarantees that all abbreviations could have been +- specified by a POSIX TZ string. +- +- Use abbreviations that are in common use among English-speakers, +- e.g. 'EST' for Eastern Standard Time in North America. +- We assume that applications translate them to other languages +- as part of the normal localization process; for example, +- a French application might translate 'EST' to 'HNE'. +- +- For zones whose times are taken from a city's longitude, use the +- traditional xMT notation, e.g. 'PMT' for Paris Mean Time. +- The only name like this in current use is 'GMT'. +- +- Use 'LMT' for local mean time of locations before the introduction +- of standard time; see "Scope of the tz database". +- +- If there is no common English abbreviation, use numeric offsets like +- -05 and +0830 that are generated by zic's %z notation. +- +- Use current abbreviations for older timestamps to avoid confusion. +- For example, in 1910 a common English abbreviation for UT +01 +- in central Europe was 'MEZ' (short for both "Middle European +- Zone" and for "Mitteleuropäische Zeit" in German). Nowadays +- 'CET' ("Central European Time") is more common in English, and +- the database uses 'CET' even for circa-1910 timestamps as this +- is less confusing for modern users and avoids the need for +- determining when 'CET' supplanted 'MEZ' in common usage. +- +- Use a consistent style in a zone's history. For example, if a zone's +- history tends to use numeric abbreviations and a particular +- entry could go either way, use a numeric abbreviation. +- +- [The remaining guidelines predate the introduction of %z. +- They are problematic as they mean tz data entries invent +- notation rather than record it. These guidelines are now +- deprecated and the plan is to gradually move to %z for +- inhabited locations and to "-00" for uninhabited locations.] +- +- If there is no common English abbreviation, abbreviate the English +- translation of the usual phrase used by native speakers. +- If this is not available or is a phrase mentioning the country +- (e.g. "Cape Verde Time"), then: +- +- When a country is identified with a single or principal zone, +- append 'T' to the country's ISO code, e.g. 'CVT' for +- Cape Verde Time. For summer time append 'ST'; +- for double summer time append 'DST'; etc. +- Otherwise, take the first three letters of an English place +- name identifying each zone and append 'T', 'ST', etc. +- as before; e.g. 'CHAST' for CHAtham Summer Time. +- +- Use UT (with time zone abbreviation '-00') for locations while +- uninhabited. The leading '-' is a flag that the time +- zone is in some sense undefined; this notation is +- derived from Internet RFC 3339. +- +-Application writers should note that these abbreviations are ambiguous +-in practice: e.g. 'CST' has a different meaning in China than +-it does in the United States. In new applications, it's often better +-to use numeric UT offsets like '-0600' instead of time zone +-abbreviations like 'CST'; this avoids the ambiguity. +- +- +------ Accuracy of the tz database ----- +- +-The tz database is not authoritative, and it surely has errors. +-Corrections are welcome and encouraged; see the file CONTRIBUTING. +-Users requiring authoritative data should consult national standards +-bodies and the references cited in the database's comments. +- +-Errors in the tz database arise from many sources: +- +- * The tz database predicts future time stamps, and current predictions +- will be incorrect after future governments change the rules. +- For example, if today someone schedules a meeting for 13:00 next +- October 1, Casablanca time, and tomorrow Morocco changes its +- daylight saving rules, software can mess up after the rule change +- if it blithely relies on conversions made before the change. +- +- * The pre-1970 entries in this database cover only a tiny sliver of how +- clocks actually behaved; the vast majority of the necessary +- information was lost or never recorded. Thousands more zones would +- be needed if the tz database's scope were extended to cover even +- just the known or guessed history of standard time; for example, +- the current single entry for France would need to split into dozens +- of entries, perhaps hundreds. And in most of the world even this +- approach would be misleading due to widespread disagreement or +- indifference about what times should be observed. In her 2015 book +- "The Global Transformation of Time, 1870-1950", Vanessa Ogle writes +- "Outside of Europe and North America there was no system of time +- zones at all, often not even a stable landscape of mean times, +- prior to the middle decades of the twentieth century". See: +- Timothy Shenk, Booked: A Global History of Time. Dissent 2015-12-17 +- https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle +- +- * Most of the pre-1970 data entries come from unreliable sources, often +- astrology books that lack citations and whose compilers evidently +- invented entries when the true facts were unknown, without +- reporting which entries were known and which were invented. +- These books often contradict each other or give implausible entries, +- and on the rare occasions when they are checked they are +- typically found to be incorrect. +- +- * For the UK the tz database relies on years of first-class work done by +- Joseph Myers and others; see . +- Other countries are not done nearly as well. +- +- * Sometimes, different people in the same city would maintain clocks +- that differed significantly. Railway time was used by railroad +- companies (which did not always agree with each other), +- church-clock time was used for birth certificates, etc. +- Often this was merely common practice, but sometimes it was set by law. +- For example, from 1891 to 1911 the UT offset in France was legally +- 0:09:21 outside train stations and 0:04:21 inside. +- +- * Although a named location in the tz database stands for the +- containing region, its pre-1970 data entries are often accurate for +- only a small subset of that region. For example, Europe/London +- stands for the United Kingdom, but its pre-1847 times are valid +- only for locations that have London's exact meridian, and its 1847 +- transition to GMT is known to be valid only for the L&NW and the +- Caledonian railways. +- +- * The tz database does not record the earliest time for which a zone's +- data entries are thereafter valid for every location in the region. +- For example, Europe/London is valid for all locations in its +- region after GMT was made the standard time, but the date of +- standardization (1880-08-02) is not in the tz database, other than +- in commentary. For many zones the earliest time of validity is +- unknown. +- +- * The tz database does not record a region's boundaries, and in many +- cases the boundaries are not known. For example, the zone +- America/Kentucky/Louisville represents a region around the city of +- Louisville, the boundaries of which are unclear. +- +- * Changes that are modeled as instantaneous transitions in the tz +- database were often spread out over hours, days, or even decades. +- +- * Even if the time is specified by law, locations sometimes +- deliberately flout the law. +- +- * Early timekeeping practices, even assuming perfect clocks, were +- often not specified to the accuracy that the tz database requires. +- +- * Sometimes historical timekeeping was specified more precisely +- than what the tz database can handle. For example, from 1909 to +- 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz +- database cannot represent the fractional second. +- +- * Even when all the timestamp transitions recorded by the tz database +- are correct, the tz rules that generate them may not faithfully +- reflect the historical rules. For example, from 1922 until World +- War II the UK moved clocks forward the day following the third +- Saturday in April unless that was Easter, in which case it moved +- clocks forward the previous Sunday. Because the tz database has no +- way to specify Easter, these exceptional years are entered as +- separate tz Rule lines, even though the legal rules did not change. +- +- * The tz database models pre-standard time using the proleptic Gregorian +- calendar and local mean time (LMT), but many people used other +- calendars and other timescales. For example, the Roman Empire used +- the Julian calendar, and had 12 varying-length daytime hours with a +- non-hour-based system at night. +- +- * Early clocks were less reliable, and data entries do not represent +- clock error. +- +- * The tz database assumes Universal Time (UT) as an origin, even +- though UT is not standardized for older time stamps. In the tz +- database commentary, UT denotes a family of time standards that +- includes Coordinated Universal Time (UTC) along with other variants +- such as UT1 and GMT, with days starting at midnight. Although UT +- equals UTC for modern time stamps, UTC was not defined until 1960, +- so commentary uses the more-general abbreviation UT for time stamps +- that might predate 1960. Since UT, UT1, etc. disagree slightly, +- and since pre-1972 UTC seconds varied in length, interpretation of +- older time stamps can be problematic when subsecond accuracy is +- needed. +- +- * Civil time was not based on atomic time before 1972, and we don't +- know the history of earth's rotation accurately enough to map SI +- seconds to historical solar time to more than about one-hour +- accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY. +- Measurement of the Earth's rotation: 720 BC to AD 2015. +- Proc Royal Soc A. 2016 Dec 7;472:20160404. +- http://dx.doi.org/10.1098/rspa.2016.0404 +- Also see: Espenak F. Uncertainty in Delta T (ΔT). +- http://eclipse.gsfc.nasa.gov/SEhelp/uncertainty2004.html +- +- * The relationship between POSIX time (that is, UTC but ignoring leap +- seconds) and UTC is not agreed upon after 1972. Although the POSIX +- clock officially stops during an inserted leap second, at least one +- proposed standard has it jumping back a second instead; and in +- practice POSIX clocks more typically either progress glacially during +- a leap second, or are slightly slowed while near a leap second. +- +- * The tz database does not represent how uncertain its information is. +- Ideally it would contain information about when data entries are +- incomplete or dicey. Partial temporal knowledge is a field of +- active research, though, and it's not clear how to apply it here. +- +-In short, many, perhaps most, of the tz database's pre-1970 and future +-time stamps are either wrong or misleading. Any attempt to pass the +-tz database off as the definition of time should be unacceptable to +-anybody who cares about the facts. In particular, the tz database's +-LMT offsets should not be considered meaningful, and should not prompt +-creation of zones merely because two locations differ in LMT or +-transitioned to standard time at different dates. +- +- +------ Time and date functions ----- +- +-The tz code contains time and date functions that are upwards +-compatible with those of POSIX. +- +-POSIX has the following properties and limitations. +- +-* In POSIX, time display in a process is controlled by the +- environment variable TZ. Unfortunately, the POSIX TZ string takes +- a form that is hard to describe and is error-prone in practice. +- Also, POSIX TZ strings can't deal with other (for example, Israeli) +- daylight saving time rules, or situations where more than two +- time zone abbreviations are used in an area. +- +- The POSIX TZ string takes the following form: +- +- stdoffset[dst[offset][,date[/time],date[/time]]] +- +- where: +- +- std and dst +- are 3 or more characters specifying the standard +- and daylight saving time (DST) zone names. +- Starting with POSIX.1-2001, std and dst may also be +- in a quoted form like ""; this allows +- "+" and "-" in the names. +- offset +- is of the form '[+-]hh:[mm[:ss]]' and specifies the +- offset west of UT. 'hh' may be a single digit; 0<=hh<=24. +- The default DST offset is one hour ahead of standard time. +- date[/time],date[/time] +- specifies the beginning and end of DST. If this is absent, +- the system supplies its own rules for DST, and these can +- differ from year to year; typically US DST rules are used. +- time +- takes the form 'hh:[mm[:ss]]' and defaults to 02:00. +- This is the same format as the offset, except that a +- leading '+' or '-' is not allowed. +- date +- takes one of the following forms: +- Jn (1<=n<=365) +- origin-1 day number not counting February 29 +- n (0<=n<=365) +- origin-0 day number counting February 29 if present +- Mm.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12) +- for the dth day of week n of month m of the year, +- where week 1 is the first week in which day d appears, +- and '5' stands for the last week in which day d appears +- (which may be either the 4th or 5th week). +- Typically, this is the only useful form; +- the n and Jn forms are rarely used. +- +- Here is an example POSIX TZ string, for US Pacific time using rules +- appropriate from 1987 through 2006: +- +- TZ='PST8PDT,M4.1.0/02:00,M10.5.0/02:00' +- +- This POSIX TZ string is hard to remember, and mishandles time stamps +- before 1987 and after 2006. With this package you can use this +- instead: +- +- TZ='America/Los_Angeles' +- +-* POSIX does not define the exact meaning of TZ values like "EST5EDT". +- Typically the current US DST rules are used to interpret such values, +- but this means that the US DST rules are compiled into each program +- that does time conversion. This means that when US time conversion +- rules change (as in the United States in 1987), all programs that +- do time conversion must be recompiled to ensure proper results. +- +-* The TZ environment variable is process-global, which makes it hard +- to write efficient, thread-safe applications that need access +- to multiple time zones. +- +-* In POSIX, there's no tamper-proof way for a process to learn the +- system's best idea of local wall clock. (This is important for +- applications that an administrator wants used only at certain times - +- without regard to whether the user has fiddled the "TZ" environment +- variable. While an administrator can "do everything in UTC" to get +- around the problem, doing so is inconvenient and precludes handling +- daylight saving time shifts - as might be required to limit phone +- calls to off-peak hours.) +- +-* POSIX provides no convenient and efficient way to determine the UT +- offset and time zone abbreviation of arbitrary time stamps, +- particularly for time zone settings that do not fit into the +- POSIX model. +- +-* POSIX requires that systems ignore leap seconds. +- +-* The tz code attempts to support all the time_t implementations +- allowed by POSIX. The time_t type represents a nonnegative count of +- seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. +- In practice, time_t is usually a signed 64- or 32-bit integer; 32-bit +- signed time_t values stop working after 2038-01-19 03:14:07 UTC, so +- new implementations these days typically use a signed 64-bit integer. +- Unsigned 32-bit integers are used on one or two platforms, +- and 36-bit and 40-bit integers are also used occasionally. +- Although earlier POSIX versions allowed time_t to be a +- floating-point type, this was not supported by any practical +- systems, and POSIX.1-2013 and the tz code both require time_t +- to be an integer type. +- +-These are the extensions that have been made to the POSIX functions: +- +-* The "TZ" environment variable is used in generating the name of a file +- from which time zone information is read (or is interpreted a la +- POSIX); "TZ" is no longer constrained to be a three-letter time zone +- name followed by a number of hours and an optional three-letter +- daylight time zone name. The daylight saving time rules to be used +- for a particular time zone are encoded in the time zone file; +- the format of the file allows U.S., Australian, and other rules to be +- encoded, and allows for situations where more than two time zone +- abbreviations are used. +- +- It was recognized that allowing the "TZ" environment variable to +- take on values such as "America/New_York" might cause "old" programs +- (that expect "TZ" to have a certain form) to operate incorrectly; +- consideration was given to using some other environment variable +- (for example, "TIMEZONE") to hold the string used to generate the +- time zone information file name. In the end, however, it was decided +- to continue using "TZ": it is widely used for time zone purposes; +- separately maintaining both "TZ" and "TIMEZONE" seemed a nuisance; +- and systems where "new" forms of "TZ" might cause problems can simply +- use TZ values such as "EST5EDT" which can be used both by +- "new" programs (a la POSIX) and "old" programs (as zone names and +- offsets). +- +-* The code supports platforms with a UT offset member in struct tm, +- e.g., tm_gmtoff. +- +-* The code supports platforms with a time zone abbreviation member in +- struct tm, e.g., tm_zone. +- +-* Since the "TZ" environment variable can now be used to control time +- conversion, the "daylight" and "timezone" variables are no longer +- needed. (These variables are defined and set by "tzset"; however, their +- values will not be used by "localtime.") +- +-* Functions tzalloc, tzfree, localtime_rz, and mktime_z for +- more-efficient thread-safe applications that need to use +- multiple time zones. The tzalloc and tzfree functions +- allocate and free objects of type timezone_t, and localtime_rz +- and mktime_z are like localtime_r and mktime with an extra +- timezone_t argument. The functions were inspired by NetBSD. +- +-* A function "tzsetwall" has been added to arrange for the system's +- best approximation to local wall clock time to be delivered by +- subsequent calls to "localtime." Source code for portable +- applications that "must" run on local wall clock time should call +- "tzsetwall();" if such code is moved to "old" systems that don't +- provide tzsetwall, you won't be able to generate an executable program. +- (These time zone functions also arrange for local wall clock time to be +- used if tzset is called - directly or indirectly - and there's no "TZ" +- environment variable; portable applications should not, however, rely +- on this behavior since it's not the way SVR2 systems behave.) +- +-* Negative time_t values are supported, on systems where time_t is signed. +- +-* These functions can account for leap seconds, thanks to Bradley White. +- +-Points of interest to folks with other systems: +- +-* Code compatible with this package is already part of many platforms, +- including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, +- BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. +- On such hosts, the primary use of this package +- is to update obsolete time zone rule tables. +- To do this, you may need to compile the time zone compiler +- 'zic' supplied with this package instead of using the system 'zic', +- since the format of zic's input is occasionally extended, +- and a platform may still be shipping an older zic. +- +-* The UNIX Version 7 "timezone" function is not present in this package; +- it's impossible to reliably map timezone's arguments (a "minutes west +- of GMT" value and a "daylight saving time in effect" flag) to a +- time zone abbreviation, and we refuse to guess. +- Programs that in the past used the timezone function may now examine +- tzname[localtime(&clock)->tm_isdst] to learn the correct time +- zone abbreviation to use. Alternatively, use +- localtime(&clock)->tm_zone if this has been enabled. +- +-* The 4.2BSD gettimeofday function is not used in this package. +- This formerly let users obtain the current UTC offset and DST flag, +- but this functionality was removed in later versions of BSD. +- +-* In SVR2, time conversion fails for near-minimum or near-maximum +- time_t values when doing conversions for places that don't use UT. +- This package takes care to do these conversions correctly. +- A comment in the source code tells how to get compatibly wrong +- results. +- +-The functions that are conditionally compiled if STD_INSPIRED is defined +-should, at this point, be looked on primarily as food for thought. They are +-not in any sense "standard compatible" - some are not, in fact, specified in +-*any* standard. They do, however, represent responses of various authors to +-standardization proposals. +- +-Other time conversion proposals, in particular the one developed by folks at +-Hewlett Packard, offer a wider selection of functions that provide capabilities +-beyond those provided here. The absence of such functions from this package +-is not meant to discourage the development, standardization, or use of such +-functions. Rather, their absence reflects the decision to make this package +-contain valid extensions to POSIX, to ensure its broad acceptability. If +-more powerful time conversion functions can be standardized, so much the +-better. +- +- +------ Interface stability ----- +- +-The tz code and data supply the following interfaces: +- +- * A set of zone names as per "Names of time zone rules" above. +- +- * Library functions described in "Time and date functions" above. +- +- * The programs tzselect, zdump, and zic, documented in their man pages. +- +- * The format of zic input files, documented in the zic man page. +- +- * The format of zic output files, documented in the tzfile man page. +- +- * The format of zone table files, documented in zone1970.tab. +- +- * The format of the country code file, documented in iso3166.tab. +- +- * The version number of the code and data, as the first line of +- the text file 'version' in each release. +- +-Interface changes in a release attempt to preserve compatibility with +-recent releases. For example, tz data files typically do not rely on +-recently-added zic features, so that users can run older zic versions +-to process newer data files. The tz-link.htm file describes how +-releases are tagged and distributed. +- +-Interfaces not listed above are less stable. For example, users +-should not rely on particular UT offsets or abbreviations for time +-stamps, as data entries are often based on guesswork and these guesses +-may be corrected or improved. +- +- +------ Calendrical issues ----- +- +-Calendrical issues are a bit out of scope for a time zone database, +-but they indicate the sort of problems that we would run into if we +-extended the time zone database further into the past. An excellent +-resource in this area is Nachum Dershowitz and Edward M. Reingold, +-Calendrical Calculations: Third Edition, Cambridge University Press (2008) +-. +-Other information and sources are given below. They sometimes disagree. +- +- +-France +- +-Gregorian calendar adopted 1582-12-20. +-French Revolutionary calendar used 1793-11-24 through 1805-12-31, +-and (in Paris only) 1871-05-06 through 1871-05-23. +- +- +-Russia +- +-From Chris Carrier (1996-12-02): +-On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" +-with 30-day months plus 5 holidays, with a 5-day week. +-On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the +-Gregorian calendar while retaining the 6-day week; on 1940-06-27 it +-reverted to the 7-day week. With the 6-day week the usual days +-off were the 6th, 12th, 18th, 24th and 30th of the month. +-(Source: Evitiar Zerubavel, _The Seven Day Circle_) +- +- +-Mark Brader reported a similar story in "The Book of Calendars", edited +-by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: +- +-From: Petteri Sulonen (via Usenet) +-Date: 14 Jan 1999 00:00:00 GMT +-... +- +-If your source is correct, how come documents between 1929 and 1940 were +-still dated using the conventional, Gregorian calendar? +- +-I can post a scan of a document dated December 1, 1934, signed by +-Yenukidze, the secretary, on behalf of Kalinin, the President of the +-Executive Committee of the Supreme Soviet, if you like. +- +- +- +-Sweden (and Finland) +- +-From: Mark Brader +-Subject: Re: Gregorian reform - a part of locale? +- +-Date: 1996-07-06 +- +-In 1700, Denmark made the transition from Julian to Gregorian. Sweden +-decided to *start* a transition in 1700 as well, but rather than have one of +-those unsightly calendar gaps :-), they simply decreed that the next leap +-year after 1696 would be in 1744 - putting the whole country on a calendar +-different from both Julian and Gregorian for a period of 40 years. +- +-However, in 1704 something went wrong and the plan was not carried through; +-they did, after all, have a leap year that year. And one in 1708. In 1712 +-they gave it up and went back to Julian, putting 30 days in February that +-year!... +- +-Then in 1753, Sweden made the transition to Gregorian in the usual manner, +-getting there only 13 years behind the original schedule. +- +-(A previous posting of this story was challenged, and Swedish readers +-produced the following references to support it: "Tideräkning och historia" +-by Natanael Beckman (1924) and "Tid, en bok om tideräkning och +-kalenderväsen" by Lars-Olof Lodén (1968). +- +- +-Grotefend's data +- +-From: "Michael Palmer" [with one obvious typo fixed] +-Subject: Re: Gregorian Calendar (was Re: Another FHC related question +-Newsgroups: soc.genealogy.german +-Date: Tue, 9 Feb 1999 02:32:48 -800 +-... +- +-The following is a(n incomplete) listing, arranged chronologically, of +-European states, with the date they converted from the Julian to the +-Gregorian calendar: +- +-04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman +- Catholics and Danzig only) +-09/20 Dec 1582 - France, Lorraine +- +-21 Dec 1582/ +- 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau +-10/21 Feb 1583 - bishopric of Liege (Lüttich) +-13/24 Feb 1583 - bishopric of Augsburg +-04/15 Oct 1583 - electorate of Trier +-05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, +- Salzburg, Brixen +-13/24 Oct 1583 - Austrian Oberelsaß and Breisgau +-20/31 Oct 1583 - bishopric of Basel +-02/13 Nov 1583 - duchy of Jülich-Berg +-02/13 Nov 1583 - electorate and city of Köln +-04/15 Nov 1583 - bishopric of Würzburg +-11/22 Nov 1583 - electorate of Mainz +-16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden +-17/28 Nov 1583 - bishopric of Münster and duchy of Cleve +-14/25 Dec 1583 - Steiermark +- +-06/17 Jan 1584 - Austria and Bohemia +-11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn +-12/23 Jan 1584 - Silesia and the Lausitz +-22 Jan/ +- 02 Feb 1584 - Hungary (legally on 21 Oct 1587) +- Jun 1584 - Unterwalden +-01/12 Jul 1584 - duchy of Westfalen +- +-16/27 Jun 1585 - bishopric of Paderborn +- +-14/25 Dec 1590 - Transylvania +- +-22 Aug/ +- 02 Sep 1612 - duchy of Prussia +- +-13/24 Dec 1614 - Pfalz-Neuburg +- +- 1617 - duchy of Kurland (reverted to the Julian calendar in +- 1796) +- +- 1624 - bishopric of Osnabrück +- +- 1630 - bishopric of Minden +- +-15/26 Mar 1631 - bishopric of Hildesheim +- +- 1655 - Kanton Wallis +- +-05/16 Feb 1682 - city of Strassburg +- +-18 Feb/ +- 01 Mar 1700 - Protestant Germany (including Swedish possessions in +- Germany), Denmark, Norway +-30 Jun/ +- 12 Jul 1700 - Gelderland, Zutphen +-10 Nov/ +- 12 Dec 1700 - Utrecht, Overijssel +- +-31 Dec 1700/ +- 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, +- Turgau, and Schaffhausen +- +- 1724 - Glarus, Appenzell, and the city of St. Gallen +- +-01 Jan 1750 - Pisa and Florence +- +-02/14 Sep 1752 - Great Britain +- +-17 Feb/ +- 01 Mar 1753 - Sweden +- +-1760-1812 - Graubünden +- +-The Russian empire (including Finland and the Baltic states) did not +-convert to the Gregorian calendar until the Soviet revolution of 1917. +- +-Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen +-Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend +-(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. +- +- +------ Time and time zones on Mars ----- +- +-Some people's work schedules use Mars time. Jet Propulsion Laboratory +-(JPL) coordinators have kept Mars time on and off at least since 1997 +-for the Mars Pathfinder mission. Some of their family members have +-also adapted to Mars time. Dozens of special Mars watches were built +-for JPL workers who kept Mars time during the Mars Exploration +-Rovers mission (2004). These timepieces look like normal Seikos and +-Citizens but use Mars seconds rather than terrestrial seconds. +- +-A Mars solar day is called a "sol" and has a mean period equal to +-about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is +-divided into a conventional 24-hour clock, so each Mars second equals +-about 1.02749125 terrestrial seconds. +- +-The prime meridian of Mars goes through the center of the crater +-Airy-0, named in honor of the British astronomer who built the +-Greenwich telescope that defines Earth's prime meridian. Mean solar +-time on the Mars prime meridian is called Mars Coordinated Time (MTC). +- +-Each landed mission on Mars has adopted a different reference for +-solar time keeping, so there is no real standard for Mars time zones. +-For example, the Mars Exploration Rover project (2004) defined two +-time zones "Local Solar Time A" and "Local Solar Time B" for its two +-missions, each zone designed so that its time equals local true solar +-time at approximately the middle of the nominal mission. Such a "time +-zone" is not particularly suited for any application other than the +-mission itself. +- +-Many calendars have been proposed for Mars, but none have achieved +-wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a +-sequential count of Mars solar days elapsed since about 1873-12-29 +-12:00 GMT. +- +-The tz database does not currently support Mars time, but it is +-documented here in the hopes that support will be added eventually. +- +-Sources: +- +-Michael Allison and Robert Schmunk, +-"Technical Notes on Mars Solar Time as Adopted by the Mars24 Sunclock" +- (2012-08-08). +- +-Jia-Rui Chong, "Workdays Fit for a Martian", Los Angeles Times +- +-(2004-01-14), pp A1, A20-A21. +- +-Tom Chmielewski, "Jet Lag Is Worse on Mars", The Atlantic (2015-02-26) +- +- +------ +- +-This file is in the public domain, so clarified as of 2009-05-17 by +-Arthur David Olson. +- +------ +-Local Variables: +-coding: utf-8 +-End: +--- contrib/tzdata/africa.orig ++++ contrib/tzdata/africa +@@ -26,7 +26,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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). +@@ -218,7 +218,7 @@ + # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07. + # From Jesper Nørgaard Welen (2007-08-15): [The following agree:] + # http://www.nentjes.info/Bill/bill5.htm +-# http://www.timeanddate.com/worldclock/city.html?n=53 ++# https://www.timeanddate.com/worldclock/city.html?n=53 + # From Steffen Thorsen (2007-09-04): The official information...: + # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm + Rule Egypt 2007 only - Sep Thu>=1 24:00 0 - +@@ -256,8 +256,8 @@ + # timeanddate[2] and another site I've found[3] also support that. + # + # [1] https://bugzilla.redhat.com/show_bug.cgi?id=492263 +-# [2] http://www.timeanddate.com/worldclock/clockchange.html?n=53 +-# [3] http://wwp.greenwichmeantime.com/time-zone/africa/egypt/ ++# [2] https://www.timeanddate.com/worldclock/clockchange.html?n=53 ++# [3] https://wwp.greenwichmeantime.com/time-zone/africa/egypt/ + + # From Arthur David Olson (2009-04-20): + # In 2009 (and for the next several years), Ramadan ends before the fourth +@@ -267,10 +267,10 @@ + # From Steffen Thorsen (2009-08-11): + # We have been able to confirm the August change with the Egyptian Cabinet + # Information and Decision Support Center: +-# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html ++# https://www.timeanddate.com/news/time/egypt-dst-ends-2009.html + # + # The Middle East News Agency +-# http://www.mena.org.eg/index.aspx ++# https://www.mena.org.eg/index.aspx + # also reports "Egypt starts winter time on August 21" + # today in article numbered "71, 11/08/2009 12:25 GMT." + # Only the title above is available without a subscription to their service, +@@ -320,7 +320,7 @@ + # Thursday of April.... Clocks will still be turned back for Ramadan, but + # dates not yet announced.... + # http://almogaz.com/news/weird-news/2015/04/05/1947105 ... +-# http://www.timeanddate.com/news/time/egypt-starts-dst-2015.html ++# https://www.timeanddate.com/news/time/egypt-starts-dst-2015.html + + # From Ahmed Nazmy (2015-04-20): + # Egypt's ministers cabinet just announced ... that it will cancel DST at +@@ -447,11 +447,11 @@ + + # From Even Scharning (2012-11-10): + # Libya set their time one hour back at 02:00 on Saturday November 10. +-# http://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ ++# https://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ + # Here is an official source [in Arabic]: http://ls.ly/fb6Yc + # + # Steffen Thorsen forwarded a translation (2012-11-10) in +-# http://mm.icann.org/pipermail/tz/2012-November/018451.html ++# https://mm.icann.org/pipermail/tz/2012-November/018451.html + # + # From Tim Parenti (2012-11-11): + # Treat the 2012-11-10 change as a zone change from UTC+2 to UTC+1. +@@ -462,7 +462,7 @@ + # From Even Scharning (2013-10-25): + # The scheduled end of DST in Libya on Friday, October 25, 2013 was + # cancelled yesterday.... +-# http://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ ++# https://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ + # + # From Paul Eggert (2013-10-25): + # For now, assume they're reverting to the pre-2012 rules of permanent UT +02. +@@ -515,7 +515,7 @@ + # basis.... + # It seems that Mauritius observed daylight saving time from 1982-10-10 to + # 1983-03-20 as well, but that was not successful.... +-# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html ++# https://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html + + # From Alex Krivenyshev (2008-06-25): + # http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD +@@ -583,7 +583,7 @@ + # http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints- + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html ++# https://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html + + # From Arthur David Olson (2009-07-11): + # The "mauritius-dst-will-not-repeat" wrapup includes this: +@@ -615,7 +615,7 @@ + # be one hour ahead of GMT between 1 June and 27 September, according to + # Communication Minister and Government Spokesman, Khalid Naciri...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html ++# http://www.worldtimezone.com/dst_news/dst_news_morocco01.html + # http://en.afrik.com/news11892.html + + # From Alex Krivenyshev (2008-05-09): +@@ -628,7 +628,7 @@ + + # From Patrice Scattolin (2008-05-09): + # According to this article: +-# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html ++# https://www.avmaroc.com/actualite/heure-dete-comment-a127896.html + # (and republished here: ) + # the changes occur at midnight: + # +@@ -650,7 +650,7 @@ + # posted in English). + # + # The following Google query will generate many relevant hits: +-# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search ++# https://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search + + # From Steffen Thorsen (2008-08-27): + # Morocco will change the clocks back on the midnight between August 31 +@@ -661,7 +661,7 @@ + # http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default + # + # We have some further details posted here: +-# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html ++# https://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html + + # From Steffen Thorsen (2009-03-17): + # Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according +@@ -671,7 +671,7 @@ + # (French) + # + # Our summary: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to official document from Royaume du Maroc Premier Ministre, +@@ -694,7 +694,7 @@ + # http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html + # (French) + # Our page: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2010.html + + # From Dan Abitol (2011-03-30): + # ...Rules for Africa/Casablanca are the following (24h format) +@@ -711,7 +711,7 @@ + # They said that the decision was already taken. + # + # More articles in the press +-# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html ++# https://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html + # http://www.lematin.ma/Actualite/Express/Article.asp?id=148923 + # http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim + +@@ -803,7 +803,7 @@ + # 1433 (18 April 2012) and the decision of the Head of Government of + # 16 N. 3-29-15 Chaaban 1435 (4 June 2015). + # Source (french): +-# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ ++# https://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ + # + # From Milamber (2015-06-09): + # http://www.mmsp.gov.ma/fr/actualites.aspx?id=863 +@@ -812,7 +812,7 @@ + # [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go + # from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch.... + # I think the patch is correct and the quoted text is wrong; the text in +-# agrees ++# agrees + # with the patch. + + # From Paul Eggert (2015-06-08): +@@ -937,10 +937,18 @@ + Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo + Link Africa/Maputo Africa/Lusaka # Zambia + ++ + # Namibia +-# The 1994-04-03 transition is from Shanks & Pottenger. +-# Shanks & Pottenger report no DST after 1998-04; go with IATA. + ++# From Arthur David Olson (2017-08-09): ++# The text of the "Namibia Time Act, 1994" is available online at ++# www.lac.org.na/laws/1994/811.pdf ++# and includes this nugget: ++# Notwithstanding the provisions of subsection (2) of section 1, the ++# first winter period after the commencement of this Act shall ++# commence at OOhOO on Monday 21 March 1994 and shall end at 02h00 on ++# Sunday 4 September 1994. ++ + # From Petronella Sibeene (2007-03-30): + # http://allafrica.com/stories/200703300178.html + # While the entire country changes its time, Katima Mulilo and other +@@ -955,11 +963,21 @@ + # observes Botswana time, we have no details about historical practice. + # In the meantime people there can use Africa/Gaborone. + # See: Immanuel S. The Namibian. 2017-02-23. +-# http://www.namibian.com.na/51480/read/Time-change-divides-lawmakers ++# https://www.namibian.com.na/51480/read/Time-change-divides-lawmakers + ++# From Steffen Thorsen (2017-08-09): ++# Namibia is going to change their time zone to what is now their DST: ++# https://www.newera.com.na/2017/02/23/namibias-winter-time-might-be-repealed/ ++# This video is from the government decision: ++# https://www.nbc.na/news/na-passes-namibia-time-bill-repealing-1994-namibia-time-act.8665 ++# We have made the assumption so far that they will change their time zone at ++# the same time they would normally start DST, the first Sunday in September: ++# https://www.timeanddate.com/news/time/namibia-new-time-zone.html ++ + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S +-Rule Namibia 1995 max - Apr Sun>=1 2:00 0 - ++Rule Namibia 1994 only - Mar 21 0:00 0 - ++Rule Namibia 1994 2016 - Sep Sun>=1 2:00 1:00 S ++Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 + 1:30 - +0130 1903 Mar +@@ -966,8 +984,9 @@ + 2:00 - SAST 1942 Sep 20 2:00 + 2:00 1:00 SAST 1943 Mar 21 2:00 + 2:00 - SAST 1990 Mar 21 # independence +- 2:00 - CAT 1994 Apr 3 +- 1:00 Namibia WA%sT ++ 2:00 - CAT 1994 Mar 21 0:00 ++ 1:00 Namibia WA%sT 2017 Sep 3 2:00 ++ 2:00 - CAT + + # Niger + # See Africa/Lagos. +@@ -1054,7 +1073,7 @@ + # no information + + # Sudan +-# ++ + # From + # Sudan News Agency (2000-01-13), + # also reported by Michaël De Beukelaer-Dossche via Steffen Thorsen: +@@ -1061,7 +1080,17 @@ + # Clocks will be moved ahead for 60 minutes all over the Sudan as of noon + # Saturday.... This was announced Thursday by Caretaker State Minister for + # Manpower Abdul-Rahman Nur-Eddin. ++ ++# From Ahmed Atyya, National Telecommunications Corp. (NTC), Sudan (2017-10-17): ++# ... the Republic of Sudan is going to change the time zone from (GMT+3:00) ++# to (GMT+ 2:00) starting from Wednesday 1 November 2017. + # ++# From Paul Eggert (2017-10-18): ++# A scanned copy (in Arabic) of Cabinet Resolution No. 352 for the ++# year 2017 can be found as an attachment in email today from Yahia ++# Abdalla of NTC, archived at: ++# https://mm.icann.org/pipermail/tz/2017-October/025333.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Sudan 1970 only - May 1 0:00 1:00 S + Rule Sudan 1970 1985 - Oct 15 0:00 0 - +@@ -1070,10 +1099,14 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Khartoum 2:10:08 - LMT 1931 + 2:00 Sudan CA%sT 2000 Jan 15 12:00 +- 3:00 - EAT ++ 3:00 - EAT 2017 Nov 1 ++ 2:00 - CAT + + # South Sudan +-Link Africa/Khartoum Africa/Juba ++# Zone NAME GMTOFF RULES FORMAT [UNTIL] ++Zone Africa/Juba 2:06:28 - LMT 1931 ++ 2:00 Sudan CA%sT 2000 Jan 15 12:00 ++ 3:00 - EAT + + # Swaziland + # See Africa/Johannesburg. +@@ -1111,11 +1144,11 @@ + # According to several news sources, Tunisia will not observe DST this year. + # (Arabic) + # http://www.elbashayer.com/?page=viewn&nid=42546 +-# http://www.babnet.net/kiwidetail-15295.asp ++# https://www.babnet.net/kiwidetail-15295.asp + # + # We have also confirmed this with the US embassy in Tunisia. + # We have a wrap-up about this on the following page: +-# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html ++# https://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to Tunis Afrique Presse News Agency +--- contrib/tzdata/antarctica.orig ++++ contrib/tzdata/antarctica +@@ -26,7 +26,7 @@ + # Heard Island, McDonald Islands (uninhabited) + # previously sealers and scientific personnel wintered + # Margaret Turner reports +-# http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html ++# https://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html + # (1999-09-30) that they're UT +05, with no DST; + # presumably this is when they have visitors. + # +@@ -47,7 +47,7 @@ + # http://www.aad.gov.au/default.asp?casid=37079 + # + # We have more background information here: +-# http://www.timeanddate.com/news/time/antarctica-new-times.html ++# https://www.timeanddate.com/news/time/antarctica-new-times.html + + # From Steffen Thorsen (2010-03-10): + # We got these changes from the Australian Antarctic Division: ... +@@ -62,7 +62,7 @@ + # - Mawson station stays on UTC+5. + # + # Background: +-# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html ++# https://www.timeanddate.com/news/time/antartica-time-changes-2010.html + + # From Steffen Thorsen (2016-10-28): + # Australian Antarctica Division informed us that Casey changed time +@@ -145,7 +145,7 @@ + # + # year-round base in the main continent + # Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11 +-# (2005-12-05) ++# (2005-12-05) + # + # Another base at Port-Martin, 50km east, began operation in 1947. + # It was destroyed by fire on 1952-01-14. +--- contrib/tzdata/asia.orig ++++ contrib/tzdata/asia +@@ -26,7 +26,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # + # For Russian data circa 1919, a source is: + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. +@@ -75,8 +75,8 @@ + Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S + Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 - + Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 - +-Rule RussiaAsia 1985 2011 - Mar lastSun 2:00s 1:00 S +-Rule RussiaAsia 1996 2011 - Oct lastSun 2:00s 0 - ++Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 S ++Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 - + + # Afghanistan + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +@@ -109,6 +109,9 @@ + # or + # (brief) + # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html ++# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ++Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 S ++Rule Armenia 2011 only - Oct lastSun 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 + 3:00 - +03 1957 Mar +@@ -115,7 +118,8 @@ + 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s + 3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s + 4:00 - +04 1997 +- 4:00 RussiaAsia +04/+05 ++ 4:00 RussiaAsia +04/+05 2011 ++ 4:00 Armenia +04/+05 + + # Azerbaijan + +@@ -127,7 +131,7 @@ + # From Steffen Thorsen (2016-03-17): + # ... the Azerbaijani Cabinet of Ministers has cancelled switching to + # daylight saving time.... +-# http://www.azernews.az/azerbaijan/94137.html ++# https://www.azernews.az/azerbaijan/94137.html + # http://vestnikkavkaza.net/news/Azerbaijani-Cabinet-of-Ministers-cancels-daylight-saving-time.html + # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html + +@@ -168,11 +172,11 @@ + # the 19th and 20th, and they have not set the end date yet. + # + # Some sources: +-# http://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 ++# https://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 + # http://bdnews24.com/details.php?id=85889&cid=2 + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html ++# https://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html + + # From A. N. M. Kamrus Saadat (2009-06-15): + # Finally we've got the official mail regarding DST start time where DST start +@@ -258,9 +262,15 @@ + + # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + ++# From Paul Eggert (2017-04-20): ++# Page 27 of Reed & Low (cited for Asia/Kolkata) says "Rangoon local time is ++# used upon the railways and telegraphs of Burma, and is 6h. 24m. 47s. ahead ++# of Greenwich." This refers to the period before Burma's transition to +0630, ++# a transition for which Shanks is the only source. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Yangon 6:24:40 - LMT 1880 # or Rangoon +- 6:24:40 - RMT 1920 # Rangoon Mean Time? ++Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon ++ 6:24:47 - RMT 1920 # Rangoon local time + 6:30 - +0630 1942 May + 9:00 - +09 1945 May 3 + 6:30 - +0630 +@@ -317,7 +327,7 @@ + # + # From Jesper Nørgaard Welen (2006-07-14): + # I have investigated the timezones around 1970 on the +-# http://www.astro.com/atlas site [with provinces and county ++# https://www.astro.com/atlas site [with provinces and county + # boundaries summarized below].... A few other exceptions were two + # counties on the Sichuan side of the Xizang-Sichuan border, + # counties Dege and Baiyu which lies on the Sichuan side and are +@@ -469,7 +479,7 @@ + + # From David Cochrane (2014-03-26): + # Just a confirmation that Ürümqi time was implemented in Ürümqi on 1 Feb 1986: +-# http://content.time.com/time/magazine/article/0,9171,960684,00.html ++# https://content.time.com/time/magazine/article/0,9171,960684,00.html + + # From Luther Ma (2014-04-22): + # I have interviewed numerous people of various nationalities and from +@@ -626,7 +636,7 @@ + # (both in Okinawa) adopt the Western Standard Time which is based on + # 120E. The adoption began from Jan 1, 1896. The original text can be + # found on Wikisource: +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # ... This could be the first adoption of time zone in Taiwan, because + # during the Qing Dynasty, it seems that there was no time zone + # declared officially. +@@ -639,7 +649,7 @@ + # territory, including later occupations, adopt Japan Central Time + # (UTC+9). The adoption began on Oct 1, 1937. The original text can + # be found on Wikisource: +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + # + # That is, the time zone of Taipei switched to UTC+9 on Oct 1, 1937. + +@@ -775,6 +785,12 @@ + # Looks like the time zone split in Cyprus went through last night. + # http://cyprus-mail.com/2016/10/30/cyprus-new-division-two-time-zones-now-reality/ + ++# From Paul Eggert (2017-10-18): ++# Northern Cyprus will reinstate winter time on October 29, thus ++# staying in sync with the rest of Cyprus. See: Anastasiou A. ++# Cyprus to remain united in time. Cyprus Mail 2017-10-17. ++# https://cyprus-mail.com/2017/10/17/cyprus-remain-united-time/ ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Cyprus 1975 only - Apr 13 0:00 1:00 S + Rule Cyprus 1975 only - Oct 12 0:00 0 - +@@ -792,7 +808,8 @@ + Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14 + 2:00 Cyprus EE%sT 1998 Sep + 2:00 EUAsia EE%sT 2016 Sep 8 +- 3:00 - +03 ++ 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. +@@ -852,7 +869,7 @@ + + # From João Carrascalão, brother of the former governor of East Timor, in + # East Timor may be late for its millennium +-# (1999-12-26/31): ++# (1999-12-26/31): + # Portugal tried to change the time forward in 1974 because the sun + # rises too early but the suggestion raised a lot of problems with the + # Timorese and I still don't think it would work today because it +@@ -880,7 +897,7 @@ + # India + + # From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic +-# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ ++# https://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ + # (2015-12-22): + # In January 1906, several thousand cotton-mill workers rioted on the + # outskirts of Bombay.... They were protesting the proposed abolition of +@@ -887,14 +904,55 @@ + # local time in favor of Indian Standard Time.... Journalists called this + # dispute the "Battle of the Clocks." It lasted nearly half a century. + ++# From Paul Eggert (2017-04-20): ++# Good luck trying to nail down old timekeeping records in India. ++# "... in the nineteenth century ... Madras Observatory took its magnetic ++# measurements on Göttingen time, its meteorological measurements on Madras ++# (local) time, dropped its time ball on Greenwich (ocean navigator's) time, ++# and distributed civil (local time)." -- Bartky IR. Selling the true time: ++# 19th-century timekeeping in america. Stanford U Press (2000), 247 note 19. ++# "A more potent cause of resistance to the general adoption of the present ++# standard time lies in the fact that it is Madras time. The citizen of ++# Bombay, proud of being 'primus in Indis' and of Calcutta, equally proud of ++# his city being the Capital of India, and - for a part of the year - the Seat ++# of the Supreme Government, alike look down on Madras, and refuse to change ++# the time they are using, for that of what they regard as a benighted ++# Presidency; while Madras, having for long given the standard time to the ++# rest of India, would resist the adoption of any other Indian standard in its ++# place." -- Oldham RD. On Time in India: a suggestion for its improvement. ++# Proceedings of the Asiatic Society of Bengal (April 1899), 49-55. ++# ++# "In 1870 ... Madras time - 'now used by the telegraph and regulated from the ++# only government observatory' - was suggested as a standard railway time, ++# first to be adopted on the Great Indian Peninsular Railway (GIPR).... ++# Calcutta, Bombay, and Karachi, were to be allowed to continue with their ++# local time for civil purposes." - Prasad R. Tracks of Change: Railways and ++# Everyday Life in Colonial India. Cambridge University Press (2016), 145. ++# ++# Reed S, Low F. The Indian Year Book 1936-37. Bennett, Coleman, pp 27-8. ++# https://archive.org/details/in.ernet.dli.2015.282212 ++# This lists +052110 as Madras local time used in railways, and says that on ++# 1906-01-01 railways and telegraphs in India switched to +0530. Some ++# municipalities retained their former time, and the time in Calcutta ++# continued to depend on whether you were at the railway station or at ++# government offices. Government time was at +055320 (according to Shanks) or ++# at +0554 (according to the Indian Year Book). Railway time is more ++# appropriate for our purposes, as it was better documented, it is what we do ++# elsewhere (e.g., Europe/London before 1880), and after 1906 it was ++# consistent in the region now identified by Asia/Kolkata. So, use railway ++# time for 1870-1941. Shanks is our only (and dubious) source for the ++# 1941-1945 data. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata +- 5:53:20 - HMT 1941 Oct # Howrah Mean Time? +- 6:30 - +0630 1942 May 15 ++Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata ++ 5:53:20 - HMT 1870 # Howrah Mean Time? ++ 5:21:10 - MMT 1906 Jan 1 # Madras local time ++ 5:30 - IST 1941 Oct ++ 5:30 1:00 +0630 1942 May 15 + 5:30 - IST 1942 Sep + 5:30 1:00 +0630 1945 Oct 15 + 5:30 - IST +-# The following are like Asia/Kolkata: ++# Since 1970 the following are like Asia/Kolkata: + # Andaman Is + # Lakshadweep (Laccadive, Minicoy and Amindivi Is) + # Nicobar Is +@@ -1036,7 +1094,7 @@ + # From Reuters (2007-09-16), with a heads-up from Jesper Nørgaard Welen: + # ... the Guardian Council ... approved a law on Sunday to re-introduce + # daylight saving time ... +-# http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 ++# https://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 + # + # From Roozbeh Pournader (2007-11-05): + # This is quoted from Official Gazette of the Islamic Republic of +@@ -1135,7 +1193,7 @@ + # http://www.aswataliraq.info/look/article.tpl?id=2047&IdLanguage=17&IdPublication=4&NrArticle=71743&NrIssue=1&NrSection=10 + # + # We have published a short article in English about the change: +-# http://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html ++# https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Iraq 1982 only - May 1 0:00 1:00 D +@@ -1443,12 +1501,12 @@ + # From Yu-Cheng Chuang (2013-07-12): + # ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause + # about standard time" ... The adoption began from Jan 1, 1896. +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # + # ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which + # means the whole Japan territory, including later occupations, adopt Japan + # Central Time (UTC+9). The adoption began on Oct 1, 1937. +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u +@@ -1510,7 +1568,7 @@ + # Official, in Arabic: + # http://www.petra.gov.jo/public_news/Nws_NewsDetails.aspx?Menu_ID=&Site_Id=2&lang=1&NewsID=133230&CatID=14 + # ... Our background/permalink about it +-# http://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html ++# https://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html + # ... + # http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?lang=2&site_id=1&NewsID=133313&Type=P + # ... says midnight for the coming one and 1:00 for the ones in the future +@@ -1868,9 +1926,9 @@ + # between 1987 and 1988 ... + + # From Sanghyuk Jung (2014-10-29): +-# http://mm.icann.org/pipermail/tz/2014-October/021830.html ++# https://mm.icann.org/pipermail/tz/2014-October/021830.html + # According to the Korean Wikipedia +-# http://ko.wikipedia.org/wiki/한국_표준시 ++# https://ko.wikipedia.org/wiki/한국_표준시 + # [oldid=12896437 2014-09-04 08:03 UTC] + # DST in Republic of Korea was as follows.... And I checked old + # newspapers in Korean, all articles correspond with data in Wikipedia. +@@ -2092,7 +2150,7 @@ + # +08:00 instead. Different sources appear to disagree with the tz + # database on this, e.g.: + # +-# http://www.timeanddate.com/worldclock/city.html?n=1026 ++# https://www.timeanddate.com/worldclock/city.html?n=1026 + # http://www.worldtimeserver.com/current_time_in_MN.aspx + # + # both say GMT+08:00. +@@ -2222,7 +2280,7 @@ + # help reduce load shedding by approving the closure of commercial centres at + # 9pm and moving clocks forward by one hour for the next three months. ...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html ++# http://www.worldtimezone.com/dst_news/dst_news_pakistan01.html + # http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4 + + # From Arthur David Olson (2008-05-19): +@@ -2288,7 +2346,7 @@ + # + # We have confirmed this year's end date with both with the Ministry of + # Water and Power and the Pakistan Electric Power Company: +-# http://www.timeanddate.com/news/time/pakistan-ends-dst09.html ++# https://www.timeanddate.com/news/time/pakistan-ends-dst09.html + + # From Christoph Göhre (2009-10-01): + # [T]he German Consulate General in Karachi reported me today that Pakistan +@@ -2470,7 +2528,7 @@ + # + # We are not sure if Gaza will do the same, last year they had a different + # end date, we will keep this page updated: +-# http://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html ++# https://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html + + # From Alexander Krivenyshev (2009-09-02): + # Seems that Gaza Strip will go back to Winter Time same date as West Bank. +@@ -2508,7 +2566,7 @@ + # the clocks were set back one hour at 2010-08-11 00:00:00 local time in + # Gaza and the West Bank. + # Some more background info: +-# http://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html ++# https://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html + + # From Steffen Thorsen (2011-08-26): + # Gaza and the West Bank did go back to standard time in the beginning of +@@ -2518,7 +2576,7 @@ + # + # http://www.maannews.net/eng/ViewDetails.aspx?ID=416217 + # Additional info: +-# http://www.timeanddate.com/news/time/palestine-dst-2011.html ++# https://www.timeanddate.com/news/time/palestine-dst-2011.html + + # From Alexander Krivenyshev (2011-08-27): + # According to the article in The Jerusalem Post: +@@ -2528,7 +2586,7 @@ + # The Hamas government said on Saturday that it won't observe summertime after + # the Muslim feast of Id al-Fitr, which begins on Tuesday..." + # ... +-# http://www.jpost.com/MiddleEast/Article.aspx?id=235650 ++# https://www.jpost.com/MiddleEast/Article.aspx?id=235650 + # http://www.worldtimezone.com/dst_news/dst_news_gazastrip05.html + # The rules for Egypt are stolen from the 'africa' file. + +@@ -2549,7 +2607,7 @@ + # http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html ++# https://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html + + # From Steffen Thorsen (2013-03-26): + # The following news sources tells that Palestine will "start daylight saving +@@ -2569,11 +2627,11 @@ + + # From Steffen Thorsen (2015-03-03): + # Sources such as http://www.alquds.com/news/article/view/id/548257 +-# and http://www.raya.ps/ar/news/890705.html say Palestine areas will ++# and https://www.raya.ps/ar/news/890705.html say Palestine areas will + # start DST on 2015-03-28 00:00 which is one day later than expected. + # + # From Paul Eggert (2015-03-03): +-# http://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 ++# https://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 + # says that the fall 2014 transition was Oct 23 at 24:00. + + # From Hannah Kreitem (2016-03-09): +@@ -2597,8 +2655,8 @@ + # + # From Paul Eggert (2016-10-19): + # It's also consistent with predictions in the following URLs today: +-# http://www.timeanddate.com/time/change/gaza-strip/gaza +-# http://www.timeanddate.com/time/change/west-bank/hebron ++# https://www.timeanddate.com/time/change/gaza-strip/gaza ++# https://www.timeanddate.com/time/change/west-bank/hebron + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule EgyptAsia 1957 only - May 10 0:00 1:00 S +@@ -2661,7 +2719,7 @@ + # Philippines, issued a proclamation announcing that 1844-12-30 was to + # be immediately followed by 1845-01-01; see R.H. van Gent's + # History of the International Date Line +-# http://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm ++# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm + # The rest of the data entries are from Shanks & Pottenger. + + # From Jesper Nørgaard Welen (2006-04-26): +@@ -2925,7 +2983,7 @@ + # We have not found any sources saying anything about when DST ends this year. + # + # Our summary +-# http://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html ++# https://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html + + # From Steffen Thorsen (2009-10-27): + # The Syrian Arab News Network on 2009-09-29 reported that Syria will +@@ -2952,7 +3010,7 @@ + # http://www.sana.sy/ara/2/2012/03/26/408215.htm + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/syria-dst-2012.html ++# https://www.timeanddate.com/news/time/syria-dst-2012.html + + # From Arthur David Olson (2012-03-27): + # Assume last Friday in March going forward XXX. +@@ -3035,7 +3093,7 @@ + # is quoted verbatim in: + # http://www.thoigian.com.vn/?mPage=P80D01 + # is translated by Brian Inglis in: +-# http://mm.icann.org/pipermail/tz/2014-October/021654.html ++# https://mm.icann.org/pipermail/tz/2014-October/021654.html + # and is the basis for the information below. + # + # The 1906 transition was effective July 1 and standardized Indochina to +--- contrib/tzdata/australasia.orig ++++ contrib/tzdata/australasia +@@ -293,7 +293,7 @@ + # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166 + # + # A bit more background info here: +-# http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html ++# https://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html + + # From Alexander Krivenyshev (2010-10-24): + # According to Radio Fiji and Fiji Times online, Fiji will end DST 3 +@@ -357,9 +357,12 @@ + # clocks go forward an hour at 2am to 3am.... Daylight Saving will + # end at 3.00am on Sunday 15th January 2017." + +-# From Paul Eggert (2016-10-03): +-# For now, guess DST from 02:00 the first Sunday in November to +-# 03:00 the third Sunday in January. Although ad hoc, it matches ++# From Paul Eggert (2017-08-21): ++# Dominic Fok writes (2017-08-20) that DST ends 2018-01-14, citing ++# Extraordinary Government of Fiji Gazette Supplement No. 21 (2017-08-27), ++# [Legal Notice No. 41] of an order of the previous day by J Usamate. ++# For now, guess DST from 02:00 the first Sunday in November to 03:00 ++# the first Sunday on or after January 14. Although ad hoc, it matches + # transitions since late 2014 and seems more likely to match future + # practice than guessing no DST. + +@@ -373,7 +376,7 @@ + Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - + Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - + Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S +-Rule Fiji 2015 max - Jan Sun>=15 3:00 0 - ++Rule Fiji 2015 max - Jan Sun>=14 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva + 12:00 Fiji +12/+13 +@@ -557,7 +560,7 @@ + # The World War II entries below are instead based on Arawa-Kieta. + # The Japanese occupied Kieta in July 1942, + # according to the Pacific War Online Encyclopedia +-# http://pwencycl.kgbudge.com/B/o/Bougainville.htm ++# https://pwencycl.kgbudge.com/B/o/Bougainville.htm + # and seem to have controlled it until their 1945-08-21 surrender. + # + # The Autonomous Region of Bougainville switched from UT +10 to +11 +@@ -579,7 +582,7 @@ + -8:00 - -08 + + # American Samoa +-Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5 ++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 +@@ -595,7 +598,7 @@ + # Sunday of April 2011." + # + # Background info: +-# http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html ++# https://www.timeanddate.com/news/time/samoa-dst-plan-2009.html + # + # Samoa's Daylight Saving Time Act 2009 is available here, but does not + # contain any dates: +@@ -659,7 +662,7 @@ + Rule WS 2012 max - Apr Sun>=1 4:00 0 S + Rule WS 2012 max - Sep lastSun 3:00 1 D + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5 ++Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 + -11:26:56 - LMT 1911 + -11:30 - -1130 1950 + -11:00 WS -11/-10 2011 Dec 29 24:00 +@@ -686,7 +689,7 @@ + # From Paul Eggert (2012-07-25) + # A Google Books snippet of Appendix to the Journals of the House of + # Representatives of New Zealand, Session 1948, +-# , page 65, says Tokelau ++# , page 65, says Tokelau + # was "11 hours slow on G.M.T." Go with Thorsen and assume Shanks & Pottenger + # are off by an hour starting in 1901. + +@@ -701,8 +704,8 @@ + Rule Tonga 2000 only - Mar 19 2:00s 0 - + Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 S + Rule Tonga 2001 2002 - Jan lastSun 2:00 0 - +-Rule Tonga 2016 max - Nov Sun>=1 2:00 1:00 S +-Rule Tonga 2017 max - Jan Sun>=15 3:00 0 - ++Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 S ++Rule Tonga 2017 only - Jan Sun>=15 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Tongatapu 12:19:20 - LMT 1901 + 12:20 - +1220 1941 +@@ -756,7 +759,7 @@ + # Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, + # "The United States High-Altitude Test Experience: A Review Emphasizing the + # Impact on the Environment", Los Alamos LA-6405, Oct 1976. +-# http://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf ++# https://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf + # See the table on page 4 where he lists GMT and local times for the tests; a + # footnote for the JI tests reads that local time is "JI time = Hawaii Time + # Minus One Hour". +@@ -822,7 +825,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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). +@@ -969,7 +972,7 @@ + # AEST ACST AWST AEDT ACDT + # + # Parliamentary Library (2008-11-10) +-# http://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf ++# https://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf + # EST CST WST preferred for standard time; AEST AEDT ACST ACDT also used + # + # The Transport Safety Bureau has an extensive series of accident reports, +@@ -1005,13 +1008,13 @@ + # + # NSW (including LHI and Broken Hill): + # Standard Time Act 1987 (updated 1995-04-04) +-# http://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html ++# https://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html + # ACT + # Standard Time and Summer Time Act 1972 +-# http://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html ++# https://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html + # SA + # Standard Time Act, 1898 +-# http://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html ++# https://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html + + # From David Grosz (2005-06-13): + # It was announced last week that Daylight Saving would be extended by +@@ -1306,7 +1309,7 @@ + # http://abc.net.au/news/regionals/neweng/monthly/regeng-22jul1999-1.htm + # (1999-07-22). For now, we'll wait to see if this really happens. + # +-# Victoria will following NSW. See: ++# Victoria will follow NSW. See: + # Vic to extend daylight saving (1999-07-28) + # http://abc.net.au/local/news/olympics/1999/07/item19990728112314_1.htm + # +@@ -1409,7 +1412,7 @@ + # the ACT for all 52 weeks of the year... + # + # We have a wrap-up here: +-# http://www.timeanddate.com/news/time/south-australia-extends-dst.html ++# https://www.timeanddate.com/news/time/south-australia-extends-dst.html + ############################################################################### + + # New Zealand +@@ -1463,7 +1466,7 @@ + # From Paul Eggert (2014-07-14): + # Chatham Island time was formally standardized on 1957-01-01 by + # New Zealand's Standard Time Amendment Act 1956 (1956-10-26). +-# http://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf ++# https://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf + # According to Google Books snippet view, a speaker in the New Zealand + # parliamentary debates in 1956 said "Clause 78 makes provision for standard + # time in the Chatham Islands. The time there is 45 minutes in advance of New +@@ -1578,7 +1581,7 @@ + # the Norfolk Island Museum and the Australian Bureau of Meteorology's + # Norfolk Island station, and found no record of Norfolk observing DST + # other than in 1974/5. See: +-# http://www.timeanddate.com/time/australia/norfolk-island.html ++# https://www.timeanddate.com/time/australia/norfolk-island.html + + # Pitcairn + +@@ -1606,11 +1609,13 @@ + + # (Western) Samoa and American Samoa + +-# Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald) +-# that in 1879 the King of Samoa decided to change ++# Howse writes (p 153) that after the 1879 standardization on Antipodean ++# time by the British governor of Fiji, the King of Samoa decided to change + # "the date in his kingdom from the Antipodean to the American system, + # ordaining - by a masterpiece of diplomatic flattery - that + # the Fourth of July should be celebrated twice in that year." ++# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. ++# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm + + # Although Shanks & Pottenger says they both switched to UT -11:30 + # in 1911, and to -11 in 1950. many earlier sources give -11 +@@ -1621,6 +1626,7 @@ + # day in 2011. Assume also that the Samoas follow the US and New + # Zealand's "ST"/"DT" style of daylight-saving abbreviations. + ++ + # Tonga + + # From Paul Eggert (1996-01-22): +@@ -1715,6 +1721,15 @@ + # Assume Tonga will observe DST from the first Sunday in November at 02:00 + # through the third Sunday in January at 03:00, like Fiji, for now. + ++# From David Wade (2017-10-18): ++# In August government was disolved by the King. The current prime minister ++# continued in office in care taker mode. It is easy to see that few ++# decisions will be made until elections 16th November. ++# ++# From Paul Eggert (2017-10-18): ++# For now, guess that DST is discontinued. That's what the IATA is guessing. ++ ++ + # Wake + + # From Vernice Anderson, Personal Secretary to Philip Jessup, +@@ -1727,7 +1742,7 @@ + # making calculation of time in Washington difficult if not almost + # impossible. + # +-# http://www.trumanlibrary.org/wake/meeting.htm ++# https://www.trumanlibrary.org/oralhist/andrsonv.htm + + # From Paul Eggert (2003-03-23): + # We have no other report of DST in Wake Island, so omit this info for now. +@@ -1755,7 +1770,7 @@ + # an international standard, there are some places on the high seas where the + # correct date is ambiguous. + +-# From Wikipedia (2005-08-31): ++# From Wikipedia (2005-08-31): + # Before 1920, all ships kept local apparent time on the high seas by setting + # their clocks at night or at the morning sight so that, given the ship's + # speed and direction, it would be 12 o'clock when the Sun crossed the ship's +--- contrib/tzdata/backward.orig ++++ contrib/tzdata/backward +@@ -61,7 +61,9 @@ + Link America/Manaus Brazil/West + Link America/Halifax Canada/Atlantic + Link America/Winnipeg Canada/Central +-Link America/Regina Canada/East-Saskatchewan ++# This line is commented out, as the name exceeded the 14-character limit ++# and was an unused misnomer. ++#Link America/Regina Canada/East-Saskatchewan + Link America/Toronto Canada/Eastern + Link America/Edmonton Canada/Mountain + Link America/St_Johns Canada/Newfoundland +--- contrib/tzdata/backzone.orig ++++ contrib/tzdata/backzone +@@ -181,7 +181,7 @@ + # with the date that it took effect, namely 1912-01-01. + # + Zone Africa/Luanda 0:52:56 - LMT 1892 +- 0:52:04 - +005204 1912 Jan 1 ++ 0:52:04 - LMT 1912 Jan 1 # Luanda Mean Time? + 1:00 - WAT + + # Democratic Republic of the Congo (east) +@@ -540,10 +540,10 @@ + + # Guernsey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.27N -2.33E - St.Peter Port +-Zone Europe/Guernsey -0:09:19 - LMT 1913 Jun 18 ++# LMT is for Town Church, St. Peter Port, 49 degrees 27'17"N 2 degrees 32'10"W ++Zone Europe/Guernsey -0:10:09 - LMT 1913 Jun 18 + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +@@ -555,11 +555,11 @@ + # + # From Lester Caine (2013-09-04): + # The Isle of Man legislation is now on-line at +-# , starting with the original Statutory ++# , starting with the original Statutory + # Time Act in 1883 and including additional confirmation of some of + # the dates of the 'Summer Time' orders originating at + # Westminster. There is a little uncertainty as to the starting date +-# of the first summer time in 1916 which may have be announced a ++# of the first summer time in 1916 which may have been announced a + # couple of days late. There is still a substantial number of + # documents to work through, but it is thought that every GB change + # was also implemented on the island. +@@ -574,10 +574,10 @@ + + # Jersey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.187N -2.107E - St. Helier +-Zone Europe/Jersey -0:08:25 - LMT 1898 Jun 11 16:00u ++# LMT is for Parish Church, St. Helier, 49 degrees 11'0.57"N 2 degrees 6'24.33"W ++Zone Europe/Jersey -0:08:26 - LMT 1898 Jun 11 16:00u + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +--- contrib/tzdata/calendars.orig ++++ contrib/tzdata/calendars +@@ -0,0 +1,173 @@ ++----- Calendrical issues ----- ++ ++As mentioned in Theory.html, although calendrical issues are out of ++scope for tzdb, they indicate the sort of problems that we would run ++into if we extended tzdb further into the past. The following ++information and sources go beyond Theory.html's brief discussion. ++They sometimes disagree. ++ ++ ++France ++ ++Gregorian calendar adopted 1582-12-20. ++French Revolutionary calendar used 1793-11-24 through 1805-12-31, ++and (in Paris only) 1871-05-06 through 1871-05-23. ++ ++ ++Russia ++ ++From Chris Carrier (1996-12-02): ++On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" ++with 30-day months plus 5 holidays, with a 5-day week. ++On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the ++Gregorian calendar while retaining the 6-day week; on 1940-06-27 it ++reverted to the 7-day week. With the 6-day week the usual days ++off were the 6th, 12th, 18th, 24th and 30th of the month. ++(Source: Evitiar Zerubavel, _The Seven Day Circle_) ++ ++ ++Mark Brader reported a similar story in "The Book of Calendars", edited ++by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: ++ ++From: Petteri Sulonen (via Usenet) ++Date: 14 Jan 1999 00:00:00 GMT ++... ++ ++If your source is correct, how come documents between 1929 and 1940 were ++still dated using the conventional, Gregorian calendar? ++ ++I can post a scan of a document dated December 1, 1934, signed by ++Yenukidze, the secretary, on behalf of Kalinin, the President of the ++Executive Committee of the Supreme Soviet, if you like. ++ ++ ++ ++Sweden (and Finland) ++ ++From: Mark Brader ++Subject: Re: Gregorian reform - a part of locale? ++ ++Date: 1996-07-06 ++ ++In 1700, Denmark made the transition from Julian to Gregorian. Sweden ++decided to *start* a transition in 1700 as well, but rather than have one of ++those unsightly calendar gaps :-), they simply decreed that the next leap ++year after 1696 would be in 1744 - putting the whole country on a calendar ++different from both Julian and Gregorian for a period of 40 years. ++ ++However, in 1704 something went wrong and the plan was not carried through; ++they did, after all, have a leap year that year. And one in 1708. In 1712 ++they gave it up and went back to Julian, putting 30 days in February that ++year!... ++ ++Then in 1753, Sweden made the transition to Gregorian in the usual manner, ++getting there only 13 years behind the original schedule. ++ ++(A previous posting of this story was challenged, and Swedish readers ++produced the following references to support it: "Tideräkning och historia" ++by Natanael Beckman (1924) and "Tid, en bok om tideräkning och ++kalenderväsen" by Lars-Olof Lodén (1968). ++ ++ ++Grotefend's data ++ ++From: "Michael Palmer" [with one obvious typo fixed] ++Subject: Re: Gregorian Calendar (was Re: Another FHC related question ++Newsgroups: soc.genealogy.german ++Date: Tue, 9 Feb 1999 02:32:48 -800 ++... ++ ++The following is a(n incomplete) listing, arranged chronologically, of ++European states, with the date they converted from the Julian to the ++Gregorian calendar: ++ ++04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman ++ Catholics and Danzig only) ++09/20 Dec 1582 - France, Lorraine ++ ++21 Dec 1582/ ++ 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau ++10/21 Feb 1583 - bishopric of Liege (Lüttich) ++13/24 Feb 1583 - bishopric of Augsburg ++04/15 Oct 1583 - electorate of Trier ++05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, ++ Salzburg, Brixen ++13/24 Oct 1583 - Austrian Oberelsaß and Breisgau ++20/31 Oct 1583 - bishopric of Basel ++02/13 Nov 1583 - duchy of Jülich-Berg ++02/13 Nov 1583 - electorate and city of Köln ++04/15 Nov 1583 - bishopric of Würzburg ++11/22 Nov 1583 - electorate of Mainz ++16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden ++17/28 Nov 1583 - bishopric of Münster and duchy of Cleve ++14/25 Dec 1583 - Steiermark ++ ++06/17 Jan 1584 - Austria and Bohemia ++11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn ++12/23 Jan 1584 - Silesia and the Lausitz ++22 Jan/ ++ 02 Feb 1584 - Hungary (legally on 21 Oct 1587) ++ Jun 1584 - Unterwalden ++01/12 Jul 1584 - duchy of Westfalen ++ ++16/27 Jun 1585 - bishopric of Paderborn ++ ++14/25 Dec 1590 - Transylvania ++ ++22 Aug/ ++ 02 Sep 1612 - duchy of Prussia ++ ++13/24 Dec 1614 - Pfalz-Neuburg ++ ++ 1617 - duchy of Kurland (reverted to the Julian calendar in ++ 1796) ++ ++ 1624 - bishopric of Osnabrück ++ ++ 1630 - bishopric of Minden ++ ++15/26 Mar 1631 - bishopric of Hildesheim ++ ++ 1655 - Kanton Wallis ++ ++05/16 Feb 1682 - city of Strassburg ++ ++18 Feb/ ++ 01 Mar 1700 - Protestant Germany (including Swedish possessions in ++ Germany), Denmark, Norway ++30 Jun/ ++ 12 Jul 1700 - Gelderland, Zutphen ++10 Nov/ ++ 12 Dec 1700 - Utrecht, Overijssel ++ ++31 Dec 1700/ ++ 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, ++ Turgau, and Schaffhausen ++ ++ 1724 - Glarus, Appenzell, and the city of St. Gallen ++ ++01 Jan 1750 - Pisa and Florence ++ ++02/14 Sep 1752 - Great Britain ++ ++17 Feb/ ++ 01 Mar 1753 - Sweden ++ ++1760-1812 - Graubünden ++ ++The Russian empire (including Finland and the Baltic states) did not ++convert to the Gregorian calendar until the Soviet revolution of 1917. ++ ++Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen ++Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend ++(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. ++ ++----- ++ ++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++ ++----- ++Local Variables: ++coding: utf-8 ++End: +--- contrib/tzdata/checklinks.awk.orig ++++ contrib/tzdata/checklinks.awk +@@ -9,7 +9,7 @@ + Zone = "\n" + } + +-/^Zone/ { ++/^Z/ { + if (defined[$2]) { + if (defined[$2] == Zone) { + printf "%s: Zone has duplicate definition\n", $2 +@@ -21,7 +21,7 @@ + defined[$2] = Zone + } + +-/^Link/ { ++/^L/ { + if (defined[$3]) { + if (defined[$3] == Zone) { + printf "%s: Link with same name as Zone\n", $3 +--- contrib/tzdata/europe.orig ++++ contrib/tzdata/europe +@@ -37,7 +37,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . He writes: ++# . He writes: + # "It is requested that corrections and additions to these tables + # may be sent to Mr. John Milne, Royal Geographical Society, + # Savile Row, London." Nowadays please email them to tz@iana.org. +@@ -44,7 +44,7 @@ + # + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. + # This Russian-language source was consulted by Vladimir Karpinsky; see +-# http://mm.icann.org/pipermail/tz/2014-August/021320.html ++# https://mm.icann.org/pipermail/tz/2014-August/021320.html + # The full Russian citation is: + # Бялокоз, Евгений Людвигович. Новый счет времени в течении суток + # введенный декретом Совета народных комиссаров для всей России с 1-го +@@ -187,7 +187,7 @@ + # foundations of civilization throughout the world. + # -- "A Silent Toast to William Willett", Pictorial Weekly; + # republished in Finest Hour (Spring 2002) 1(114):26 +-# http://www.winstonchurchill.org/images/finesthour/Vol.01%20No.114.pdf ++# https://www.winstonchurchill.org/publications/finest-hour/finest-hour-114/a-silent-toast-to-william-willett-by-winston-s-churchill + + # From Paul Eggert (2015-08-08): + # The OED Supplement says that the English originally said "Daylight Saving" +@@ -225,8 +225,8 @@ + # official designation; the reply of the 21st was that there wasn't + # but he couldn't think of anything better than the "Double British + # Summer Time" that the BBC had been using informally. +-# http://www.polyomino.org.uk/british-time/bbc-19410418.png +-# http://www.polyomino.org.uk/british-time/ho-19410421.png ++# https://www.polyomino.org.uk/british-time/bbc-19410418.png ++# https://www.polyomino.org.uk/british-time/ho-19410421.png + + # From Sir Alexander Maxwell in the above-mentioned letter (1941-04-21): + # [N]o official designation has as far as I know been adopted for the time +@@ -243,13 +243,13 @@ + # the history of summer time legislation in the United Kingdom. + # Since 1998 Joseph S. Myers has been updating + # and extending this list, which can be found in +-# http://www.polyomino.org.uk/british-time/ ++# https://www.polyomino.org.uk/british-time/ + + # From Joseph S. Myers (1998-01-06): + # + # The legal time in the UK outside of summer time is definitely GMT, not UTC; + # see Lord Tanlaw's speech +-# http://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 ++# https://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 + # (Lords Hansard 11 June 1997 columns 964 to 976). + + # From Paul Eggert (2006-03-22): +@@ -295,7 +295,7 @@ + # Irish 'public feeling (was) outraged by forcing of English time on us'." + # -- Parsons M. Dublin lost its time zone - and 25 minutes - after 1916 Rising. + # Irish Times 2014-10-27. +-# http://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 ++# https://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 + + # From Joseph S. Myers (2005-01-26): + # Irish laws are available online at . +@@ -348,6 +348,12 @@ + # Justice (tel +353 1 678 9711) who confirmed to me that the correct name is + # "Irish Summer Time", abbreviated to "IST". + ++# Michael Deckers (2017-06-01) gave the following URLs for Ireland's ++# Summer Time Act, 1925 and Summer Time Orders, 1926 and 1947: ++# http://www.irishstatutebook.ie/eli/1925/act/8/enacted/en/print.html ++# http://www.irishstatutebook.ie/eli/1926/sro/919/made/en/print.html ++# http://www.irishstatutebook.ie/eli/1947/sro/71/made/en/print.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + # Summer Time Act, 1916 + Rule GB-Eire 1916 only - May 21 2:00s 1:00 BST +@@ -472,14 +478,14 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2 +- -0:25:21 - DMT 1916 May 21 2:00 # Dublin MT ++ -0:25:21 - DMT 1916 May 21 2:00s # Dublin MT + -0:25:21 1:00 IST 1916 Oct 1 2:00s + 0:00 GB-Eire %s 1921 Dec 6 # independence +- 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00 +- 0:00 1:00 IST 1946 Oct 6 2:00 +- 0:00 - GMT 1947 Mar 16 2:00 +- 0:00 1:00 IST 1947 Nov 2 2:00 +- 0:00 - GMT 1948 Apr 18 2:00 ++ 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s ++ 0:00 1:00 IST 1946 Oct 6 2:00s ++ 0:00 - GMT 1947 Mar 16 2:00s ++ 0:00 1:00 IST 1947 Nov 2 2:00s ++ 0:00 - GMT 1948 Apr 18 2:00s + 0:00 GB-Eire GMT/IST 1968 Oct 27 + 1:00 - IST 1971 Oct 31 2:00u + 0:00 GB-Eire GMT/IST 1996 +@@ -625,7 +631,7 @@ + # Council of Ministers of the USSR from 1989-03-14 No. 227. + # + # I did not find full texts of these acts. For the 1989 one we have +-# title at http://base.garant.ru/70754136/ : ++# title at https://base.garant.ru/70754136/ : + # "About change in calculation of time on the territories of + # Lithuanian SSR, Latvian SSR and Estonian SSR, Astrakhan, + # Kaliningrad, Kirov, Kuybyshev, Ulyanovsk and Uralsk oblasts". +@@ -656,7 +662,7 @@ + # http://bmockbe.ru/events/?ID=7583 + # + # Medvedev signed a law on the calculation of the time (in russian): +-# http://www.regnum.ru/news/polit/1413906.html ++# https://www.regnum.ru/news/polit/1413906.html + + # From Arthur David Olson (2011-06-15): + # Take "abolishing daylight saving time" to mean that time is now considered +@@ -783,7 +789,7 @@ + # Sources (Russian language): + # http://www.belta.by/ru/all_news/society/V-Belarusi-otmenjaetsja-perexod-na-sezonnoe-vremja_i_572952.html + # http://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/ +-# http://news.tut.by/society/250578.html ++# https://news.tut.by/society/250578.html + # + # From Alexander Bokovoy (2014-10-09): + # Belarussian government decided against changing to winter time.... +@@ -1104,7 +1110,7 @@ + # for their standard and summer times. He says no, they use "suveaeg" + # (summer time) and "talveaeg" (winter time). + +-# From The Baltic Times (1999-09-09) ++# From The Baltic Times (1999-09-09) + # via Steffen Thorsen: + # This year will mark the last time Estonia shifts to summer time, + # a council of the ruling coalition announced Sept. 6.... +@@ -1156,7 +1162,7 @@ + # This is documented in Heikki Oja: Aikakirja 2007, published by The Almanac + # Office of University of Helsinki, ISBN 952-10-3221-9, available online (in + # Finnish) at +-# http://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf ++# https://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf + # + # Page 105 (56 in PDF version) has a handy table of all past daylight savings + # transitions. It is easy enough to interpret without Finnish skills. +@@ -1169,7 +1175,7 @@ + + # From Konstantin Hyppönen (2014-06-13): + # [Heikki Oja's book Aikakirja 2013] +-# http://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf ++# https://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf + # pages 104-105, including a scan from a newspaper published on Apr 2 1942 + # say that ... [o]n Apr 2 1942, 24 o'clock (which means Apr 3 1942, + # 00:00), clocks were moved one hour forward. The newspaper +@@ -1299,7 +1305,7 @@ + + # From Jörg Schilling (2002-10-23): + # In 1945, Berlin was switched to Moscow Summer time (GMT+4) by +-# http://www.dhm.de/lemo/html/biografien/BersarinNikolai/ ++# https://www.dhm.de/lemo/html/biografien/BersarinNikolai/ + # General [Nikolai] Bersarin. + + # From Paul Eggert (2003-03-08): +@@ -1524,7 +1530,7 @@ + # From Paul Eggert (2016-10-27): + # Go with INRiM for DST rules, except as corrected by Inglis for 1944 + # for the Kingdom of Italy. This is consistent with Renzo Baldini. +-# Model Rome's occupation by using using C-Eur rules from 1943-09-10 ++# Model Rome's occupation by using C-Eur rules from 1943-09-10 + # to 1944-06-04; although Rome was an open city during this period, it + # was effectively controlled by Germany. + # +@@ -1839,7 +1845,7 @@ + # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)- + # Tiraspol will go back to winter time on October 30, 2011. + # News from Moldova (in russian): +-# http://ru.publika.md/link_317061.html ++# https://ru.publika.md/link_317061.html + + # From Roman Tudos (2015-07-02): + # http://lex.justice.md/index.php?action=view&view=doc&lang=1&id=355077 +@@ -1846,7 +1852,7 @@ + # From Paul Eggert (2015-07-01): + # The abovementioned official link to IGO1445-868/2014 states that + # 2014-10-26's fallback transition occurred at 03:00 local time. Also, +-# http://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara ++# https://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara + # says the 2014-03-30 spring-forward transition was at 02:00 local time. + # Guess that since 1997 Moldova has switched one hour before the EU. + +@@ -1918,7 +1924,7 @@ + # Amsterdam mean time. + + # The data entries before 1945 are taken from +-# http://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm ++# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time +@@ -1999,7 +2005,7 @@ + # so it must have diverged from Oslo time during the war, as Oslo was + # keeping Berlin time. + # +-# says that the meteorologists ++# says that the meteorologists + # burned down their station in 1940 and left the island, but returned in + # 1941 with a small Norwegian garrison and continued operations despite + # frequent air attacks from Germans. In 1943 the Americans established a +@@ -2037,7 +2043,7 @@ + Rule Poland 1945 only - Nov 1 0:00 0 - + # For 1946 on the source is Kazimierz Borkowski, + # Toruń Center for Astronomy, Dept. of Radio Astronomy, Nicolaus Copernicus U., +-# http://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 ++# https://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 + # Thanks to Przemysław Augustyniak (2005-05-28) for this reference. + # He also gives these further references: + # Mon Pol nr 13, poz 162 (1995) +@@ -2071,7 +2077,7 @@ + # + # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: + # According to a Portuguese decree (1911-05-26) +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/application/dir/pdf1sdip/1911/05/12500/23132313.pdf + # Lisbon was at -0:36:44.68, but switched to GMT on 1912-01-01 at 00:00. + # Round the old offset to -0:36:45. This agrees with Willett but disagrees + # with Shanks, who says the transition occurred on 1911-05-24 at 00:00 for +@@ -2253,7 +2259,7 @@ + # 2011 No. 725" and contains no other dates or "effective date" information. + # + # Another source is +-# http://www.rg.ru/2011/09/06/chas-zona-dok.html ++# https://rg.ru/2011/09/06/chas-zona-dok.html + # which, according to translate.google.com, begins "Resolution of the + # Government of the Russian Federation on August 31, 2011 N 725" and also + # contains "Date first official publication: September 6, 2011 Posted on: +@@ -2261,7 +2267,7 @@ + # does not contain any "effective date" information. + # + # Another source is +-# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 ++# https://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 + # which, in note 8, contains "Resolution No. 725 of August 31, 2011... + # Effective as of after 7 days following the day of the official publication" + # but which does not contain any reference to September 6, 2011. +@@ -2297,7 +2303,7 @@ + # http://itar-tass.com/obschestvo/1333711 + # http://www.pravo.gov.ru:8080/page.aspx?111660 + # http://www.kremlin.ru/acts/46279 +-# From October 26, 2014 the new Russian time zone map will looks like this: ++# From October 26, 2014 the new Russian time zone map will look like this: + # http://www.worldtimezone.com/dst_news/dst_news_russia-map-2014-07.html + + # From Paul Eggert (2006-03-22): +@@ -2344,7 +2350,7 @@ + # with maintenance only and represent our best guesses as to which regions + # are covered by each zone. They are not meant to be taken as an authoritative + # listing. The region codes listed come from +-# http://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 ++# https://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 + # and are used for convenience only; no guarantees are made regarding their + # future stability. ISO 3166-2:RU codes are also listed for first-level + # divisions where available. +@@ -2509,7 +2515,7 @@ + # http://www.kaliningradka.ru/site_pc/cherez/index.php?ELEMENT_ID=40091 + # says that Kaliningrad decided not to be an exception 2 days before the + # 1991-03-31 switch and one person at +-# http://izhevsk.ru/forum_light_message/50/682597-m8369040.html ++# https://izhevsk.ru/forum_light_message/50/682597-m8369040.html + # says he remembers that Samara opted out of the 1992-01-19 exception + # 2 days before the switch. + # +@@ -2581,7 +2587,7 @@ + 3:00 - MSK 1997 Mar lastSun 1:00u + # From Alexander Krivenyshev (2014-03-17): + # time change at 2:00 (2am) on March 30, 2014 +-# http://vz.ru/news/2014/3/17/677464.html ++# https://vz.ru/news/2014/3/17/677464.html + # From Paul Eggert (2014-03-30): + # Simferopol and Sevastopol reportedly changed their central town clocks + # late the previous day, but this appears to have been ceremonial +@@ -2764,7 +2770,7 @@ + # suggests that Altai Republic transitioned to Moscow+3 on + # 1995-05-28. + # +-# http://regnum.ru/news/society/1957270.html ++# https://regnum.ru/news/society/1957270.html + # has some historical data for Altai Krai: + # before 1957: west part on UTC+6, east on UTC+7 + # after 1957: UTC+7 +@@ -3138,8 +3144,8 @@ + # districts, but have very similar populations. In fact, Wikipedia currently + # lists them both as having 3528 people, exactly 1668 males and 1860 females + # each! (Yikes!) +-# http://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 +-# http://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 ++# https://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 ++# https://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 + # Assume this is a mistake, albeit an amusing one. + # + # Looking at censuses, the populations of the two municipalities seem to have +@@ -3460,7 +3466,7 @@ + # + # From Alois Treindl (2013-09-11): + # The Federal regulations say +-# http://www.admin.ch/opc/de/classified-compilation/20071096/index.html ++# https://www.admin.ch/opc/de/classified-compilation/20071096/index.html + # ... the meridian for Bern mean time ... is 7 degrees 26' 22.50". + # Expressed in time, it is 0h29m45.5s. + +@@ -3537,9 +3543,9 @@ + # According to the articles linked below, Turkey will change into summer + # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27. + # This change is due to a nationwide exam on 27th. +-# http://www.worldbulletin.net/?aType=haber&ArticleID=70872 ++# https://www.worldbulletin.net/?aType=haber&ArticleID=70872 + # Turkish: +-# http://www.hurriyet.com.tr/ekonomi/17230464.asp?gid=373 ++# https://www.hurriyet.com.tr/yaz-saati-uygulamasi-bir-gun-ileri-alindi-17230464 + + # From Faruk Pasin (2014-02-14): + # The DST for Turkey has been changed for this year because of the +@@ -3675,7 +3681,7 @@ + # http://www.segodnya.ua/news/14290482.html + # + # Deputies cancelled the winter time (in Russian) +-# http://www.pravda.com.ua/rus/news/2011/09/20/6600616/ ++# https://www.pravda.com.ua/rus/news/2011/09/20/6600616/ + # + # From Philip Pizzey (2011-10-18): + # Today my Ukrainian colleagues have informed me that the +--- contrib/tzdata/leap-seconds.list.orig ++++ contrib/tzdata/leap-seconds.list +@@ -199,10 +199,10 @@ + # current -- the update time stamp, the data and the name of the file + # will not change. + # +-# Updated through IERS Bulletin C53 +-# File expires on: 28 December 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 + # +-#@ 3723408000 ++#@ 3739132800 + # + 2272060800 10 # 1 Jan 1972 + 2287785600 11 # 1 Jul 1972 +@@ -247,4 +247,4 @@ + # the hash line is also ignored in the + # computation. + # +-#h 62cf8c5d 8bbb6dcc c61e3b56 c308343 869bb80d ++#h 5101445a 69948b51 9153e2b 2086e3d8 d54561a3 +--- contrib/tzdata/leapseconds.orig ++++ contrib/tzdata/leapseconds +@@ -3,19 +3,18 @@ + # This file is in the public domain. + + # This file is generated automatically from the data in the public-domain +-# leap-seconds.list file available from most NIST time servers. +-# If the URL does not work, +-# you should be able to pick up leap-seconds.list from a secondary NIST server. +-# See for a list of secondary servers. ++# leap-seconds.list file, which is copied from: ++# ftp://ftp.nist.gov/pub/time/leap-seconds.list + # For more about leap-seconds.list, please see + # The NTP Timescale and Leap Seconds +-# http://www.eecis.udel.edu/~mills/leap.html ++# https://www.eecis.udel.edu/~mills/leap.html + + # The International Earth Rotation and Reference Systems Service + # periodically uses leap seconds to keep UTC to within 0.9 s of UT1 + # (which measures the true angular orientation of the earth in space); see +-# Terry J Quinn, The BIPM and the accurate measure of time, +-# Proc IEEE 79, 7 (July 1991), 894-905 . ++# Levine J. Coordinated Universal Time and the leap second. ++# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995 ++# http://ieeexplore.ieee.org/document/7909995/ + # There were no leap seconds before 1972, because the official mechanism + # accounting for the discrepancy between atomic time and the earth's rotation + # did not exist until the early 1970s. +@@ -58,5 +57,5 @@ + Leap 2015 Jun 30 23:59:60 + S + Leap 2016 Dec 31 23:59:60 + S + +-# Updated through IERS Bulletin C53 +-# File expires on: 28 December 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 +--- contrib/tzdata/leapseconds.awk.orig ++++ contrib/tzdata/leapseconds.awk +@@ -8,19 +8,18 @@ + print "# This file is in the public domain." + print "" + print "# This file is generated automatically from the data in the public-domain" +- print "# leap-seconds.list file available from most NIST time servers." +- print "# If the URL does not work," +- print "# you should be able to pick up leap-seconds.list from a secondary NIST server." +- print "# See for a list of secondary servers." ++ print "# leap-seconds.list file, which is copied from:" ++ print "# ftp://ftp.nist.gov/pub/time/leap-seconds.list" + print "# For more about leap-seconds.list, please see" + print "# The NTP Timescale and Leap Seconds" +- print "# http://www.eecis.udel.edu/~mills/leap.html" ++ print "# https://www.eecis.udel.edu/~mills/leap.html" + print "" + print "# The International Earth Rotation and Reference Systems Service" + print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1" + print "# (which measures the true angular orientation of the earth in space); see" +- print "# Terry J Quinn, The BIPM and the accurate measure of time," +- print "# Proc IEEE 79, 7 (July 1991), 894-905 ." ++ print "# Levine J. Coordinated Universal Time and the leap second." ++ print "# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995" ++ print "# http://ieeexplore.ieee.org/document/7909995/" + print "# There were no leap seconds before 1972, because the official mechanism" + print "# accounting for the discrepancy between atomic time and the earth's rotation" + print "# did not exist until the early 1970s." +--- contrib/tzdata/northamerica.orig ++++ contrib/tzdata/northamerica +@@ -105,10 +105,13 @@ + # Last night I heard part of a rebroadcast of a 1945 Arch Oboler radio drama. + # In the introduction, Oboler spoke of "Eastern Peace Time." + # An AltaVista search turned up: +-# http://rowayton.org/rhs/hstaug45.html ++# https://web.archive.org/web/20000926032210/http://rowayton.org/rhs/hstaug45.html + # "When the time is announced over the radio now, it is 'Eastern Peace + # Time' instead of the old familiar 'Eastern War Time.' Peace is wonderful." + # (August 1945) by way of confirmation. ++# ++# From Paul Eggert (2017-09-23): ++# This was the V-J Day issue of the Clamdigger, a Rowayton, CT newsletter. + + # From Joseph Gallant citing + # George H. Douglas, _The Early Days of Radio Broadcasting_ (1987): +@@ -257,7 +260,7 @@ + # HST and HDT are standardized abbreviations for Hawaii-Aleutian + # standard and daylight times. See section 9.47 (p 234) of the + # U.S. Government Printing Office Style Manual (2008) +-# http://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf ++# https://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf + + # From Arthur David Olson, 2005-08-09 + # The following was signed into law on 2005-08-08. +@@ -346,7 +349,7 @@ + # western Tennessee, most of Texas, Wisconsin + + # From Larry M. Smith (2006-04-26) re Wisconsin: +-# http://www.legis.state.wi.us/statutes/Stat0175.pdf ... ++# https://docs.legis.wisconsin.gov/statutes/statutes/175.pdf + # is currently enforced at the 01:00 time of change. Because the local + # "bar time" in the state corresponds to 02:00, a number of citations + # are issued for the "sale of class 'B' alcohol after prohibited +@@ -355,7 +358,7 @@ + # From Douglas R. Bomberg (2007-03-12): + # Wisconsin has enacted (nearly eleventh-hour) legislation to get WI + # Statue 175 closer in synch with the US Congress' intent.... +-# http://www.legis.state.wi.us/2007/data/acts/07Act3.pdf ++# https://docs.legis.wisconsin.gov/2007/related/acts/3 + + # From an email administrator of the City of Fort Pierre, SD (2015-12-21): + # Fort Pierre is technically located in the Mountain time zone as is +@@ -402,7 +405,7 @@ + # ...it appears that Mercer County, North Dakota, changed from the + # mountain time zone to the central time zone at the last transition from + # daylight-saving to standard time (on Nov. 7, 2010): +-# http://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm ++# https://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm + # http://www.bismarcktribune.com/news/local/article_1eb1b588-c758-11df-b472-001cc4c03286.html + + # From Andy Lipscomb (2011-01-24): +@@ -453,7 +456,7 @@ + # legal time, and is not part of the data here.) See: + # Ross SA. An energy crisis from the past: Northern California in 1948. + # Working Paper No. 8, Institute of Governmental Studies, UC Berkeley, +-# 1973-11. http://escholarship.org/uc/item/8x22k30c ++# 1973-11. https://escholarship.org/uc/item/8x22k30c + # + # In another measure to save electricity, DST was instituted from 1948-03-14 + # at 02:01 to 1949-01-16 at 02:00, with the governor having the option to move +@@ -474,8 +477,8 @@ + # which established DST from April's last Sunday at 01:00 until September's + # last Sunday at 02:00. This was amended by 1962's Proposition 6, which changed + # the fall-back date to October's last Sunday. See: +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props + # + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule CA 1948 only - Mar 14 2:01 1:00 D +@@ -492,20 +495,31 @@ + # Alaska + # AK%sT is the modern abbreviation for -09 per USNO. + # +-# From Paul Eggert (2001-05-30): ++# From Paul Eggert (2017-06-15): + # Howse writes that Alaska switched from the Julian to the Gregorian calendar, + # and from east-of-GMT to west-of-GMT days, when the US bought it from Russia. +-# This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian, +-# also a Friday. Include only the time zone part of this transition, +-# ignoring the switch from Julian to Gregorian, since we can't represent +-# the Julian calendar. ++# On Friday, 1867-10-18 (Gregorian), at precisely 15:30 local time, the ++# Russian forts and fleet at Sitka fired salutes to mark the ceremony of ++# formal transfer. See the Sacramento Daily Union (1867-11-14), p 3, col 2. ++# https://cdnc.ucr.edu/cgi-bin/cdnc?a=d&d=SDU18671114.2.12.1 ++# Sitka workers did not change their calendars until Sunday, 1867-10-20, ++# and so celebrated two Sundays that week. See: Ahllund T (tr Hallamaa P). ++# From the memoirs of a Finnish workman. Alaska History. 2006 Fall;21(2):1-25. ++# http://alaskahistoricalsociety.org/wp-content/uploads/2016/12/Ahllund-2006-Memoirs-of-a-Finnish-Workman.pdf ++# Include only the time zone part of this transition, ignoring the switch ++# from Julian to Gregorian, since we can't represent the Julian calendar. + # +-# As far as we know, none of the exact locations mentioned below were ++# As far as we know, of the locations mentioned below only Sitka was + # permanently inhabited in 1867 by anyone using either calendar. +-# (Yakutat was colonized by the Russians in 1799, but the settlement +-# was destroyed in 1805 by a Yakutat-kon war party.) However, there +-# were nearby inhabitants in some cases and for our purposes perhaps +-# it's best to simply use the official transition. ++# (Yakutat was colonized by the Russians in 1799, but the settlement was ++# destroyed in 1805 by a Yakutat-kon war party.) Many of Alaska's inhabitants ++# were unaware of the US acquisition of Alaska, much less of any calendar or ++# time change. However, the Russian-influenced part of Alaska did observe ++# Russian time, and it is more accurate to model this than to ignore it. ++# The database format requires an exact transition time; use the Russian ++# salute as a somewhat-arbitrary time for the formal transfer of control for ++# all of Alaska. Sitka's UTC offset is -9:01:13; adjust its 15:30 to the ++# local times of other Alaskan locations so that they change simultaneously. + + # From Paul Eggert (2014-07-18): + # One opinion of the early-1980s turmoil in Alaska over time zones and +@@ -558,10 +572,10 @@ + # It seems Metlakatla did go off PST on Sunday, November 1, changing + # their time to AKST and are going to follow Alaska's DST, switching + # between AKST and AKDT from now on.... +-# http://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ ++# https://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone America/Juneau 15:02:19 - LMT 1867 Oct 18 ++Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32 + -8:57:41 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -571,7 +585,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Sitka 14:58:47 - LMT 1867 Oct 18 ++Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30 + -9:01:13 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -579,7 +593,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 18 ++Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55 + -8:46:18 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -587,7 +601,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -8:00 - PST 2015 Nov 1 2:00 + -9:00 US AK%sT +-Zone America/Yakutat 14:41:05 - LMT 1867 Oct 18 ++Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18 + -9:18:55 - LMT 1900 Aug 20 12:00 + -9:00 - YST 1942 + -9:00 US Y%sT 1946 +@@ -594,7 +608,7 @@ + -9:00 - YST 1969 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Anchorage 14:00:24 - LMT 1867 Oct 18 ++Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37 + -9:59:36 - LMT 1900 Aug 20 12:00 + -10:00 - AST 1942 + -10:00 US A%sT 1967 Apr +@@ -602,7 +616,7 @@ + -10:00 US AH%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Nome 12:58:21 - LMT 1867 Oct 18 ++Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35 + -11:01:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -611,7 +625,7 @@ + -11:00 US B%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Adak 12:13:21 - LMT 1867 Oct 18 ++Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35 + -11:46:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -647,7 +661,7 @@ + # "Hawaiian Time" by Robert C. Schmitt and Doak C. Cox appears on pages 207-225 + # of volume 26 of The Hawaiian Journal of History (1992). As of 2010-12-09, + # the article is available at +-# http://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf ++# https://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf + # and indicates that standard time was adopted effective noon, January + # 13, 1896 (page 218), that in "1933, the Legislature decreed daylight + # saving for the period between the last Sunday of each April and the +@@ -746,7 +760,7 @@ + # Indiana + # + # For a map of Indiana's time zone regions, see: +-# http://en.wikipedia.org/wiki/Time_in_Indiana ++# https://en.wikipedia.org/wiki/Time_in_Indiana + # + # From Paul Eggert (2007-08-17): + # Since 1970, most of Indiana has been like America/Indiana/Indianapolis, +@@ -973,7 +987,7 @@ + # From Paul Eggert (2001-07-16): + # The final rule was published in the + # Federal Register 65, 160 (2000-08-17), pp 50154-50158. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=2000_register&docid=fr17au00-22 ++# https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm + # + Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36 + -6:00 US C%sT 1946 +@@ -999,7 +1013,7 @@ + # West Wendover, NV officially switched from Pacific to mountain time on + # 1999-10-31. See the + # Federal Register 64, 203 (1999-10-21), pp 56705-56707. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=1999_register&docid=fr21oc99-15 ++# https://www.gpo.gov/fdsys/pkg/FR-1999-10-21/html/99-27240.htm + # However, the Federal Register says that West Wendover already operated + # on mountain time, and the rule merely made this official; + # hence a separate tz entry is not needed. +@@ -1029,12 +1043,23 @@ + # one hour in 1914." This change is not in Shanks. We have no more + # info, so omit this for now. + # ++# From Paul Eggert (2017-07-26): ++# Although Shanks says Detroit observed DST in 1967 from 06-14 00:01 ++# until 10-29 00:01, I now see multiple reports that this is incorrect. ++# For example, according to a 50-year anniversary report about the 1967 ++# Detroit riots and a major-league doubleheader on 1967-07-23, "By the time ++# the last fly ball of the doubleheader settled into the glove of leftfielder ++# Lenny Green, it was after 7 p.m. Detroit did not observe daylight saving ++# time, so light was already starting to fail. Twilight was made even deeper ++# by billowing columns of smoke that ascended in an unbroken wall north of the ++# ballpark." See: Dow B. Detroit '67: As violence unfolded, Tigers played two ++# at home vs. Yankees. Detroit Free Press 2017-07-23. ++# https://www.freep.com/story/sports/mlb/tigers/2017/07/23/detroit-tigers-1967-riot-new-york-yankees/499951001/ ++# + # Most of Michigan observed DST from 1973 on, but was a bit late in 1975. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule Detroit 1948 only - Apr lastSun 2:00 1:00 D + Rule Detroit 1948 only - Sep lastSun 2:00 0 S +-Rule Detroit 1967 only - Jun 14 2:00 1:00 D +-Rule Detroit 1967 only - Oct lastSun 2:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Detroit -5:32:11 - LMT 1905 + -6:00 - CST 1915 May 15 2:00 +@@ -1098,7 +1123,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . ++# . + # + # See the 'europe' file for Greenland. + +@@ -1144,19 +1169,19 @@ + # The British Columbia government announced yesterday that it will + # adjust daylight savings next year to align with changes in the + # U.S. and the rest of Canada.... +-# http://www2.news.gov.bc.ca/news_releases_2005-2009/2006AG0014-000330.htm ++# https://archive.news.gov.bc.ca/releases/news_releases_2005-2009/2006AG0014-000330.htm + # ... + # Nova Scotia + # Daylight saving time will be extended by four weeks starting in 2007.... +-# http://www.gov.ns.ca/just/regulations/rg2/2006/ma1206.pdf ++# https://www.novascotia.ca/just/regulations/rg2/2006/ma1206.pdf + # + # [For New Brunswick] the new legislation dictates that the time change is to + # be done at 02:00 instead of 00:01. +-# http://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf ++# https://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf + # ... + # Manitoba has traditionally changed the clock every fall at 03:00. + # As of 2006, the transition is to take place one hour earlier at 02:00. +-# http://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php ++# https://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php + # ... + # [Alberta, Ontario, Quebec] will follow US rules. + # http://www.qp.gov.ab.ca/documents/spring/CH03_06.CFM +@@ -1170,7 +1195,7 @@ + # http://www.hoa.gov.nl.ca/hoa/bills/Bill0634.htm + # ... + # Yukon +-# http://www.gov.yk.ca/legislation/regs/oic2006_127.pdf ++# https://www.gov.yk.ca/legislation/regs/oic2006_127.pdf + # ... + # N.W.T. will follow US rules. Whoever maintains the government web site + # does not seem to believe in bookmarks. To see the news release, click the +@@ -1191,8 +1216,8 @@ + # time and daylight saving time arrangements in Canada circa 1998. + # + # National Research Council Canada maintains info about time zones and DST. +-# http://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html +-# http://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 ++# https://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html ++# https://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 + # Its unofficial information is often taken from Matthews and Vincent. + + # From Paul Eggert (2006-06-27): +@@ -1229,11 +1254,13 @@ + + # Newfoundland and Labrador + +-# From Paul Eggert (2000-10-02): +-# Matthews and Vincent (1998) write that Labrador should use NST/NDT, +-# but the only part of Labrador that follows the rules is the +-# southeast corner, including Port Hope Simpson and Mary's Harbour, +-# but excluding, say, Black Tickle. ++# From Paul Eggert (2017-10-14): ++# Legally Labrador should observe Newfoundland time; see: ++# McLeod J. Labrador time - legal or not? St. John's Telegram, 2017-10-07 ++# http://www.thetelegram.com/news/local/labrador-time--legal-or-not-154860/ ++# Matthews and Vincent (1998) write that the only part of Labrador ++# that follows the rules is the southeast corner, including Port Hope ++# Simpson and Mary's Harbour, but excluding, say, Black Tickle. + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule StJohns 1917 only - Apr 8 2:00 1:00 D +@@ -1433,7 +1460,7 @@ + # http://www.justice.gouv.qc.ca/english/publications/generale/temps-minganie-a.htm + # that the coastal strip from just east of Natashquan to Blanc-Sablon + # observes Atlantic standard time all year round. +-# http://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en ++# https://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en + # says this common practice was codified into law as of 2007. + # For lack of better info, guess this practice began around 1970, contra to + # Shanks & Pottenger who have this region observing AST/ADT. +@@ -1465,6 +1492,11 @@ + # earlier in June). + # + # Kenora, Ontario, was to abandon DST on 1914-06-01 (-05-21). ++# ++# From Paul Eggert (2017-07-08): ++# For more on Orillia, see: Daubs K. Bold attempt at daylight saving ++# 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 +@@ -1956,7 +1988,7 @@ + # * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68, + # c. 7 defines Yukon standard time as UTC-9.... + # see Interpretation Act, R.S.C. 1985, c. I-21, s. 35(1). +-# [http://canlii.ca/t/7vhg] ++# [https://www.canlii.org/en/ca/laws/stat/rsc-1985-c-i-21/latest/rsc-1985-c-i-21.html] + # * C.O. 1973/214 switched Yukon to PST on 1973-10-28 00:00. + # * O.I.C. 1980/02 established DST. + # * O.I.C. 1987/056 changed DST to Apr firstSun 2:00 to Oct lastSun 2:00. +@@ -2021,7 +2053,7 @@ + # hours behind Greenwich Time. + # + # * Yukon Standard Time defined as Pacific Standard Time, YCO 1973/214 +-# http://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html ++# https://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html + # C.O. 1973/214 INTERPRETATION ACT ... + # + # 1. Effective October 28, 1973 Commissioner's Order 1967/59 is hereby +@@ -2036,7 +2068,7 @@ + # http://? - no online source found + # + # * Yukon Daylight Saving Time, YOIC 1987/56 +-# http://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html + # O.I.C. 1987/056 INTERPRETATION ACT ... + # + # In every year between +@@ -2048,7 +2080,7 @@ + # Dated ... 9th day of March, A.D., 1987. + # + # * Yukon Daylight Saving Time 2006, YOIC 2006/127 +-# http://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html + # O.I.C. 2006/127 INTERPRETATION ACT ... + # + # 1. In Yukon each year the time for general purposes shall be 7 hours +@@ -2062,7 +2094,7 @@ + # 3. This order comes into force January 1, 2007. + # + # * Interpretation Act, RSY 2002, c 125 +-# http://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html ++# https://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html + + # From Rives McDow (1999-09-04): + # Nunavut ... moved ... to incorporate the whole territory into one time zone. +@@ -2105,7 +2137,7 @@ + + # From Michaela Rodrigue, writing in the + # Nunatsiaq News (1999-11-19): +-# http://www.nunatsiaq.com/archives/nunavut991130/nvt91119_17.html ++# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html + # Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones, + # central - or Nunavut time - for government offices, and eastern time + # for municipal offices and schools.... Igloolik [was similar but then] +@@ -2123,7 +2155,7 @@ + # Central Time and Southampton Island [in the Central zone] is not + # required to use daylight savings. + +-# From ++# From + # Nunavut now has two time zones (2000-11-10): + # The Nunavut government would allow its employees in Kugluktuk and + # Cambridge Bay to operate on central time year-round, putting them +@@ -2454,7 +2486,7 @@ + # http://gaceta.diputados.gob.mx/Gaceta/61/2009/dic/V2-101209.html + # + # Our page: +-# http://www.timeanddate.com/news/time/north-mexico-dst-change.html ++# https://www.timeanddate.com/news/time/north-mexico-dst-change.html + + # From Arthur David Olson (2010-01-20): + # The page +@@ -2873,7 +2905,7 @@ + # http://www.nnc.cubaweb.cu/marzo-2008/cien-1-11-3-08.htm + # + # Some more background information is posted here: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html + # + # The article also says that Cuba has been observing DST since 1963, + # while Shanks (and tzdata) has 1965 as the first date (except in the +@@ -2920,7 +2952,7 @@ + # http://granma.co.cu/2011/03/08/nacional/artic01.html + # + # Our info: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2011.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2011.html + # + # From Steffen Thorsen (2011-10-30) + # Cuba will end DST two weeks later this year. Instead of going back +@@ -2930,7 +2962,7 @@ + # http://www.radioangulo.cu/noticias/cuba/17105-cuba-restablecera-el-horario-del-meridiano-de-greenwich.html + # + # Our page: +-# http://www.timeanddate.com/news/time/cuba-time-changes-2011.html ++# https://www.timeanddate.com/news/time/cuba-time-changes-2011.html + # + # From Steffen Thorsen (2012-03-01) + # According to Radio Reloj, Cuba will start DST on Midnight between March +@@ -2940,7 +2972,7 @@ + # http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril + # + # Our info on it: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2012.html + + # From Steffen Thorsen (2012-11-03): + # Radio Reloj and many other sources report that Cuba is changing back +@@ -3135,8 +3167,8 @@ + # From Steffen Thorsen (2016-03-12): + # Jean Antoine, editor of www.haiti-reference.com informed us that Haiti + # are not going on DST this year. Several other resources confirm this: ... +-# http://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html +-# http://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ ++# https://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html ++# https://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ + # http://news.anmwe.com/haiti-lheure-nationale-ne-sera-ni-avancee-ni-reculee-cette-annee/ + + # From Steffen Thorsen (2017-03-12): +@@ -3335,7 +3367,7 @@ + # Turks and Caicos + # + # From Chris Dunn in +-# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415007 ++# https://bugs.debian.org/415007 + # (2007-03-15): In the Turks & Caicos Islands (America/Grand_Turk) the + # daylight saving dates for time changes have been adjusted to match + # the recent U.S. change of dates. +@@ -3357,12 +3389,25 @@ + # "permanent daylight saving time" by one year.... + # http://tcweeklynews.com/time-change-to-go-ahead-this-november-p5437-127.htm + # ++# From the Turks & Caicos Cabinet (2017-07-20), heads-up from Steffen Thorsen: ++# ... agreed to the reintroduction in TCI of Daylight Saving Time (DST) ++# during the summer months and Standard Time, also known as Local ++# Time, during the winter months with effect from April 2018 ... ++# https://www.gov.uk/government/news/turks-and-caicos-post-cabinet-meeting-statement--3 ++# ++# From Paul Eggert (2017-08-26): ++# The date of effect of the spring 2018 change appears to be March 11, ++# which makes more sense. See: Hamilton D. Time change back ++# by March 2018 for TCI. Magnetic Media. 2017-08-25. ++# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/ ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Grand_Turk -4:44:32 - LMT 1890 + -5:07:11 - KMT 1912 Feb # Kingston Mean Time + -5:00 - EST 1979 + -5:00 US E%sT 2015 Nov Sun>=1 2:00 +- -4:00 - AST ++ -4:00 - AST 2018 Mar 11 3:00 ++ -5:00 US E%sT + + # British Virgin Is + # Virgin Is +--- contrib/tzdata/southamerica.orig ++++ contrib/tzdata/southamerica +@@ -22,7 +22,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # + # These tables use numeric abbreviations like -03 and -0330 for + # integer hour and minute UTC offsets. Although earlier editions used +@@ -265,8 +265,8 @@ + # + # Es inminente que en San Luis atrasen una hora los relojes + # (It is imminent in San Luis clocks one hour delay) +-# http://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html +-# http://www.worldtimezone.net/dst_news/dst_news_argentina02.html ++# https://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html ++# http://www.worldtimezone.com/dst_news/dst_news_argentina02.html + + # From Jesper Nørgaard Welen (2008-01-18): + # The page of the San Luis provincial government +@@ -385,7 +385,7 @@ + # Perhaps San Luis operates on the legal fiction that it is at -04 + # with perpetual summer time, but ordinary usage typically seems to + # just say it's at -03; see, for example, +-# http://es.wikipedia.org/wiki/Hora_oficial_argentina ++# https://es.wikipedia.org/wiki/Hora_oficial_argentina + # We've documented similar situations as being plain changes to + # standard time, so let's do that here too. This does not change UTC + # offsets, only tm_isdst and the time zone abbreviations. One minor +@@ -716,7 +716,7 @@ + # (Portuguese) + # + # We have a written a short article about it as well: +-# http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html ++# https://www.timeanddate.com/news/time/brazil-dst-2008-2009.html + # + # From Alexander Krivenyshev (2011-10-04): + # State Bahia will return to Daylight savings time this year after 8 years off. +@@ -725,7 +725,7 @@ + + # In Portuguese: + # http://g1.globo.com/bahia/noticia/2011/10/governador-jaques-wagner-confirma-horario-de-verao-na-bahia.html +-# http://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html + + # From Guilherme Bernardes Rodrigues (2011-10-07): + # There is news in the media, however there is still no decree about it. +@@ -751,16 +751,16 @@ + + # From Rodrigo Severo (2012-10-16): + # Tocantins state will have DST. +-# http://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html + + # From Steffen Thorsen (2013-09-20): + # Tocantins in Brazil is very likely not to observe DST from October.... + # http://conexaoto.com.br/2013/09/18/ministerio-confirma-que-tocantins-esta-fora-do-horario-de-verao-em-2013-mas-falta-publicacao-de-decreto + # We will keep this article updated when this is confirmed: +-# http://www.timeanddate.com/news/time/brazil-starts-dst-2013.html ++# https://www.timeanddate.com/news/time/brazil-starts-dst-2013.html + + # From Steffen Thorsen (2013-10-17): +-# http://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html ++# https://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html + # Senator Jorge Viana announced that Acre will change time zone on November 10. + # He did not specify the time of the change, nor if western parts of Amazonas + # will change as well. +@@ -1076,18 +1076,18 @@ + # the following source, cited by Oscar van Vlijmen (2006-10-08): + # [1] Chile Law + # http://www.webexhibits.org/daylightsaving/chile.html +-# This contains a copy of a this official table: ++# This contains a copy of this official table: + # Cambios en la hora oficial de Chile desde 1900 (retrieved 2008-03-30) +-# http://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm ++# https://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm + # [1] needs several corrections, though. + # + # The first set of corrections is from: + # [2] History of the Official Time of Chile + # http://www.horaoficial.cl/ing/horaof_ing.html (retrieved 2012-03-06). See: +-# http://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html ++# https://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html + # This is an English translation of: + # Historia de la hora oficial de Chile (retrieved 2012-10-24). See: +-# http://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm ++# https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm + # A fancier Spanish version (requiring mouse-clicking) is at: + # http://www.horaoficial.cl/historia_hora.html + # Conflicts between [1] and [2] were resolved as follows: +@@ -1363,10 +1363,10 @@ + # Milne says the Central and South American Telegraph Company used -5:24:15. + # + # From Alois Treindl (2016-12-15): +-# http://www.elcomercio.com/actualidad/hora-sixto-1993.html ++# https://www.elcomercio.com/actualidad/hora-sixto-1993.html + # ... Whether the law applied also to Galápagos, I do not know. + # From Paul Eggert (2016-12-15): +-# http://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html ++# https://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html + # This says President Sixto Durán Ballén signed decree No. 285, which + # established DST from 1992-11-28 to 1993-02-05; it does not give transition + # times. The people called it "hora de Sixto" ("Sixto hour"). The change did +@@ -1778,7 +1778,7 @@ + # hours of presidential broadcasts, hours of lines,' quipped comedian + # Jean Mary Curró ...". See: Cawthorne A, Kai D. Venezuela scraps + # half-hour time difference set by Chavez. Reuters 2016-04-15 14:50 -0400 +-# http://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE ++# https://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE + # + # From Matt Johnson (2016-04-20): + # ... published in the official Gazette [2016-04-18], here: +--- contrib/tzdata/theory.html.orig ++++ contrib/tzdata/theory.html +@@ -0,0 +1,1034 @@ ++ ++ ++ ++ Theory and pragmatics of the tz code and data ++ ++ ++ ++ ++ ++ ++

Theory and pragmatics of the tz code and data

++

Outline

++ ++ ++ ++
++

Scope of the tz database

++

++The tz database attempts to record the history and predicted future of ++all computer-based clocks that track civil time. To represent this ++data, the world is partitioned into regions whose clocks all agree ++about timestamps that occur after the somewhat-arbitrary cutoff point ++of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, ++the database records all known clock transitions, and labels the region ++with a notable 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. ++

++ ++

++Clock transitions before 1970 are recorded for each such location, ++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 ++applications requiring accurate handling of all past times everywhere, ++as it would take far too much effort and guesswork to record all ++details of pre-1970 civil timekeeping. ++

++ ++

++As described below, reference source code for using the tz database is ++also available. The tz code is upwards compatible with POSIX, an ++international standard for UNIX-like systems. As of this writing, the ++current edition of POSIX is: ++ ++ The Open Group Base Specifications Issue 7, ++ IEEE Std 1003.1-2008, 2016 Edition. ++

++
++ ++ ++ ++
++

Names of time zone rules

++

++Each of the database's time zone rules has a unique name. ++Inexperienced users are not expected to select these names unaided. ++Distributors should provide documentation and/or a simple selection ++interface that explains the names; for one example, see the 'tzselect' ++program in the tz code. The ++Unicode Common Locale Data ++Repository contains data that may be useful for other ++selection interfaces. ++

++ ++

++The time zone rule naming conventions attempt to strike a balance ++among the following goals: ++

++
    ++
  • ++ Uniquely identify every region where clocks have agreed since 1970. ++ This is essential for the intended use: static clocks keeping local ++ civil time. ++
  • ++
  • ++ Indicate to experts where that region is. ++
  • ++
  • ++ Be robust in the presence of political changes. For example, names ++ of countries are ordinarily not used, to avoid incompatibilities ++ when countries change their name (e.g. Zaire→Congo) or when ++ locations change countries (e.g. Hong Kong from UK colony to ++ China). ++
  • ++
  • ++ Be portable to a wide variety of implementations. ++
  • ++
  • ++ Use a consistent naming conventions over the entire world. ++
  • ++
++

++Names normally have the ++form AREA/LOCATION, ++where AREA is the name of a continent or ocean, ++and LOCATION is the name of a specific ++location within that region. North and South America share the same ++area, 'America'. Typical names are ++'Africa/Cairo', 'America/New_York', and ++'Pacific/Honolulu'. ++

++ ++

++Here are the general rules used for choosing location names, ++in decreasing order of importance: ++

++
    ++
  • ++ Use only valid POSIX file name components (i.e., the parts of ++ names other than '/'). Do not use the file name ++ components '.' and '..'. ++ Within a file name component, ++ use only ASCII letters, '.', ++ '-' and '_'. Do not use ++ digits, as that might create an ambiguity with POSIX ++ TZ strings. A file name component must not exceed 14 ++ characters or start with '-'. E.g., ++ prefer 'Brunei' to ++ 'Bandar_Seri_Begawan'. Exceptions: see ++ the discussion ++ of legacy names below. ++
  • ++
  • ++ A name must not be empty, or contain '//', or ++ start or end with '/'. ++
  • ++
  • ++ Do not use names that differ only in case. Although the reference ++ implementation is case-sensitive, some other implementations ++ are not, and they would mishandle names differing only in case. ++
  • ++
  • ++ If one name A is an initial prefix of another ++ name AB (ignoring case), then B ++ must not start with '/', as a ++ regular file cannot have ++ the same name as a directory in POSIX. For example, ++ 'America/New_York' precludes ++ 'America/New_York/Bronx'. ++
  • ++
  • ++ Uninhabited regions like the North Pole and Bouvet Island ++ do not need locations, since local time is not defined there. ++
  • ++
  • ++ There should typically be at least one name for each ISO 3166-1 ++ officially assigned two-letter code for an inhabited country ++ or territory. ++
  • ++
  • ++ If all the clocks in a region have agreed since 1970, ++ don't bother to include more than one location ++ even if subregions' clocks disagreed before 1970. ++ Otherwise these tables would become annoyingly large. ++
  • ++
  • ++ If a name is ambiguous, use a less ambiguous alternative; ++ e.g. many cities are named San José and Georgetown, so ++ prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. ++
  • ++
  • ++ Keep locations compact. Use cities or small islands, not countries ++ or regions, so that any future time zone changes do not split ++ locations into different time zones. E.g. prefer ++ 'Paris' to 'France', since ++ France has had multiple time zones. ++
  • ++
  • ++ Use mainstream English spelling, e.g. prefer ++ 'Rome' to 'Roma', and prefer ++ 'Athens' to the Greek ++ 'Αθήνα' or the Romanized ++ 'Athína'. ++ The POSIX file name restrictions encourage this rule. ++
  • ++
  • ++ Use the most populous among locations in a zone, ++ e.g. prefer 'Shanghai' to ++ 'Beijing'. Among locations with ++ similar populations, pick the best-known location, ++ e.g. prefer 'Rome' to 'Milan'. ++
  • ++
  • ++ Use the singular form, e.g. prefer 'Canary' to 'Canaries'. ++
  • ++
  • ++ Omit common suffixes like '_Islands' and ++ '_City', unless that would lead to ++ ambiguity. E.g. prefer 'Cayman' to ++ 'Cayman_Islands' and ++ 'Guatemala' to ++ 'Guatemala_City', but prefer ++ 'Mexico_City' to 'Mexico' ++ because the country ++ of Mexico has several time zones. ++
  • ++
  • ++ Use '_' to represent a space. ++
  • ++
  • ++ Omit '.' from abbreviations in names, e.g. prefer ++ 'St_Helena' to 'St._Helena'. ++
  • ++
  • ++ Do not change established names if they only marginally ++ violate the above rules. For example, don't change ++ the existing name 'Rome' to ++ 'Milan' merely because ++ Milan's population has grown to be somewhat greater ++ than Rome's. ++
  • ++
  • ++ If a name is changed, put its old spelling in the ++ 'backward' file. ++ This means old spellings will continue to work. ++
  • ++
++ ++

++The file 'zone1970.tab' lists geographical locations used ++to name time ++zone rules. It is intended to be an exhaustive list of names for ++geographic regions as described above; this is a subset of the names ++in the data. Although a 'zone1970.tab' location's longitude ++corresponds to its LMT offset with one hour for every 15 degrees east ++longitude, this relationship is not exact. ++

++ ++

++Older versions of this package used a different naming scheme, ++and these older names are still supported. ++See the file 'backward' for most of these older names ++(e.g., 'US/Eastern' instead of 'America/New_York'). ++The other old-fashioned names still supported are ++'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). ++

++ ++

++Older versions of this package defined legacy names that are ++incompatible with the first rule of location names, but which are ++still supported. These legacy names are mostly defined in the file ++'etcetera'. Also, the file 'backward' defines the legacy names ++'GMT0', 'GMT-0' and 'GMT+0', and the file 'northamerica' defines the ++legacy names 'EST5EDT', 'CST6CDT', 'MST7MDT', and 'PST8PDT'. ++

++ ++

++Excluding 'backward' should not affect the other data. If ++'backward' is excluded, excluding 'etcetera' should not affect the ++remaining data. ++

++ ++ ++
++
++

Time zone abbreviations

++

++When this package is installed, it generates time zone abbreviations ++like 'EST' to be compatible with human tradition and POSIX. ++Here are the general rules used for choosing time zone abbreviations, ++in decreasing order of importance: ++

    ++
  • ++ Use three or more characters that are ASCII alphanumerics or ++ '+' or '-'. ++ Previous editions of this database also used characters like ++ ' ' and '?', but these ++ characters have a special meaning to ++ the shell and cause commands like ++ 'set `date`' ++ to have unexpected effects. ++ Previous editions of this rule required upper-case letters, ++ but the Congressman who introduced Chamorro Standard Time ++ preferred "ChST", so lower-case letters are now allowed. ++ Also, POSIX from 2001 on relaxed the rule to allow ++ '-', '+', ++ and alphanumeric characters from the portable character set ++ in the current locale. In practice ASCII alphanumerics and ++ '+' and '-' are safe in all locales. ++ ++ In other words, in the C locale the POSIX extended regular ++ expression [-+[:alnum:]]{3,} should match ++ the abbreviation. ++ This guarantees that all abbreviations could have been ++ specified by a POSIX TZ string. ++
  • ++
  • ++ Use abbreviations that are in common use among English-speakers, ++ e.g. 'EST' for Eastern Standard Time in North America. ++ We assume that applications translate them to other languages ++ as part of the normal localization process; for example, ++ a French application might translate 'EST' to 'HNE'. ++
  • ++
  • ++ For zones whose times are taken from a city's longitude, use the ++ traditional xMT notation, e.g. 'PMT' for ++ Paris Mean Time. ++ The only name like this in current use is 'GMT'. ++
  • ++
  • ++ Use 'LMT' for local mean time of locations before the introduction ++ of standard time; see "Scope of the ++ tz database". ++
  • ++
  • ++ If there is no common English abbreviation, use numeric offsets like ++ -05 and +0830 that are ++ generated by zic's %z notation. ++
  • ++
  • ++ Use current abbreviations for older timestamps to avoid confusion. ++ For example, in 1910 a common English abbreviation for UT +01 ++ in central Europe was 'MEZ' (short for both "Middle European ++ Zone" and for "Mitteleuropäische Zeit" in German). Nowadays ++ 'CET' ("Central European Time") is more common in English, and ++ the database uses 'CET' even for circa-1910 timestamps as this ++ is less confusing for modern users and avoids the need for ++ determining when 'CET' supplanted 'MEZ' in common usage. ++
  • ++
  • ++ Use a consistent style in a zone's history. For example, if a zone's ++ history tends to use numeric abbreviations and a particular ++ entry could go either way, use a numeric abbreviation. ++
  • ++
++ [The remaining guidelines predate the introduction of %z. ++ They are problematic as they mean tz data entries invent ++ notation rather than record it. These guidelines are now ++ deprecated and the plan is to gradually move to %z for ++ inhabited locations and to "-00" for uninhabited locations.] ++
    ++
  • ++ If there is no common English abbreviation, abbreviate the English ++ translation of the usual phrase used by native speakers. ++ If this is not available or is a phrase mentioning the country ++ (e.g. "Cape Verde Time"), then: ++
      ++
    • ++ When a country is identified with a single or principal zone, ++ append 'T' to the country's ISO code, e.g. 'CVT' for ++ Cape Verde Time. For summer time append 'ST'; ++ for double summer time append 'DST'; etc. ++
    • ++
    • ++ Otherwise, take the first three letters of an English place ++ name identifying each zone and append 'T', 'ST', etc. ++ as before; e.g. 'CHAST' for CHAtham Summer Time. ++
    • ++
    ++
  • ++
  • ++ Use UT (with time zone abbreviation '-00') for ++ locations while uninhabited. The leading ++ '-' is a flag that the time ++ zone is in some sense undefined; this notation is ++ derived from Internet RFC 3339. ++
  • ++
++

++Application writers should note that these abbreviations are ambiguous ++in practice: e.g. 'CST' has a different meaning in China than ++it does in the United States. In new applications, it's often better ++to use numeric UT offsets like '-0600' instead of time zone ++abbreviations like 'CST'; this avoids the ambiguity. ++

++
++ ++ ++
++

Accuracy of the tz database

++

++The tz database is not authoritative, and it surely has errors. ++Corrections are welcome and encouraged; see the file CONTRIBUTING. ++Users requiring authoritative data should consult national standards ++bodies and the references cited in the database's comments. ++

++ ++

++Errors in the tz database arise from many sources: ++

++
    ++
  • ++ The tz database predicts future timestamps, and current predictions ++ will be incorrect after future governments change the rules. ++ For example, if today someone schedules a meeting for 13:00 next ++ October 1, Casablanca time, and tomorrow Morocco changes its ++ daylight saving rules, software can mess up after the rule change ++ if it blithely relies on conversions made before the change. ++
  • ++
  • ++ The pre-1970 entries in this database cover only a tiny sliver of how ++ clocks actually behaved; the vast majority of the necessary ++ information was lost or never recorded. Thousands more zones would ++ be needed if the tz database's scope were extended to cover even ++ just the known or guessed history of standard time; for example, ++ the current single entry for France would need to split into dozens ++ of entries, perhaps hundreds. And in most of the world even this ++ approach would be misleading due to widespread disagreement or ++ indifference about what times should be observed. In her 2015 book ++ The Global Transformation of Time, 1870-1950, Vanessa Ogle writes ++ "Outside of Europe and North America there was no system of time ++ zones at all, often not even a stable landscape of mean times, ++ prior to the middle decades of the twentieth century". See: ++ Timothy Shenk, Booked: ++ A Global History of Time. Dissent 2015-12-17. ++
  • ++
  • ++ Most of the pre-1970 data entries come from unreliable sources, often ++ astrology books that lack citations and whose compilers evidently ++ invented entries when the true facts were unknown, without ++ reporting which entries were known and which were invented. ++ These books often contradict each other or give implausible entries, ++ and on the rare occasions when they are checked they are ++ typically found to be incorrect. ++
  • ++
  • ++ For the UK the tz database relies on years of first-class work done by ++ Joseph Myers and others; see ++ "History of ++ legal time in Britain". ++ Other countries are not done nearly as well. ++
  • ++
  • ++ Sometimes, different people in the same city would maintain clocks ++ that differed significantly. Railway time was used by railroad ++ companies (which did not always agree with each other), ++ church-clock time was used for birth certificates, etc. ++ Often this was merely common practice, but sometimes it was set by law. ++ For example, from 1891 to 1911 the UT offset in France was legally ++ 0:09:21 outside train stations and 0:04:21 inside. ++
  • ++
  • ++ Although a named location in the tz database stands for the ++ containing region, its pre-1970 data entries are often accurate for ++ only a small subset of that region. For example, Europe/London ++ stands for the United Kingdom, but its pre-1847 times are valid ++ only for locations that have London's exact meridian, and its 1847 ++ transition to GMT is known to be valid only for the L&NW and the ++ Caledonian railways. ++
  • ++
  • ++ The tz database does not record the earliest time for which a zone's ++ data entries are thereafter valid for every location in the region. ++ For example, Europe/London is valid for all locations in its ++ region after GMT was made the standard time, but the date of ++ standardization (1880-08-02) is not in the tz database, other than ++ in commentary. For many zones the earliest time of validity is ++ unknown. ++
  • ++
  • ++ The tz database does not record a region's boundaries, and in many ++ cases the boundaries are not known. For example, the zone ++ America/Kentucky/Louisville represents a region around ++ the city of ++ Louisville, the boundaries of which are unclear. ++
  • ++
  • ++ Changes that are modeled as instantaneous transitions in the tz ++ database were often spread out over hours, days, or even decades. ++
  • ++
  • ++ Even if the time is specified by law, locations sometimes ++ deliberately flout the law. ++
  • ++
  • ++ Early timekeeping practices, even assuming perfect clocks, were ++ often not specified to the accuracy that the tz database requires. ++
  • ++
  • ++ Sometimes historical timekeeping was specified more precisely ++ than what the tz database can handle. For example, from 1909 to ++ 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz ++ database cannot represent the fractional second. ++
  • ++
  • ++ Even when all the timestamp transitions recorded by the tz database ++ are correct, the tz rules that generate them may not faithfully ++ reflect the historical rules. For example, from 1922 until World ++ War II the UK moved clocks forward the day following the third ++ Saturday in April unless that was Easter, in which case it moved ++ clocks forward the previous Sunday. Because the tz database has no ++ way to specify Easter, these exceptional years are entered as ++ separate tz Rule lines, even though the legal rules did not change. ++
  • ++
  • ++ The tz database models pre-standard time using the proleptic Gregorian ++ calendar and local mean time (LMT), but many people used other ++ calendars and other timescales. For example, the Roman Empire used ++ the Julian calendar, and had 12 varying-length daytime hours with a ++ non-hour-based system at night. ++
  • ++
  • ++ Early clocks were less reliable, and data entries do not represent ++ clock error. ++
  • ++
  • ++ The tz database assumes Universal Time (UT) as an origin, even ++ though UT is not standardized for older timestamps. In the tz ++ database commentary, UT denotes a family of time standards that ++ includes Coordinated Universal Time (UTC) along with other variants ++ such as UT1 and GMT, with days starting at midnight. Although UT ++ equals UTC for modern timestamps, UTC was not defined until 1960, ++ so commentary uses the more-general abbreviation UT for timestamps ++ that might predate 1960. Since UT, UT1, etc. disagree slightly, ++ and since pre-1972 UTC seconds varied in length, interpretation of ++ older timestamps can be problematic when subsecond accuracy is ++ needed. ++
  • ++
  • ++ Civil time was not based on atomic time before 1972, and we don't ++ know the history of earth's rotation accurately enough to map SI ++ seconds to historical solar time to more than about one-hour ++ accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY. ++ Measurement ++ of the Earth's rotation: 720 BC to AD 2015. ++ Proc Royal Soc A. 2016 Dec 7;472:20160404. ++ Also see: Espenak F. Uncertainty ++ in Delta T (ΔT). ++
  • ++
  • ++ The relationship between POSIX time (that is, UTC but ignoring leap ++ seconds) and UTC is not agreed upon after 1972. Although the POSIX ++ clock officially stops during an inserted leap second, at least one ++ proposed standard has it jumping back a second instead; and in ++ practice POSIX clocks more typically either progress glacially during ++ a leap second, or are slightly slowed while near a leap second. ++
  • ++
  • ++ The tz database does not represent how uncertain its information is. ++ Ideally it would contain information about when data entries are ++ incomplete or dicey. Partial temporal knowledge is a field of ++ active research, though, and it's not clear how to apply it here. ++
  • ++
++

++In short, many, perhaps most, of the tz database's pre-1970 and future ++timestamps are either wrong or misleading. Any attempt to pass the ++tz database off as the definition of time should be unacceptable to ++anybody who cares about the facts. In particular, the tz database's ++LMT offsets should not be considered meaningful, and should not prompt ++creation of zones merely because two locations differ in LMT or ++transitioned to standard time at different dates. ++

++
++ ++ ++
++

Time and date functions

++

++The tz code contains time and date functions that are upwards ++compatible with those of POSIX. ++

++ ++

++POSIX has the following properties and limitations. ++

++
    ++
  • ++

    ++ In POSIX, time display in a process is controlled by the ++ environment variable TZ. Unfortunately, the POSIX TZ string takes ++ a form that is hard to describe and is error-prone in practice. ++ Also, POSIX TZ strings can't deal with other (for example, Israeli) ++ daylight saving time rules, or situations where more than two ++ time zone abbreviations are used in an area. ++

    ++

    ++ The POSIX TZ string takes the following form: ++

    ++

    ++ stdoffset[dst[offset][,date[/time],date[/time]]] ++

    ++

    ++ where: ++

    ++
    std and dst
    ++ are 3 or more characters specifying the standard ++ and daylight saving time (DST) zone names. ++ Starting with POSIX.1-2001, std ++ and dst may also be ++ in a quoted form like '<UTC+10>'; this allows ++ "+" and "-" in the names. ++
    ++
    offset
    ++ is of the form ++ '[±]hh:[mm[:ss]]' ++ and specifies the offset west of UT. 'hh' ++ may be a single digit; 0≤hh≤24. ++ The default DST offset is one hour ahead of standard time. ++
    ++
    date[/time],date[/time]
    ++ specifies the beginning and end of DST. If this is absent, ++ the system supplies its own rules for DST, and these can ++ differ from year to year; typically US DST rules are used. ++
    ++
    time
    ++ takes the form ++ 'hh:[mm[:ss]]' ++ and defaults to 02:00. ++ This is the same format as the offset, except that a ++ leading '+' or '-' is not allowed. ++
    ++
    date
    ++ takes one of the following forms: ++
    ++
    Jn (1≤n≤365)
    ++ origin-1 day number not counting February 29 ++
    ++
    n (0≤n≤365)
    ++ origin-0 day number counting February 29 if present ++
    ++
    Mm.n.d (0[Sunday]≤d≤6[Saturday], 1≤n≤5, 1≤m≤12)
    ++ for the dth day of ++ week n of month m of the ++ year, where week 1 is the first week in which ++ day d appears, and '5' ++ stands for the last week in which ++ day d appears ++ (which may be either the 4th or 5th week). ++ Typically, this is the only useful form; ++ the n ++ and Jn forms are ++ rarely used. ++
    ++
    ++
    ++
    ++ Here is an example POSIX TZ string for New Zealand after 2007. ++ It says that standard time (NZST) is 12 hours ahead of UTC, ++ and that daylight saving time (NZDT) is observed from September's ++ last Sunday at 02:00 until April's first Sunday at 03:00: ++ ++
    TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'
    ++ ++ This POSIX TZ string is hard to remember, and mishandles some ++ timestamps before 2008. With this package you can use this ++ instead: ++ ++
    TZ='Pacific/Auckland'
    ++
  • ++
  • ++ POSIX does not define the exact meaning of TZ values like ++ "EST5EDT". ++ Typically the current US DST rules are used to interpret such values, ++ but this means that the US DST rules are compiled into each program ++ that does time conversion. This means that when US time conversion ++ rules change (as in the United States in 1987), all programs that ++ do time conversion must be recompiled to ensure proper results. ++
  • ++
  • ++ The TZ environment variable is process-global, which makes it hard ++ to write efficient, thread-safe applications that need access ++ to multiple time zones. ++
  • ++
  • ++ In POSIX, there's no tamper-proof way for a process to learn the ++ system's best idea of local wall clock. (This is important for ++ applications that an administrator wants used only at certain ++ times – ++ without regard to whether the user has fiddled the TZ environment ++ variable. While an administrator can "do everything in UTC" to get ++ around the problem, doing so is inconvenient and precludes handling ++ daylight saving time shifts - as might be required to limit phone ++ calls to off-peak hours.) ++
  • ++
  • ++ POSIX provides no convenient and efficient way to determine the UT ++ offset and time zone abbreviation of arbitrary timestamps, ++ particularly for time zone settings that do not fit into the ++ POSIX model. ++
  • ++
  • ++ POSIX requires that systems ignore leap seconds. ++
  • ++
  • ++ The tz code attempts to support all the time_t ++ implementations allowed by POSIX. The time_t ++ type represents a nonnegative count of ++ seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. ++ In practice, time_t is usually a signed 64- or ++ 32-bit integer; 32-bit signed time_t values stop ++ working after 2038-01-19 03:14:07 UTC, so ++ new implementations these days typically use a signed 64-bit integer. ++ Unsigned 32-bit integers are used on one or two platforms, ++ and 36-bit and 40-bit integers are also used occasionally. ++ Although earlier POSIX versions allowed time_t to be a ++ floating-point type, this was not supported by any practical ++ systems, and POSIX.1-2013 and the tz code both ++ require time_t ++ to be an integer type. ++
  • ++
++

++These are the extensions that have been made to the POSIX functions: ++

++
    ++
  • ++

    ++ The TZ environment variable is used in generating the name of a file ++ from which time zone information is read (or is interpreted a la ++ POSIX); TZ is no longer constrained to be a three-letter time zone ++ name followed by a number of hours and an optional three-letter ++ daylight time zone name. The daylight saving time rules to be used ++ for a particular time zone are encoded in the time zone file; ++ the format of the file allows U.S., Australian, and other rules to be ++ encoded, and allows for situations where more than two time zone ++ abbreviations are used. ++

    ++

    ++ It was recognized that allowing the TZ environment variable to ++ take on values such as 'America/New_York' might ++ cause "old" programs ++ (that expect TZ to have a certain form) to operate incorrectly; ++ consideration was given to using some other environment variable ++ (for example, TIMEZONE) to hold the string used to generate the ++ time zone information file name. In the end, however, it was decided ++ to continue using TZ: it is widely used for time zone purposes; ++ separately maintaining both TZ and TIMEZONE seemed a nuisance; ++ and systems where "new" forms of TZ might cause problems can simply ++ use TZ values such as "EST5EDT" which can be used both by ++ "new" programs (a la POSIX) and "old" programs (as zone names and ++ offsets). ++

    ++
  • ++
  • ++ The code supports platforms with a UT offset member ++ in struct tm, ++ e.g., tm_gmtoff. ++
  • ++
  • ++ The code supports platforms with a time zone abbreviation member in ++ struct tm, e.g., tm_zone. ++
  • ++
  • ++ Since the TZ environment variable can now be used to control time ++ conversion, the daylight ++ and timezone variables are no longer needed. ++ (These variables are defined and set by tzset; ++ however, their values will not be used ++ by localtime.) ++
  • ++
  • ++ Functions tzalloc, tzfree, ++ localtime_rz, and mktime_z for ++ more-efficient thread-safe applications that need to use ++ multiple time zones. The tzalloc ++ and tzfree functions allocate and free objects of ++ type timezone_t, and localtime_rz ++ and mktime_z are like localtime_r ++ and mktime with an extra ++ timezone_t argument. The functions were inspired ++ by NetBSD. ++
  • ++
  • ++ A function tzsetwall has been added to arrange ++ for the system's ++ best approximation to local wall clock time to be delivered by ++ subsequent calls to localtime. Source code for portable ++ applications that "must" run on local wall clock time should call ++ tzsetwall; if such code is moved to "old" systems that don't ++ provide tzsetwall, you won't be able to generate an executable program. ++ (These time zone functions also arrange for local wall clock time to be ++ used if tzset is called – directly or indirectly – ++ and there's no TZ ++ environment variable; portable applications should not, however, rely ++ on this behavior since it's not the way SVR2 systems behave.) ++
  • ++
  • ++ Negative time_t values are supported, on systems ++ where time_t is signed. ++
  • ++
  • ++ These functions can account for leap seconds, thanks to Bradley White. ++
  • ++
++

++Points of interest to folks with other systems: ++

++
    ++
  • ++ Code compatible with this package is already part of many platforms, ++ including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, ++ BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. ++ On such hosts, the primary use of this package ++ is to update obsolete time zone rule tables. ++ To do this, you may need to compile the time zone compiler ++ 'zic' supplied with this package instead of using ++ the system 'zic', since the format ++ of zic's input is occasionally extended, and a ++ platform may still be shipping an older zic. ++
  • ++
  • ++ The UNIX Version 7 timezone function is not ++ present in this package; ++ it's impossible to reliably map timezone's arguments (a "minutes west ++ of GMT" value and a "daylight saving time in effect" flag) to a ++ time zone abbreviation, and we refuse to guess. ++ Programs that in the past used the timezone function may now examine ++ localtime(&clock)->tm_zone ++ (if TM_ZONE is defined) or ++ tzname[localtime(&clock)->tm_isdst] ++ (if HAVE_TZNAME is defined) ++ to learn the correct time zone abbreviation to use. ++
  • ++
  • ++ The 4.2BSD gettimeofday function is not used in ++ this package. ++ This formerly let users obtain the current UTC offset and DST flag, ++ but this functionality was removed in later versions of BSD. ++
  • ++
  • ++ In SVR2, time conversion fails for near-minimum or near-maximum ++ time_t values when doing conversions for places ++ that don't use UT. ++ This package takes care to do these conversions correctly. ++ A comment in the source code tells how to get compatibly wrong ++ results. ++
  • ++
++

++The functions that are conditionally compiled ++if STD_INSPIRED is defined ++should, at this point, be looked on primarily as food for thought. They are ++not in any sense "standard compatible" – some are not, in fact, ++specified in any standard. They do, however, represent responses of ++various authors to ++standardization proposals. ++

++ ++

++Other time conversion proposals, in particular the one developed by folks at ++Hewlett Packard, offer a wider selection of functions that provide capabilities ++beyond those provided here. The absence of such functions from this package ++is not meant to discourage the development, standardization, or use of such ++functions. Rather, their absence reflects the decision to make this package ++contain valid extensions to POSIX, to ensure its broad acceptability. If ++more powerful time conversion functions can be standardized, so much the ++better. ++

++
++ ++ ++
++

Interface stability

++

++The tz code and data supply the following interfaces: ++

++
    ++
  • ++ A set of zone names as per "Names of time zone ++ rules" above. ++
  • ++
  • ++ Library functions described in "Time and date ++ functions" above. ++
  • ++
  • ++ The programs tzselect, zdump, ++ and zic, documented in their man pages. ++
  • ++
  • ++ The format of zic input files, documented in ++ the zic man page. ++
  • ++
  • ++ The format of zic output files, documented in ++ the tzfile man page. ++
  • ++
  • ++ The format of zone table files, documented in zone1970.tab. ++
  • ++
  • ++ The format of the country code file, documented in iso3166.tab. ++
  • ++
  • ++ The version number of the code and data, as the first line of ++ the text file 'version' in each release. ++
  • ++
++

++Interface changes in a release attempt to preserve compatibility with ++recent releases. For example, tz data files typically do not rely on ++recently-added zic features, so that users can run ++older zic versions to process newer data ++files. Sources for time zone and daylight ++saving time data describes how ++releases are tagged and distributed. ++

++ ++

++Interfaces not listed above are less stable. For example, users ++should not rely on particular UT offsets or abbreviations for ++timestamps, as data entries are often based on guesswork and these ++guesses may be corrected or improved. ++

++
++ ++ ++
++

Calendrical issues

++

++Calendrical issues are a bit out of scope for a time zone database, ++but they indicate the sort of problems that we would run into if we ++extended the time zone database further into the past. An excellent ++resource in this area is Nachum Dershowitz and Edward M. Reingold, ++Calendrical ++Calculations: Third Edition, Cambridge University Press (2008). ++Other information and sources are given in the file 'calendars' ++in the tz distribution. They sometimes disagree. ++

++
++ ++ ++
++

Time and time zones on other planets

++

++Some people's work schedules use Mars time. Jet Propulsion Laboratory ++(JPL) coordinators have kept Mars time on and off at least since 1997 ++for the Mars Pathfinder mission. Some of their family members have ++also adapted to Mars time. Dozens of special Mars watches were built ++for JPL workers who kept Mars time during the Mars Exploration ++Rovers mission (2004). These timepieces look like normal Seikos and ++Citizens but use Mars seconds rather than terrestrial seconds. ++

++ ++

++A Mars solar day is called a "sol" and has a mean period equal to ++about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is ++divided into a conventional 24-hour clock, so each Mars second equals ++about 1.02749125 terrestrial seconds. ++

++ ++

++The prime meridian of Mars goes through the center of the crater ++Airy-0, named in honor of the British astronomer who built the ++Greenwich telescope that defines Earth's prime meridian. Mean solar ++time on the Mars prime meridian is called Mars Coordinated Time (MTC). ++

++ ++

++Each landed mission on Mars has adopted a different reference for ++solar time keeping, so there is no real standard for Mars time zones. ++For example, the Mars Exploration Rover project (2004) defined two ++time zones "Local Solar Time A" and "Local Solar Time B" for its two ++missions, each zone designed so that its time equals local true solar ++time at approximately the middle of the nominal mission. Such a "time ++zone" is not particularly suited for any application other than the ++mission itself. ++

++ ++

++Many calendars have been proposed for Mars, but none have achieved ++wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a ++sequential count of Mars solar days elapsed since about 1873-12-29 ++12:00 GMT. ++

++ ++

++In our solar system, Mars is the planet with time and calendar most ++like Earth's. On other planets, Sun-based time and calendars would ++work quite differently. For example, although Mercury's sidereal ++rotation period is 58.646 Earth days, Mercury revolves around the Sun ++so rapidly that an observer on Mercury's equator would see a sunrise ++only every 175.97 Earth days, i.e., a Mercury year is 0.5 of a Mercury ++day. Venus is more complicated, partly because its rotation is ++slightly retrograde: its year is 1.92 of its days. Gas giants like ++Jupiter are trickier still, as their polar and equatorial regions ++rotate at different rates, so that the length of a day depends on ++latitude. This effect is most pronounced on Neptune, where the day is ++about 12 hours at the poles and 18 hours at the equator. ++

++ ++

++Although the tz database does not support time on other planets, it is ++documented here in the hopes that support will be added eventually. ++

++ ++

++Sources: ++

++ ++
++ ++
++
++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++
++ ++ +--- contrib/tzdata/version.orig ++++ contrib/tzdata/version +@@ -1 +1 @@ +-2017b ++2017c +--- contrib/tzdata/zishrink.awk.orig ++++ contrib/tzdata/zishrink.awk +@@ -0,0 +1,156 @@ ++# Convert tzdata source into a smaller version of itself. ++ ++# Contributed by Paul Eggert. This file is in the public domain. ++ ++# This is not a general-purpose converter; it is designed for current tzdata. ++# 'zic' should treat this script's output as if it were identical to ++# this script's input. ++ ++ ++# Return a new rule name. ++# N_RULE_NAMES keeps track of how many rule names have been generated. ++ ++function gen_rule_name(alphabet, base, rule_name, n, digit) ++{ ++ alphabet = "" ++ alphabet = alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ++ alphabet = alphabet "abcdefghijklmnopqrstuvwxyz" ++ alphabet = alphabet "!$%&'()*+,./:;<=>?@[\\]^_`{|}~" ++ base = length(alphabet) ++ rule_name = "" ++ n = n_rule_names++ ++ ++ do { ++ n -= rule_name && n <= base ++ digit = n % base ++ rule_name = substr(alphabet, digit + 1, 1) rule_name ++ n = (n - digit) / base ++ } while (n); ++ ++ return rule_name ++} ++ ++# Process an input line and save it for later output. ++ ++function process_input_line(line, field, end, i, n, startdef) ++{ ++ # Remove comments, normalize spaces, and append a space to each line. ++ sub(/#.*/, "", line) ++ line = line " " ++ gsub(/[[:space:]]+/, " ", line) ++ ++ # Abbreviate keywords. Do not abbreviate "Link" to just "L", ++ # as pre-2017c zic erroneously diagnoses "Li" as ambiguous. ++ sub(/^Link /, "Li ", line) ++ sub(/^Rule /, "R ", line) ++ sub(/^Zone /, "Z ", line) ++ ++ # SystemV rules are not needed. ++ if (line ~ /^R SystemV /) return ++ ++ # Replace FooAsia rules with the same rules without "Asia", as they ++ # are duplicates. ++ if (match(line, /[^ ]Asia /)) { ++ if (line ~ /^R /) return ++ line = substr(line, 1, RSTART) substr(line, RSTART + 5) ++ } ++ ++ # Abbreviate times. ++ while (match(line, /[: ]0+[0-9]/)) ++ line = substr(line, 1, RSTART) substr(line, RSTART + RLENGTH - 1) ++ while (match(line, /:0[^:]/)) ++ line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2) ++ ++ # Abbreviate weekday names. Do not abbreviate "Sun" and "Sat", as ++ # pre-2017c zic erroneously diagnoses "Su" and "Sa" as ambiguous. ++ while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 4) substr(line, end - 1) ++ } ++ while (match(line, / (last)?(Tue|Thu)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 3) substr(line, end - 1) ++ } ++ ++ # Abbreviate "max", "only" and month names. ++ # Do not abbreviate "min", as pre-2017c zic erroneously diagnoses "mi" ++ # as ambiguous. ++ gsub(/ max /, " ma ", line) ++ gsub(/ only /, " o ", line) ++ gsub(/ Jan /, " Ja ", line) ++ gsub(/ Feb /, " F ", line) ++ gsub(/ Apr /, " Ap ", line) ++ gsub(/ Aug /, " Au ", line) ++ gsub(/ Sep /, " S ", line) ++ gsub(/ Oct /, " O ", line) ++ gsub(/ Nov /, " N ", line) ++ gsub(/ Dec /, " D ", line) ++ ++ # Strip leading and trailing space. ++ sub(/^ /, "", line) ++ sub(/ $/, "", line) ++ ++ # Remove unnecessary trailing zero fields. ++ sub(/ 0+$/, "", line) ++ ++ # Remove unnecessary trailing days-of-month "1". ++ if (match(line, /[[:alpha:]] 1$/)) ++ line = substr(line, 1, RSTART) ++ ++ # Remove unnecessary trailing " Ja" (for January). ++ sub(/ Ja$/, "", line) ++ ++ n = split(line, field) ++ ++ # Abbreviate rule names. ++ i = field[1] == "Z" ? 4 : field[1] == "Li" ? 0 : 2 ++ if (i && field[i] ~ /^[^-+0-9]/) { ++ if (!rule[field[i]]) ++ rule[field[i]] = gen_rule_name() ++ field[i] = rule[field[i]] ++ } ++ ++ # If this zone supersedes an earlier one, delete the earlier one ++ # from the saved output lines. ++ startdef = "" ++ if (field[1] == "Z") ++ zonename = startdef = field[2] ++ else if (field[1] == "Li") ++ zonename = startdef = field[3] ++ else if (field[1] == "R") ++ zonename = "" ++ if (startdef) { ++ i = zonedef[startdef] ++ if (i) { ++ do ++ output_line[i - 1] = "" ++ while (output_line[i++] ~ /^[-+0-9]/); ++ } ++ } ++ zonedef[zonename] = nout + 1 ++ ++ # Save the line for later output. ++ line = field[1] ++ for (i = 2; i <= n; i++) ++ line = line " " field[i] ++ output_line[nout++] = line ++} ++ ++function output_saved_lines(i) ++{ ++ for (i = 0; i < nout; i++) ++ if (output_line[i]) ++ print output_line[i] ++} ++ ++BEGIN { ++ print "# This zic input file is in the public domain." ++} ++ ++/^[[:space:]]*[^#[:space:]]/ { ++ process_input_line($0) ++} ++ ++END { ++ output_saved_lines() ++} +--- contrib/tzdata/zone.tab.orig ++++ contrib/tzdata/zone.tab +@@ -186,7 +186,7 @@ + GD +1203-06145 America/Grenada + GE +4143+04449 Asia/Tbilisi + GF +0456-05220 America/Cayenne +-GG +4927-00232 Europe/Guernsey ++GG +492717-0023210 Europe/Guernsey + GH +0533-00013 Africa/Accra + GI +3608-00521 Europe/Gibraltar + GL +6411-05144 America/Godthab Greenland (most areas) +@@ -221,7 +221,7 @@ + IR +3540+05126 Asia/Tehran + IS +6409-02151 Atlantic/Reykjavik + IT +4154+01229 Europe/Rome +-JE +4912-00207 Europe/Jersey ++JE +491101-0020624 Europe/Jersey + JM +175805-0764736 America/Jamaica + JO +3157+03556 Asia/Amman + JP +353916+1394441 Asia/Tokyo +--- contrib/tzdata/zone1970.tab.orig ++++ contrib/tzdata/zone1970.tab +@@ -2,7 +2,7 @@ + # + # This file is in the public domain. + # +-# From Paul Eggert (2014-07-31): ++# From Paul Eggert (2017-10-01): + # This file contains a table where each row stands for a zone where + # civil time stamps have agreed since 1970. Columns are separated by + # a single tab. Lines beginning with '#' are comments. All text uses +@@ -16,7 +16,7 @@ + # either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS, + # first latitude (+ is north), then longitude (+ is east). + # 3. Zone name used in value of TZ environment variable. +-# Please see the 'Theory' file for how zone names are chosen. ++# Please see the theory.html file for how zone names are chosen. + # If multiple zones overlap a country, each has a row in the + # table, with each column 1 containing the country code. + # 4. Comments; present if and only if a country has multiple zones. +@@ -317,10 +317,11 @@ + SA,KW,YE +2438+04643 Asia/Riyadh + SB -0932+16012 Pacific/Guadalcanal + SC -0440+05528 Indian/Mahe +-SD,SS +1536+03232 Africa/Khartoum ++SD +1536+03232 Africa/Khartoum + SE +5920+01803 Europe/Stockholm + SG +0117+10351 Asia/Singapore + SR +0550-05510 America/Paramaribo ++SS +0451+03137 Africa/Juba + SV +1342-08912 America/El_Salvador + SY +3330+03618 Asia/Damascus + TC +2128-07108 America/Grand_Turk diff --git a/share/security/patches/EN-17:09/tzdata-10.4.patch.asc b/share/security/patches/EN-17:09/tzdata-10.4.patch.asc new file mode 100644 index 0000000000..862b43a912 --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-10.4.patch.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- + +iQKTBAABCgB9FiEEHPf/b631yp++G4yy7Wfs1l3PaucFAln7PXNfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFD +RjdGRjZGQURGNUNBOUZCRTFCOENCMkVENjdFQ0Q2NURDRjZBRTcACgkQ7Wfs1l3P +aucjGw/+NiOz552mus6PkvE+Bec2QycZuDvhLkZ3lPHJTh/hVzTKQ+48wX3sboeI +VsBf6l5Ay5RQz+sz6QAvyKEQvlD0XHKWTg3gPtnp57KcskQGvRK3p96Hp5Iw3nVb +JS5bSs0WgCAIk/J/8Q4a1YCNfhjdJ/QDoufIavAa0BlwLeO4vr45BLDXAhPCfdNF +nt7Vk63JjtlOw7zvGj+JJHWIarY2NGE7sbAFalfdywBdiJNzVpeoZowNBuhI5hmR +Y0FXFVHLVkXUrNJ3BL2wZQPowCSGfdf9UAgOkNMWQyiqvSI6ahcqg/ASs+EZt0Yg +67/PavXCpq5xjFvx8exNp9/eI8NifgEnXV4ZEl1O9eRDuwVfTKP/wou5/23OAcgK +VUzRx4UUBzMUWhxlKOWLYcxkh0a7RuZf0ZoGSZjyTS0c3132xbjkej4wdOsZLJXB +xWSczhEFcthn8CaOjfbPiHqElrcYf2WlF/LiUQmLkEVDHj6/DX6Wtm/WRvkLgSYJ +ZPfbuDEUP1zG8GIu6i7MCNeKX2NMKxoMIMolNjSrowSNLr+PTqialKDcsuj2LCNv +aaVRR00zwGvVGwDSDffE9VM7VrNm3Kh3iJk7mpkk/z9ywUrHW6642L5Ab/BmGq3N +3Mzqb9pvJQgwdSv9J7er2P4jon8haeCHupTzyvpFyMB02d4EJXI= +=g5SZ +-----END PGP SIGNATURE----- diff --git a/share/security/patches/EN-17:09/tzdata-11.0.patch b/share/security/patches/EN-17:09/tzdata-11.0.patch new file mode 100644 index 0000000000..fb398ea14f --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-11.0.patch @@ -0,0 +1,8914 @@ +--- contrib/tzdata/CONTRIBUTING.orig ++++ contrib/tzdata/CONTRIBUTING +@@ -5,23 +5,29 @@ + warning, the data entries do not cover all of civil time before + 1970, and undoubtedly errors remain in the code and data. Feel + free to fill gaps or fix mistakes, and please email improvements +-to tz@iana.org for use in the future. ++to tz@iana.org for use in the future. In your email, please give ++reliable sources that reviewers can check. + ++----- ++ ++Developers can contribute technical changes to the source code and ++data as follows. ++ + To email small changes, please run a POSIX shell command like + 'diff -u old/europe new/europe >myfix.patch', and attach + myfix.patch to the email. + +-For more-elaborate changes, please read the Theory file and browse +-the mailing list archives for +-examples of patches that tend to work well. Ideally, additions to ++For more-elaborate changes, please read the theory.html file and browse ++the mailing list archives for ++examples of patches that tend to work well. Additions to + data should contain commentary citing reliable sources as +-justification. ++justification. Citations should use https: URLs if available. + + Please submit changes against either the latest release in +- or the master branch of the experimental +-Git repository. If you use Git the following workflow may be helpful: ++ or the master branch of the development ++repository. If you use Git the following workflow may be helpful: + +- * Copy the experimental repository. ++ * Copy the development repository. + + git clone https://github.com/eggert/tz.git + cd tz +--- contrib/tzdata/LICENSE.orig ++++ contrib/tzdata/LICENSE +@@ -1,4 +1,5 @@ +-With a few exceptions, all files in the tz code and data (including +-this one) are in the public domain. The exceptions are date.c, +-newstrftime.3, and strftime.c, which contain material derived from BSD +-and which use the BSD 3-clause license. ++Unless specified below, all files in the tz code and data (including ++this LICENSE file) are in the public domain. ++ ++If the files date.c, newstrftime.3, and strftime.c are present, they ++contain material derived from BSD and use the BSD 3-clause license. +--- contrib/tzdata/Makefile.orig ++++ contrib/tzdata/Makefile +@@ -49,6 +49,7 @@ + # "Compiled" time zone information is placed in the "TZDIR" directory + # (and subdirectories). + # Use an absolute path name for TZDIR unless you're just testing the software. ++# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty. + + TZDIR_BASENAME= zoneinfo + TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME) +@@ -72,11 +73,11 @@ + + LIBDIR= $(TOPDIR)/lib + +-# If you always want time values interpreted as "seconds since the epoch +-# (not counting leap seconds)", use ++# If you want only POSIX time, with time values interpreted as ++# seconds since the epoch (not counting leap seconds), use + # REDO= posix_only +-# below. If you always want right time values interpreted as "seconds since +-# the epoch" (counting leap seconds)", use ++# below. If you want only "right" time, with values interpreted ++# as seconds since the epoch (counting leap seconds), use + # REDO= right_only + # below. If you want both sets of data available, with leap seconds not + # counted normally, use +@@ -85,10 +86,31 @@ + # normally, use + # REDO= right_posix + # below. POSIX mandates that leap seconds not be counted; for compatibility +-# with it, use "posix_only" or "posix_right". ++# with it, use "posix_only" or "posix_right". Use POSIX time on systems with ++# leap smearing; this can work better than unsmeared "right" time with ++# applications that are not leap second aware, and is closer to unsmeared ++# "right" time than unsmeared POSIX time is (e.g., 0.5 vs 1.0 s max error). + + REDO= posix_right + ++# To install data in text form that has all the information of the binary data, ++# (optionally incorporating leap second information), use ++# TZDATA_TEXT= tzdata.zi leapseconds ++# To install text data without leap second information (e.g., because ++# REDO='posix_only'), use ++# TZDATA_TEXT= tzdata.zi ++# To avoid installing text data, use ++# TZDATA_TEXT= ++ ++TZDATA_TEXT= leapseconds tzdata.zi ++ ++# For backward-compatibility links for old zone names, use ++# BACKWARD= backward pacificnew ++# To omit these links, use ++# BACKWARD= ++ ++BACKWARD= backward pacificnew ++ + # If you want out-of-scope and often-wrong data from the file 'backzone', use + # PACKRATDATA= backzone + # To omit this data, use +@@ -96,6 +118,11 @@ + + PACKRATDATA= + ++# The name of a locale using the UTF-8 encoding, used during self-tests. ++# The tests are skipped if the name does not appear to work on this system. ++ ++UTF8_LOCALE= en_US.utf8 ++ + # Since "." may not be in PATH... + + YEARISTYPE= ./yearistype +@@ -103,50 +130,53 @@ + # Non-default libraries needed to link. + LDLIBS= + +-# Add the following to the end of the "CFLAGS=" line as needed. ++# Add the following to the end of the "CFLAGS=" line as needed to override ++# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1". + # -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c) ++# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime ++# formats that generate only the last two digits of year numbers ++# -DEPOCH_LOCAL if the 'time' function returns local time not UT ++# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater ++# than what POSIX specifies, assuming local time is UT. ++# For example, N is 252460800 on AmigaOS. + # -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r ++# -DHAVE_DECL_ENVIRON if declares 'environ' + # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) +-# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS) +-# -DHAVE_GETTEXT=1 if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) +-# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares ++# -DHAVE_GENERIC=0 if _Generic does not work ++# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) ++# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares + # ctime_r and asctime_r incompatibly with the POSIX standard + # (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). +-# -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h" ++# -DHAVE_INTTYPES_H if you have a non-C99 compiler with + # -DHAVE_LINK=0 if your system lacks a link function + # -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 +-# This defaults to 1 if a working localtime_rz seems to be available. + # localtime_rz can make zdump significantly faster, but is nonstandard. + # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare + # functions like 'link' or variables like 'tzname' required by POSIX +-# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h" +-# -DHAVE_STRFTIME_L=1 if declares locale_t and strftime_l +-# This defaults to 0 if _POSIX_VERSION < 200809, 1 otherwise. ++# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function ++# -DHAVE_STDBOOL_H if you have a non-C99 compiler with ++# -DHAVE_STDINT_H if you have a non-C99 compiler with ++# -DHAVE_STRFTIME_L if declares locale_t and strftime_l + # -DHAVE_STRDUP=0 if your system lacks the strdup 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_SYS_STAT_H=0 if your compiler lacks a ++# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a + # -DHAVE_TZSET=0 if your system lacks a tzset function +-# -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?) +-# -DEPOCH_LOCAL=1 if the 'time' function returns local time not UT +-# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater +-# than what POSIX specifies, assuming local time is UT. +-# For example, N is 252460800 on AmigaOS. +-# -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1 +-# if you do not want run time warnings about formats that may cause +-# year 2000 grief +-# -Dssize_t=long on ancient hosts that lack ssize_t +-# -DTHREAD_SAFE=1 to make localtime.c thread-safe, as POSIX requires; ++# -DHAVE_UNISTD_H=0 if your compiler lacks a ++# -Dlocale_t=XXX if your system uses XXX instead of locale_t ++# -Dssize_t=long on hosts like MS-Windows that lack ssize_t ++# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; + # not needed by the main-program tz code, which is single-threaded. + # Append other compiler flags as needed, e.g., -pthread on GNU/Linux. + # -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t ++# This is intended for internal use only; it mangles external names. + # -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" + # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; + # the default is system-supplied, typically "/usr/lib/locale" + # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified + # DST transitions if the time zone files cannot be accessed +-# -DUNINIT_TRAP=1 if reading uninitialized storage can cause problems ++# -DUNINIT_TRAP if reading uninitialized storage can cause problems + # other than simply getting garbage data + # -DUSE_LTZ=0 to build zdump with the system time zone library + # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. +@@ -154,27 +184,28 @@ + # (or some other number) to set the maximum time zone abbreviation length + # that zic will accept without a warning (the default is 6) + # $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking +-GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-common -fstrict-aliasing \ +- -Wall -Wextra \ +- -Wbad-function-cast -Wcast-align -Wdate-time \ +- -Wdeclaration-after-statement \ +- -Wdouble-promotion \ +- -Wformat=2 -Winit-self -Wjump-misses-init \ +- -Wlogical-op -Wmissing-prototypes -Wnested-externs \ +- -Wold-style-definition -Woverlength-strings -Wpointer-arith \ +- -Wshadow -Wstrict-prototypes -Wsuggest-attribute=const \ +- -Wsuggest-attribute=format -Wsuggest-attribute=noreturn \ +- -Wsuggest-attribute=pure -Wtrampolines \ +- -Wunused -Wwrite-strings \ +- -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ +- -Wno-type-limits -Wno-unused-parameter ++# Select instrumentation via "make GCC_INSTRUMENT='whatever'". ++GCC_INSTRUMENT = \ ++ -fsanitize=undefined -fsanitize-address-use-after-scope \ ++ -fsanitize-undefined-trap-on-error -fstack-protector ++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 -Wdate-time \ ++ -Wdeclaration-after-statement -Wdouble-promotion \ ++ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ ++ -Winit-self -Wjump-misses-init -Wlogical-op \ ++ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ ++ -Wold-style-definition -Woverlength-strings -Wpointer-arith \ ++ -Wshadow -Wshift-overflow=2 -Wstrict-prototypes -Wstringop-overflow=5 \ ++ -Wsuggest-attribute=const -Wsuggest-attribute=format \ ++ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ ++ -Wtrampolines -Wundef -Wuninitialized -Wunused \ ++ -Wvariadic-macros -Wvla -Wwrite-strings \ ++ -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ ++ -Wno-type-limits -Wno-unused-parameter + # +-# If you want to use System V compatibility code, add +-# -DUSG_COMPAT +-# to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight" +-# variables to be kept up-to-date by the time conversion functions. Neither +-# "timezone" nor "daylight" is described in X3J11's work. +-# + # If your system has a "GMT offset" field in its "struct tm"s + # (or if you decide to add such a field in your system's "time.h" file), + # add the name to a define such as +@@ -186,6 +217,31 @@ + # and define NO_TM_ZONE to suppress any guessing. These two fields are not + # required by POSIX, but are widely available on GNU/Linux and BSD systems. + # ++# The next batch of options control support for external variables ++# exported by tzcode. In practice these variables are less useful ++# than TM_GMTOFF and TM_ZONE. However, most of them are standardized. ++# # ++# # To omit or support the external variable "tzname", add one of: ++# # -DHAVE_TZNAME=0 ++# # -DHAVE_TZNAME=1 ++# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. ++# # If not defined, the code attempts to guess HAVE_TZNAME from other macros. ++# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause ++# # crashes when combined with some platforms' standard libraries, ++# # presumably due to memory allocation issues. ++# # ++# # To omit or support the external variables "timezone" and "daylight", add ++# # -DUSG_COMPAT=0 ++# # -DUSG_COMPAT=1 ++# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by ++# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. ++# # If not defined, the code attempts to guess USG_COMPAT from other macros. ++# # ++# # To support the external variable "altzone", add ++# # -DALTZONE ++# # to the end of the "CFLAGS=" line; although "altzone" appeared in ++# # System V Release 3.1 it has not been standardized. ++# + # If you want functions that were inspired by early versions of X3J11's work, + # add + # -DSTD_INSPIRED +@@ -223,11 +279,6 @@ + # -DALL_STATE + # to the end of the "CFLAGS=" line. Storage is obtained by calling malloc. + # +-# If you want an "altzone" variable (a la System V Release 3.1), add +-# -DALTZONE +-# to the end of the "CFLAGS=" line. +-# This variable is not described in X3J11's work. +-# + # NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put + # out by the National Institute of Standards and Technology + # which claims to test C and Posix conformance. If you want to pass PCTS, add +@@ -237,8 +288,8 @@ + # If you want strict compliance with XPG4 as of 1994-04-09, add + # -DXPG4_1994_04_09 + # to the end of the "CFLAGS=" line. This causes "strftime" to always return +-# 53 as a week number (rather than 52 or 53) for those days in January that +-# before the first Monday in January when a "%V" format is used and January 1 ++# 53 as a week number (rather than 52 or 53) for January days before ++# January's first Monday when a "%V" format is used and January 1 + # falls on a Friday, Saturday, or Sunday. + + CFLAGS= +@@ -262,7 +313,7 @@ + + # How to use zic to install tz binary files. + +-ZIC_INSTALL= $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) ++ZIC_INSTALL= $(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) + + # The name of a Posix-compliant 'awk' on your system. + AWK= awk +@@ -286,6 +337,7 @@ + # The name, arguments and environment of a program to validate your web pages. + # See for a validator, and + # for a validation library. ++# Set VALIDATE=':' if you do not have such a program. + VALIDATE = nsgmls + VALIDATE_FLAGS = -s -B -wall -wno-unused-param + VALIDATE_ENV = \ +@@ -352,7 +404,7 @@ + RANLIB= : + + TZCOBJS= zic.o +-TZDOBJS= zdump.o localtime.o asctime.o ++TZDOBJS= zdump.o localtime.o asctime.o strftime.o + DATEOBJS= date.o localtime.o strftime.o asctime.o + LIBSRCS= localtime.c asctime.c difftime.c + LIBOBJS= localtime.o asctime.o difftime.o +@@ -367,20 +419,22 @@ + time2posix.3.txt \ + tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \ + date.1.txt +-COMMON= CONTRIBUTING LICENSE Makefile NEWS README Theory version ++COMMON= calendars CONTRIBUTING LICENSE Makefile \ ++ NEWS README theory.html version + WEB_PAGES= tz-art.htm tz-how-to.html tz-link.htm + DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) + PRIMARY_YDATA= africa antarctica asia australasia \ + europe northamerica southamerica +-YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward ++YDATA= $(PRIMARY_YDATA) etcetera $(BACKWARD) + NDATA= systemv factory + TDATA= $(YDATA) $(NDATA) + ZONETABLES= zone1970.tab zone.tab +-TABDATA= iso3166.tab leapseconds $(ZONETABLES) ++TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) + LEAP_DEPS= leapseconds.awk leap-seconds.list +-DATA= $(YDATA) $(NDATA) backzone $(TABDATA) \ +- leap-seconds.list yearistype.sh +-AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk ++TZDATA_ZI_DEPS= zishrink.awk $(TDATA) $(PACKRATDATA) ++DATA= $(YDATA) $(NDATA) backzone iso3166.tab leap-seconds.list \ ++ leapseconds yearistype.sh $(ZONETABLES) ++AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk zishrink.awk + MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl + TZS_YEAR= 2050 + TZS= to$(TZS_YEAR).tzs +@@ -387,13 +441,13 @@ + TZS_NEW= to$(TZS_YEAR)new.tzs + TZS_DEPS= $(PRIMARY_YDATA) asctime.c localtime.c \ + private.h tzfile.h zdump.c zic.c +-ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) ++ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) tzdata.zi + + # Consult these files when deciding whether to rebuild the 'version' file. + # This list is not the same as the output of 'git ls-files', since + # .gitignore is not distributed. + VERSION_DEPS= \ +- CONTRIBUTING LICENSE Makefile NEWS README Theory \ ++ calendars CONTRIBUTING LICENSE Makefile NEWS README \ + africa antarctica asctime.c asia australasia \ + backward backzone \ + checklinks.awk checktab.awk \ +@@ -402,7 +456,7 @@ + leap-seconds.list leapseconds.awk localtime.c \ + newctime.3 newstrftime.3 newtzset.3 northamerica \ + pacificnew private.h \ +- southamerica strftime.c systemv \ ++ southamerica strftime.c systemv theory.html \ + time2posix.3 tz-art.htm tz-how-to.html tz-link.htm \ + tzfile.5 tzfile.h tzselect.8 tzselect.ksh \ + workman.sh yearistype.sh \ +@@ -424,7 +478,7 @@ + $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \ + $(DESTDIR)$(MANDIR)/man8 + $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES) +- cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/. ++ cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/. + cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/. + cp libtz.a $(DESTDIR)$(LIBDIR)/. + $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a +@@ -445,6 +499,11 @@ + printf '%s\n' "$$V" >$@.out + mv $@.out $@ + ++# This file can be tailored by setting BACKWARD, PACKRATDATA, etc. ++tzdata.zi: $(TZDATA_ZI_DEPS) ++ LC_ALL=C $(AWK) -f zishrink.awk $(TDATA) $(PACKRATDATA) >$@.out ++ mv $@.out $@ ++ + version.h: version + VERSION=`cat version` && printf '%s\n' \ + 'static char const PKGVERSION[]="($(PACKAGE)) ";' \ +@@ -470,6 +529,7 @@ + # Arguments to pass to submakes of install_data. + # They can be overridden by later submake arguments. + INSTALLARGS = \ ++ BACKWARD=$(BACKWARD) \ + DESTDIR=$(DESTDIR) \ + LEAPSECONDS='$(LEAPSECONDS)' \ + PACKRATDATA='$(PACKRATDATA)' \ +@@ -478,10 +538,8 @@ + ZIC='$(ZIC)' + + # 'make install_data' installs one set of tz binary files. +-# It can be tailored by setting LEAPSECONDS, PACKRATDATA, etc. +-install_data: zic leapseconds yearistype $(PACKRATDATA) $(TDATA) +- $(ZIC_INSTALL) $(TDATA) +- $(AWK) '/^Rule/' $(TDATA) | $(ZIC_INSTALL) - $(PACKRATDATA) ++install_data: zic leapseconds yearistype tzdata.zi ++ $(ZIC_INSTALL) tzdata.zi + + posix_only: + $(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data +@@ -518,14 +576,14 @@ + + zones: $(REDO) + +-$(TZS_NEW): $(TDATA) zdump zic ++$(TZS_NEW): tzdata.zi zdump zic + mkdir -p tzs.dir +- $(zic) -d tzs.dir $(TDATA) +- $(AWK) '/^Link/{print $$1 "\t" $$2 "\t" $$3}' \ +- $(TDATA) | LC_ALL=C sort >$@.out ++ $(zic) -d tzs.dir tzdata.zi ++ $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ ++ tzdata.zi | LC_ALL=C sort >$@.out + wd=`pwd` && \ + zones=`$(AWK) -v wd="$$wd" \ +- '/^Zone/{print wd "/tzs.dir/" $$2}' $(TDATA) \ ++ '/^Z/{print wd "/tzs.dir/" $$2}' tzdata.zi \ + | LC_ALL=C sort` && \ + ./zdump -i -c $(TZS_YEAR) $$zones >>$@.out + sed 's,^TZ=".*tzs\.dir/,TZ=",' $@.out >$@.sed.out +@@ -542,7 +600,8 @@ + cp $(TZS_NEW) $(TZS) + + libtz.a: $(LIBOBJS) +- $(AR) ru $@ $(LIBOBJS) ++ rm -f $@ ++ $(AR) -rc $@ $(LIBOBJS) + $(RANLIB) $@ + + date: $(DATEOBJS) +@@ -560,18 +619,24 @@ + chmod +x $@.out + mv $@.out $@ + +-check: check_character_set check_white_space check_links check_sorted \ +- check_tables check_tzs check_web ++check: check_character_set check_white_space check_links \ ++ check_name_lengths check_sorted \ ++ check_tables check_web check_zishrink check_tzs + + check_character_set: $(ENCHILADA) +- LC_ALL=en_US.utf8 && export LC_ALL && \ ++ test ! '$(UTF8_LOCALE)' || \ ++ ! printf 'A\304\200B\n' | \ ++ LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \ ++ LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \ + sharp='#' && \ + ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ + $(MISC) $(SOURCES) $(WEB_PAGES) \ +- CONTRIBUTING LICENSE Makefile README version && \ ++ CONTRIBUTING LICENSE Makefile README \ ++ version tzdata.zi && \ + ! grep -Env $(SAFE_SHARP_LINE) $(TDATA) backzone \ + leapseconds yearistype.sh zone.tab && \ +- ! grep -Env $(OK_LINE) $(ENCHILADA) ++ ! grep -Env $(OK_LINE) $(ENCHILADA); \ ++ } + + check_white_space: $(ENCHILADA) + patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ +@@ -578,6 +643,13 @@ + ! grep -En "$$pat" $(ENCHILADA) + ! grep -n '[[:space:]]$$' $(ENCHILADA) + ++PRECEDES_FILE_NAME = ^(Zone|Link[[:space:]]+[^[:space:]]+)[[:space:]]+ ++FILE_NAME_COMPONENT_TOO_LONG = \ ++ $(PRECEDES_FILE_NAME)[^[:space:]]*[^/[:space:]]{15} ++ ++check_name_lengths: $(TDATA) backzone ++ ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' $(TDATA) backzone ++ + CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } + + check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab +@@ -592,6 +664,7 @@ + + check_links: checklinks.awk $(TDATA) + $(AWK) -f checklinks.awk $(TDATA) ++ $(AWK) -f checklinks.awk tzdata.zi + + check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES) + for tab in $(ZONETABLES); do \ +@@ -602,14 +675,32 @@ + check_tzs: $(TZS) $(TZS_NEW) + diff -u $(TZS) $(TZS_NEW) + +-check_web: $(WEB_PAGES) +- $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES) ++# This checks only the HTML 4.01 strict page. ++# To check the the other pages, use . ++check_web: tz-how-to.html ++ $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html + ++# Check that tzdata.zi generates the same binary data that its sources do. ++check_zishrink: tzdata.zi zic leapseconds $(PACKRATDATA) $(TDATA) ++ for type in posix right; do \ ++ mkdir -p time_t.dir/$$type time_t.dir/$$type-shrunk && \ ++ case $$type in \ ++ right) leap='-L leapseconds';; \ ++ *) leap=;; \ ++ esac && \ ++ $(ZIC) $$leap -d time_t.dir/$$type $(TDATA) && \ ++ $(AWK) '/^Rule/' $(TDATA) | \ ++ $(ZIC) $$leap -d time_t.dir/$$type - $(PACKRATDATA) && \ ++ $(ZIC) $$leap -d time_t.dir/$$type-shrunk tzdata.zi && \ ++ diff -r time_t.dir/$$type time_t.dir/$$type-shrunk || exit; \ ++ done ++ rm -fr time_t.dir ++ + clean_misc: + rm -f core *.o *.out \ + date tzselect version.h zdump zic yearistype libtz.a + clean: clean_misc +- rm -fr *.dir tzdb-*/ $(TZS_NEW) ++ rm -fr *.dir tzdata.zi tzdb-*/ $(TZS_NEW) + + maintainer-clean: clean + @echo 'This command is intended for maintainers to use; it' +@@ -663,6 +754,7 @@ + touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \ + exit; \ + done ++ touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi + touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS) + touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version + touch $@ +@@ -674,7 +766,7 @@ + $(MAKE) maintainer-clean + $(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL + mkdir -p public.dir +- for i in $(TDATA) ; do \ ++ for i in $(TDATA) tzdata.zi; do \ + $(zic) -v -d public.dir $$i 2>&1 || exit; \ + done + $(zic) -v -d public.dir $(TDATA) +@@ -768,8 +860,8 @@ + $(MAKE) clean ; \ + done + +-zonenames: $(TDATA) +- @$(AWK) '/^Zone/ { print $$2 } /^Link/ { print $$3 }' $(TDATA) ++zonenames: tzdata.zi ++ @$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi + + asctime.o: private.h tzfile.h + date.o: private.h +@@ -785,6 +877,7 @@ + .PHONY: check check_character_set check_links + .PHONY: check_public check_sorted check_tables + .PHONY: check_time_t_alternatives check_tzs check_web check_white_space ++.PHONY: check_zishrink + .PHONY: clean clean_misc force_tzs + .PHONY: install install_data maintainer-clean names + .PHONY: posix_only posix_packrat posix_right +--- contrib/tzdata/NEWS.orig ++++ contrib/tzdata/NEWS +@@ -1,5 +1,344 @@ + News for the tz database + ++Release 2017c - 2017-10-20 14:49:34 -0700 ++ ++ Briefly: ++ Northern Cyprus switches from +03 to +02/+03 on 2017-10-29. ++ Fiji ends DST 2018-01-14, not 2018-01-21. ++ Namibia switches from +01/+02 to +02 on 2018-04-01. ++ Sudan switches from +03 to +02 on 2017-11-01. ++ Tonga likely switches from +13/+14 to +13 on 2017-11-05. ++ Turks & Caicos switches from -04 to -05/-04 on 2018-11-04. ++ A new file tzdata.zi now holds a small text copy of all data. ++ The zic input format has been regularized slightly. ++ ++ Changes to future time stamps ++ ++ Northern Cyprus has decided to resume EU rules starting ++ 2017-10-29, thus reinstituting winter time. ++ ++ Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously ++ predicted. (Thanks to Dominic Fok.) Adjust future predictions ++ accordingly. ++ ++ Namibia will switch from +01 with DST to +02 all year on ++ 2017-09-03 at 02:00. This affects UT offsets starting 2018-04-01 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Sudan will switch from +03 to +02 on 2017-11-01. (Thanks to Ahmed ++ Atyya and Yahia Abdalla.) South Sudan is not switching, so ++ Africa/Juba is no longer a link to Africa/Khartoum. ++ ++ Tonga has likely ended its experiment with DST, and will not ++ adjust its clocks on 2017-11-05. Although Tonga has not announced ++ whether it will continue to observe DST, the IATA is assuming that ++ it will not. (Thanks to David Wade.) ++ ++ Turks & Caicos will switch from -04 all year to -05 with US DST on ++ 2018-03-11 at 03:00. This affects UT offsets starting 2018-11-04 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Changes to past time stamps ++ ++ Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03. ++ (Thanks to Arthur David Olson.) ++ ++ Detroit did not observe DST in 1967. ++ ++ Use railway time for Asia/Kolkata before 1941, by switching to ++ Madras local time (UT +052110) in 1870, then to IST (UT +0530) in ++ 1906. Also, treat 1941-2's +0630 as DST, like 1942-5. ++ ++ Europe/Dublin's 1946 and 1947 fallback transitions occurred at ++ 02:00 standard time, not 02:00 DST. (Thanks to Michael Deckers.) ++ ++ Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to ++ American time in 1892, not 1879. (Thanks to Michael Deckers.) ++ ++ Adjust the 1867 transition in Alaska to better reflect the ++ historical record, by changing it to occur on 1867-10-18 at 15:30 ++ Sitka time rather than at the start of 1867-10-17 local time. ++ Although strictly speaking this is accurate only for Sitka, ++ the rest of Alaska's blanks need to be filled in somehow. ++ ++ Fix off-by-one errors in UT offsets for Adak and Nome before 1867. ++ (Thanks to Michael Deckers.) ++ ++ Add 7 s to the UT offset in Asia/Yangon before 1920. ++ ++ Changes to zone names ++ ++ Remove Canada/East-Saskatchewan from the 'backward' file, as it ++ exceeded the 14-character limit and was an unused misnomer anyway. ++ ++ Changes to build procedure ++ ++ To support applications that prefer to read time zone data in text ++ form, two zic input files tzdata.zi and leapseconds are now ++ installed by default. The commands 'zic tzdata.zi' and 'zic -L ++ leapseconds tzdata.zi' can reproduce the tzdata binary files ++ without and with leap seconds, respectively. To prevent these two ++ new files from being installed, use 'make TZDATA_TEXT=', and to ++ suppress leap seconds from the tzdata text installation, use 'make ++ TZDATA_TEXT=tzdata.zi'. ++ ++ 'make BACKWARD=' now suppresses backward-compatibility names ++ like 'US/Pacific' that are defined in the 'backward' and ++ 'pacificnew' files. ++ ++ 'make check' now works on systems that lack a UTF-8 locale, ++ or that lack the nsgmls program. Set UTF8_LOCALE to configure ++ the name of a UTF-8 locale, if you have one. ++ ++ Y2K runtime checks are no longer enabled by default. Add ++ -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of ++ adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU ++ to disable them. (New name suggested by Brian Inglis.) ++ ++ The build procedure for zdump now works on AIX 7.1. ++ (Problem reported by Kees Dekker.) ++ ++ Changes to code ++ ++ zic and the reference runtime now reject multiple leap seconds ++ within 28 days of each other, or leap seconds before the Epoch. ++ As a result, support for double leap seconds, which was ++ obsolescent and undocumented, has been removed. Double leap ++ seconds were an error in the C89 standard; they have never existed ++ in civil timekeeping. (Thanks to Robert Elz and Bradley White for ++ noticing glitches in the code that uncovered this problem.) ++ ++ zic now warns about use of the obsolescent and undocumented -y ++ option, and about use of the obsolescent TYPE field of Rule lines. ++ ++ zic now allows unambiguous abbreviations like "Sa" and "Su" for ++ weekdays; formerly it rejected them due to a bug. Conversely, zic ++ no longer considers non-prefixes to be abbreviations; for example, ++ it no longer accepts "lF" as an abbreviation for "lastFriday". ++ Also, zic warns about the undocumented usage with a "last-" ++ prefix, e.g., "last-Fri". ++ ++ Similarly, zic now accepts the unambiguous abbreviation "L" for ++ "Link" in ordinary context and for "Leap" in leap-second context. ++ Conversely, zic no longer accepts non-prefixes such as "La" as ++ abbreviations for words like "Leap". ++ ++ zic no longer accepts leap second lines in ordinary input, or ++ ordinary lines in leap second input. Formerly, zic sometimes ++ warned about this undocumented usage and handled it incorrectly. ++ ++ The new macro HAVE_TZNAME governs whether the tzname external ++ variable is exported, instead of USG_COMPAT. USG_COMPAT now ++ governs only the external variables "timezone" and "daylight". ++ This change is needed because the three variables are not in the ++ same category: although POSIX requires tzname, it specifies the ++ other two variables as optional. Also, USG_COMPAT is now 1 or 0: ++ if not defined, the code attempts to guess it from other macros. ++ ++ localtime.c and difftime.c no longer require stdio.h, and .c files ++ other than zic.c no longer require sys/wait.h. ++ ++ zdump.c no longer assumes snprintf. (Reported by Jonathan Leffler.) ++ ++ Calculation of time_t extrema works around a bug in GCC 4.8.4 ++ (Reported by Stan Shebs and Joseph Myers.) ++ ++ zic.c no longer mistranslates formats of line numbers in non-English ++ locales. (Problem reported by Benno Schulenberg.) ++ ++ Several minor changes have been made to the code to make it a ++ bit easier to port to MS-Windows and Solaris. (Thanks to Kees ++ Dekker for reporting the problems.) ++ ++ Changes to documentation and commentary ++ ++ The two new files 'theory.html' and 'calendars' contain the ++ contents of the removed file 'Theory'. The goal is to document ++ tzdb theory more accessibly. ++ ++ The zic man page now documents abbreviation rules. ++ ++ tz-link.htm now covers how to apply tzdata changes to clients. ++ (Thanks to Jorge Fábregas for the AIX link.) It also mentions MySQL. ++ ++ The leap-seconds.list URL has been updated to something that is ++ more reliable for tzdb. (Thanks to Tim Parenti and Brian Inglis.) ++ ++Release 2017b - 2017-03-17 07:30:38 -0700 ++ ++ Briefly: Haiti has resumed DST. ++ ++ Changes to past and future time stamps ++ ++ Haiti resumed observance of DST in 2017. (Thanks to Steffen Thorsen.) ++ ++ Changes to past time stamps ++ ++ Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01. ++ ++ Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430" ++ is one byte over the POSIX limit. (Problem reported by Derick Rethans.) ++ ++ Changes to code ++ ++ The reference localtime implementation now falls back on the ++ current US daylight-saving transition rules rather than the ++ 1987-2006 rules. This fallback occurs only when (1) the TZ ++ environment variable's value has a name like "AST4ADT" that asks ++ for daylight saving time but does not specify the rules, (2) there ++ is no file by that name, and (3) the TZDEFRULES file cannot be ++ loaded. (Thanks to Tom Lane.) ++ ++ ++Release 2017a - 2017-02-28 00:05:36 -0800 ++ ++ Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia ++ discontinues DST. ++ ++ Changes to future time stamps ++ ++ Mongolia no longer observes DST. (Thanks to Ganbold Tsagaankhuu.) ++ ++ Chile's Region of Magallanes moves from -04/-03 to -03 year-round. ++ Its clocks diverge from America/Santiago starting 2017-05-13 at ++ 23:00, hiving off a new zone America/Punta_Arenas. Although the ++ Chilean government says this change expires in May 2019, for now ++ assume it's permanent. (Thanks to Juan Correa and Deborah ++ Goldsmith.) This also affects Antarctica/Palmer. ++ ++ Changes to past time stamps ++ ++ Fix many entries for historical time stamps for Europe/Madrid ++ before 1979, to agree with tables compiled by Pere Planesas of the ++ National Astronomical Observatory of Spain. As a side effect, ++ this changes some time stamps for Africa/Ceuta before 1929, which ++ are probably guesswork anyway. (Thanks to Steve Allen and ++ Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for ++ correcting the 1901 transition.) ++ ++ Ecuador observed DST from 1992-11-28 to 1993-02-05. ++ (Thanks to Alois Treindl.) ++ ++ Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21. ++ (Thanks to Stepan Golosunov.) ++ ++ Changes to past and future time zone abbreviations ++ ++ Switch to numeric time zone abbreviations for South America, as ++ part of the ongoing project of removing invented abbreviations. ++ This avoids the need to invent an abbreviation for the new Chilean ++ new zone. Similarly, switch from invented to numeric time zone ++ abbreviations for Afghanistan, American Samoa, the Azores, ++ Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei, ++ Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is, ++ Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland, ++ Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia, ++ the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia, ++ Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau, ++ Papua New Guinea, the Philippines, Pitcairn, Qatar, Réunion, St ++ Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore, ++ Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and ++ Xinjiang; for 20-minute daylight saving time in Ghana before 1943; ++ for half-hour daylight saving time in Belize before 1944 and in ++ the Dominican Republic before 1975; and for Canary Islands before ++ 1946, for Guinea-Bissau before 1975, for Iceland before 1969, for ++ Indian Summer Time before 1942, for Indonesia before around 1964, ++ for Kenya before 1960, for Liberia before 1973, for Madeira before ++ 1967, for Namibia before 1943, for the Netherlands in 1937-9, for ++ Pakistan before 1971, for Western Sahara before 1977, and for ++ Zaporozhye in 1880-1924. ++ ++ For Alaska time from 1900 through 1967, instead of "CAT" use the ++ abbreviation "AST", the abbreviation commonly used at the time ++ (Atlantic Standard Time had not been standardized yet). Use "AWT" ++ and "APT" instead of the invented abbreviations "CAWT" and "CAPT". ++ ++ Use "CST" and "CDT" instead of invented abbreviations for Macau ++ before 1999 and Taiwan before 1938, and use "JST" instead of the ++ invented abbreviation "JCST" for Japan and Korea before 1938. ++ ++ Change to database entry category ++ ++ Move the Pacific/Johnston link from 'australasia' to 'backward', ++ since Johnston is now uninhabited. ++ ++ Changes to code ++ ++ zic no longer mishandles some transitions in January 2038 when it ++ attempts to work around Qt bug 53071. This fixes a bug affecting ++ Pacific/Tongatapu that was introduced in zic 2016e. localtime.c ++ now contains a workaround, useful when loading a file generated by ++ a buggy zic. (Problem and localtime.c fix reported by Bradley ++ White.) ++ ++ zdump -i now outputs non-hour numeric time zone abbreviations ++ without a colon, e.g., "+0530" rather than "+05:30". This agrees ++ with zic %z and with common practice, and simplifies auditing of ++ zdump output. ++ ++ zdump is now buildable again with -DUSE_LTZ=0. ++ (Problem reported by Joseph Myers.) ++ ++ zdump.c now always includes private.h, to avoid code duplication ++ with private.h. (Problem reported by Kees Dekker.) ++ ++ localtime.c no longer mishandles early or late timestamps ++ when TZ is set to a POSIX-style string that specifies DST. ++ (Problem reported by Kees Dekker.) ++ ++ date and strftime now cause %z to generate "-0000" instead of ++ "+0000" when the UT offset is zero and the time zone abbreviation ++ begins with "-". ++ ++ Changes to documentation and commentary ++ ++ The 'Theory' file now better documents choice of historical time ++ zone abbreviations. (Problems reported by Michael Deckers.) ++ ++ tz-link.htm now covers leap smearing, which is popular in clouds. ++ ++ ++Release 2016j - 2016-11-22 23:17:13 -0800 ++ ++ Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04. ++ ++ Changes to future time stamps ++ ++ Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00. ++ This hives off a new zone Europe/Saratov from Europe/Volgograd. ++ (Thanks to Yuri Konotopov and Stepan Golosunov.) ++ ++ Changes to past time stamps ++ ++ The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like ++ Asia/Aqtau except it switched from +05/+06 to +04/+05 in spring ++ 1999, not fall 1994. (Thanks to Stepan Golosunov.) ++ ++ Changes to past time zone abbreviations ++ ++ Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote ++ summer time before 1948. The old use of "EET" was a typo. ++ ++ Changes to code ++ ++ zic no longer mishandles file systems that lack hard links, fixing ++ bugs introduced in 2016g. (Problems reported by Tom Lane.) ++ Also, when the destination already contains symbolic links, zic ++ should now work better on systems where the 'link' system call ++ does not follow symbolic links. ++ ++ Changes to documentation and commentary ++ ++ tz-link.htm now documents the relationship between release version ++ numbers and development-repository commit tags. (Suggested by ++ Paul Koning.) ++ ++ The 'Theory' file now documents UT. ++ ++ iso3166.tab now accents "Curaçao", and commentary now mentions ++ the names "Cabo Verde" and "Czechia". (Thanks to Jiří Boháč.) ++ ++ + Release 2016i - 2016-11-01 23:19:52 -0700 + + Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga +@@ -212,7 +551,7 @@ + 23 commits and some working-file changes have been made since + release 2016g, the version number is now something like + '2016g-23-g50556e3-dirty' instead of the misleading '2016g'. +- Official releases uses the same version number format as before, ++ Tagged releases use the same version number format as before, + e.g., '2016g'. To support the more-accurate version number, its + specification has moved from a line in the Makefile to a new + source file 'version'. +@@ -870,9 +1209,9 @@ + been fixed. (Thanks to Christos Zoulas for reporting most of + these problems and for suggesting fixes.) + +- If USG_COMPAT is defined and the requested time stamp is standard time, ++ If USG_COMPAT is defined and the requested timestamp is standard time, + the tz library's localtime and mktime functions now set the extern +- variable timezone to a value appropriate for that time stamp; and ++ variable timezone to a value appropriate for that timestamp; and + similarly for ALTZONE, daylight saving time, and the altzone variable. + This change is a companion to the tzname change in 2014h, and is + designed to make timezone and altzone more compatible with tzname. +@@ -879,7 +1218,7 @@ + + The tz library's functions now set errno to EOVERFLOW if they fail + because the result cannot be represented. ctime and ctime_r now +- return NULL and set errno when a time stamp is out of range, rather ++ return NULL and set errno when a timestamp is out of range, rather + than having undefined behavior. + + Some bugs associated with the new 2014g functions have been fixed. +@@ -896,7 +1235,7 @@ + + Release 2014h - 2014-09-25 18:59:03 -0700 + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28. + +@@ -904,8 +1243,8 @@ + not 1920-01-06. The old entry was based on a misinterpretation of Shanks. + + Some more zones have been turned into links, when they differed +- from existing zones only for older time stamps. As usual, +- these changes affect UTC offsets in pre-1970 time stamps only. ++ from existing zones only for older timestamps. As usual, ++ these changes affect UTC offsets in pre-1970 timestamps only. + Their old contents have been moved to the 'backzone' file. + The affected zones are: Africa/Blantyre, Africa/Bujumbura, + Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi, +@@ -917,7 +1256,7 @@ + not merely on platforms defining TM_GMTOFF. + + The tz library's localtime and mktime functions now set tzname to a value +- appropriate for the requested time stamp, and zdump now uses this ++ appropriate for the requested timestamp, and zdump now uses this + on platforms not defining TM_ZONE, fixing a 2014g regression. + (Thanks to Tim Parenti for reporting the problem.) + +@@ -957,13 +1296,13 @@ + + Release 2014g - 2014-08-28 12:31:23 -0700 + +- Changes affecting future time stamps ++ Changes affecting future timestamps + + Turks & Caicos is switching from US eastern time to UT -04 + year-round, modeled as a switch on 2014-11-02 at 02:00. + [As noted in 2014j, this switch was later delayed.] + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + Time in Russia or the USSR before 1926 or so has been corrected by + a few seconds in the following zones: Asia/Irkutsk, +@@ -973,7 +1312,7 @@ + Vladimir Karpinsky.) + + The Portuguese decree of 1911-05-26 took effect on 1912-01-01. +- This affects 1911 time stamps in Africa/Bissau, Africa/Luanda, ++ This affects 1911 timestamps in Africa/Bissau, Africa/Luanda, + Atlantic/Azores, and Atlantic/Madeira. Also, Lisbon's pre-1912 + GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32. + (Thanks to Stephen Colebourne for pointing to the decree.) +@@ -981,7 +1320,7 @@ + Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59. + + A new file 'backzone' contains data which may appeal to +- connoisseurs of old time stamps, although it is out of scope for ++ connoisseurs of old timestamps, although it is out of scope for + the tz database, is often poorly sourced, and contains some data + that is known to be incorrect. The new file is not recommended + for ordinary use and its entries are not installed by default. +@@ -989,8 +1328,8 @@ + Isle of Man entries.) + + Some more zones have been turned into links, when they differed +- from existing zones only for older time stamps. As usual, +- these changes affect UTC offsets in pre-1970 time stamps only. ++ from existing zones only for older timestamps. As usual, ++ these changes affect UTC offsets in pre-1970 timestamps only. + Their old contents have been moved to the 'backzone' file. + The affected zones are: Africa/Bangui, Africa/Brazzaville, + Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda, +@@ -1041,7 +1380,7 @@ + but does not cause other problems such as traps. + + If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now +- more likely to guess right for ambiguous time stamps near ++ more likely to guess right for ambiguous timestamps near + transitions where tm_isdst does not change. + + If HAVE_STRFTIME_L is defined to 1, the tz library now defines +@@ -1114,7 +1453,7 @@ + + Release 2014f - 2014-08-05 17:42:36 -0700 + +- Changes affecting future time stamps ++ Changes affecting future timestamps + + Russia will subtract an hour from most of its time zones on 2014-10-26 + at 02:00 local time. (Thanks to Alexander Krivenyshev.) +@@ -1165,13 +1504,13 @@ + These abbreviations are now used for time in Korea, Taiwan, + and Sakhalin while controlled by Japan. + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + China's five zones have been simplified to two, since the post-1970 + differences in the other three seem to have been imaginary. The + zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been + removed; backwards-compatibility links still work, albeit with +- different behaviors for time stamps before May 1980. Asia/Urumqi's ++ different behaviors for timestamps before May 1980. Asia/Urumqi's + 1980 transition to UT +08 has been removed, so that it is now at + +06 and not +08. (Thanks to Luther Ma and to Alois Treindl; + Treindl sent helpful translations of two papers by Guo Qingsheng.) +@@ -1178,7 +1517,7 @@ + + Some zones have been turned into links, when they differed from existing + zones only for older UTC offsets where data entries were likely invented. +- These changes affect UTC offsets in pre-1970 time stamps only. This is ++ These changes affect UTC offsets in pre-1970 timestamps only. This is + similar to the change in release 2013e, except this time for western + Africa. The affected zones are: Africa/Bamako, Africa/Banjul, + Africa/Conakry, Africa/Dakar, Africa/Freetown, Africa/Lome, +@@ -1323,7 +1662,7 @@ + + Release 2014e - 2014-06-12 21:53:52 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00. + (Thanks to Imed Chihi.) Guess that from 2015 on Egypt will temporarily +@@ -1335,7 +1674,7 @@ + temporarily switch to standard time at 03:00 the last Saturday before + Ramadan, and back to DST at 02:00 the first Saturday after Ramadan. + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of + "MSD" for Moscow's double daylight time in summer 1921. Also, a typo +@@ -1353,7 +1692,7 @@ + + Changes affecting code + +- zic no longer generates files containing time stamps before the Big Bang. ++ zic no longer generates files containing timestamps before the Big Bang. + This works around GNOME bug 730332 + . + (Thanks to Leonardo Chiquitto for reporting the bug, and to +@@ -1366,7 +1705,7 @@ + + Release 2014c - 2014-05-13 07:44:13 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Egypt observes DST starting 2014-05-15 at 24:00. + (Thanks to Ahmad El-Dardiry and Gunther Vermier.) +@@ -1380,7 +1719,7 @@ + Changes affecting code + + zic now generates transitions for minimum time values, eliminating guesswork +- when handling low-valued time stamps. (Thanks to Arthur David Olson.) ++ when handling low-valued timestamps. (Thanks to Arthur David Olson.) + + Port to Cygwin sans glibc. (Thanks to Arthur David Olson.) + +@@ -1391,7 +1730,7 @@ + + Release 2014b - 2014-03-24 21:28:50 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Crimea switches to Moscow time on 2014-03-30 at 02:00 local time. + (Thanks to Alexander Krivenyshev.) Move its zone.tab entry from UA to RU. +@@ -1430,12 +1769,12 @@ + + Release 2014a - 2014-03-07 23:30:29 -0800 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Turkey begins DST on 2014-03-31, not 03-30. (Thanks to Faruk Pasin for + the heads-up, and to Tim Parenti for simplifying the update.) + +- Changes affecting past time stamps ++ Changes affecting past timestamps + + Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled 03:00. + (Thanks to Steffen Thorsen.) +@@ -1499,13 +1838,13 @@ + + Release 2013i - 2013-12-17 07:25:23 -0800 + +- Changes affecting near-future time stamps: ++ Changes affecting near-future timestamps: + + Jordan switches back to standard time at 00:00 on December 20, 2013. + The 2006-2011 transition schedule is planned to resume in 2014. + (Thanks to Steffen Thorsen.) + +- Changes affecting past time stamps: ++ Changes affecting past timestamps: + + In 2004, Cuba began DST on March 28, not April 4. + (Thanks to Steffen Thorsen.) +@@ -1529,7 +1868,7 @@ + + Release 2013h - 2013-10-25 15:32:32 -0700 + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Libya has switched its UT offset back to +02 without DST, instead + of +01 with DST. (Thanks to Even Scharning.) +@@ -1537,7 +1876,7 @@ + Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules. + (Thanks to Gwillim Law.) + +- Changes affecting future time stamps: ++ Changes affecting future timestamps: + + Acre and (we guess) western Amazonas will switch from UT -04 to -05 + on 2013-11-10. This affects America/Rio_Branco and America/Eirunepe. +@@ -1588,7 +1927,7 @@ + + Release 2013g - 2013-09-30 21:08:26 -0700 + +- Changes affecting current and near-future time stamps ++ Changes affecting current and near-future timestamps + + Morocco now observes DST from the last Sunday in March to the last + Sunday in October, not April to September respectively. (Thanks +@@ -1621,7 +1960,7 @@ + + Release 2013f - 2013-09-24 23:37:36 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + Tocantins will very likely not observe DST starting this spring. + (Thanks to Steffen Thorsen.) +@@ -1668,7 +2007,7 @@ + + Release 2013e - 2013-09-19 23:50:04 -0700 + +- Changes affecting near-future time stamps ++ Changes affecting near-future timestamps + + This year Fiji will start DST on October 27, not October 20. + (Thanks to David Wheeler for the heads-up.) For now, guess that +@@ -1686,13 +2025,13 @@ + Use ART (UT -03, standard time), rather than WARST (also -03, but + daylight saving time) for San Luis, Argentina since 2009. + +- Changes affecting Godthåb time stamps after 2037 if version mismatch ++ Changes affecting Godthåb timestamps after 2037 if version mismatch + + Allow POSIX-like TZ strings where the transition time's hour can + range from -167 through 167, instead of the POSIX-required 0 + through 24. E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the + new Fiji rules. This is a more-compact way to represent +- far-future time stamps for America/Godthab, America/Santiago, ++ far-future timestamps for America/Godthab, America/Santiago, + Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem, + Pacific/Easter, and Pacific/Fiji. Other zones are unaffected by + this change. (Derived from a suggestion by Arthur David Olson.) +@@ -1710,12 +2049,12 @@ + embedded TZ-format string, and the tz file format version number + has therefore been increased from 2 to 3 as a precaution. + Version-2-based client code should continue to work as before for +- all time stamps before 2038. Existing version-2-based client code ++ all timestamps before 2038. Existing version-2-based client code + (tzcode, GNU/Linux, Solaris) has been tested on version-3-format +- files, and typically works in practice even for time stamps after ++ files, and typically works in practice even for timestamps after + 2037; the only known exception is America/Godthab. + +- Changes affecting time stamps before 1970 ++ Changes affecting timestamps before 1970 + + Pacific/Johnston is now a link to Pacific/Honolulu. This corrects + some errors before 1947. +@@ -1723,7 +2062,7 @@ + Some zones have been turned into links, when they differ from existing + zones only in older data entries that were likely invented or that + differ only in LMT or transitions from LMT. These changes affect +- only time stamps before 1943. The affected zones are: ++ only timestamps before 1943. The affected zones are: + Africa/Juba, America/Anguilla, America/Aruba, America/Dominica, + America/Grenada, America/Guadeloupe, America/Marigot, + America/Montserrat, America/St_Barthelemy, America/St_Kitts, +@@ -1733,11 +2072,11 @@ + link is better for WWII-era times.) + + Change Kingston Mean Time from -5:07:12 to -5:07:11. This affects +- America/Cayman, America/Jamaica and America/Grand_Turk time stamps ++ America/Cayman, America/Jamaica and America/Grand_Turk timestamps + from 1890 to 1912. + + Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46. +- This affects Europe/Zurich time stamps from 1853 to 1894. (Thanks ++ This affects Europe/Zurich timestamps from 1853 to 1894. (Thanks + to Alois Treindl). + + Change the date of the circa-1850 Zurich transition from 1849-09-12 +@@ -1755,7 +2094,7 @@ + data can't be summarized using a TZ string, and uses a 402-year + window rather than a 400-year window. For the current data, this + affects only the Asia/Tehran file. It does not affect any of the +- time stamps that this file represents, so zdump outputs the same ++ timestamps that this file represents, so zdump outputs the same + information as before. (Thanks to Andrew Main (Zefram).) + + The 'date' command has a new '-r' option, which lets you specify +@@ -1787,7 +2126,7 @@ + Changes affecting the zdump utility + + zdump now outputs "UT" when referring to Universal Time, not "UTC". +- "UTC" does not make sense for time stamps that predate the introduction ++ "UTC" does not make sense for timestamps that predate the introduction + of UTC, whereas "UT", a more-generic term, does. (Thanks to Steve Allen + for clarifying UT vs UTC.) + +@@ -1798,7 +2137,7 @@ + + Remove from zone.tab the names America/Montreal, America/Shiprock, + and Antarctica/South_Pole, as they are equivalent to existing +- same-country-code zones for post-1970 time stamps. The data entries for ++ same-country-code zones for post-1970 timestamps. The data entries for + these names are unchanged, so the names continue to work as before. + + Changes affecting code internals +@@ -1816,7 +2155,7 @@ + + The 'leapseconds' file is now generated automatically from a + new file 'leap-seconds.list', which is a copy of +- . ++ + A new source file 'leapseconds.awk' implements this. + The goal is simplification of the future maintenance of 'leapseconds'. + +@@ -1858,7 +2197,7 @@ + + There is a new section about the accuracy of the tz database, + describing the many ways that errors can creep in, and +- explaining why so many of the pre-1970 time stamps are wrong or ++ explaining why so many of the pre-1970 timestamps are wrong or + misleading (thanks to Steve Allen, Lester Caine, and Garrett + Wollman for discussions that contributed to this). + +@@ -1893,7 +2232,7 @@ + + Release 2013d - 2013-07-05 07:38:01 -0700 + +- Changes affecting future time stamps: ++ Changes affecting future timestamps: + + Morocco's midsummer transitions this year are July 7 and August 10, + not July 9 and August 8. (Thanks to Andrew Paprocki.) +@@ -1901,7 +2240,7 @@ + Israel now falls back on the last Sunday of October. + (Thanks to Ephraim Silverberg.) + +- Changes affecting past time stamps: ++ Changes affecting past timestamps: + + Specify Jerusalem's location more precisely; this changes the pre-1880 + times by 2 s. +@@ -1939,7 +2278,7 @@ + + Release 2013c - 2013-04-19 16:17:40 -0700 + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Palestine observed DST starting March 29, 2013. (Thanks to + Steffen Thorsen.) From 2013 on, Gaza and Hebron both observe DST, +@@ -1950,7 +2289,7 @@ + by moving the end of DST to the 4th Sunday in March every year. + (Thanks to Carlos Raúl Perasso.) + +- Changes affecting past time stamps: ++ Changes affecting past timestamps: + + Fix some historical data for Palestine to agree with that of + timeanddate.com, as follows: +@@ -1984,10 +2323,10 @@ + + Release 2013b - 2013-03-10 22:33:40 -0700 + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Haiti uses US daylight-saving rules this year, and presumably future years. +- This changes time stamps starting today. (Thanks to Steffen Thorsen.) ++ This changes timestamps starting today. (Thanks to Steffen Thorsen.) + + Paraguay will end DST on March 24 this year. + (Thanks to Steffen Thorsen.) For now, assume it's just this year. +@@ -2011,7 +2350,7 @@ + The zone offset at the end of version-2-format zone files is now + allowed to be 24:00, as per POSIX.1-2008. (Thanks to Arthur David Olson.) + +- Changes affecting current and future time stamps: ++ Changes affecting current and future timestamps: + + Chile's 2013 rules, and we guess rules for 2014 and later, will be + the same as 2012, namely Apr Sun>=23 03:00 UTC to Sep Sun>=2 04:00 UTC. +@@ -2020,9 +2359,9 @@ + New Zones Asia/Khandyga, Asia/Ust-Nera, Europe/Busingen. + (Thanks to Tobias Conradi and Arthur David Olson.) + +- Many changes affect historical time stamps before 1940. ++ Many changes affect historical timestamps before 1940. + These were deduced from: Milne J. Civil time. Geogr J. 1899 +- Feb;13(2):173-94 . ++ Feb;13(2):173-94 . + + Changes affecting the code: + +@@ -2152,7 +2491,7 @@ + + Release code2012c-data2012d - 2012-07-19 16:35:33 -0700 + +- Changes for Morocco's time stamps, which take effect in a couple of ++ Changes for Morocco's timestamps, which take effect in a couple of + hours, along with infrastructure changes to accommodate how the tz + code and data are released on IANA. + +@@ -2296,12 +2635,12 @@ + + Release 2011d - 2011-03-14 09:18:01 -0400 + +- changes that impact present-day time stamps in Cuba, Samoa, and Turkey ++ changes that impact present-day timestamps in Cuba, Samoa, and Turkey + + + Release 2011c - 2011-03-07 09:30:09 -0500 + +- These do affect current time stamps in Chile and Annette Island, Canada. ++ These do affect current timestamps in Chile and Annette Island, Canada. + + + Release 2011b - 2011-02-07 08:44:50 -0500 +@@ -3766,7 +4105,7 @@ + numbers. Recent releases also come in an experimental format + consisting of a single tarball tzdb-R.tar.lz with extra data. + +-Release time stamps are taken from the release's commit (for newer, ++Release timestamps are taken from the release's commit (for newer, + Git-based releases), from the newest file in the tarball (for older + releases, where this info is available) or from the email announcing + the release (if all else fails; these are marked with a time zone of +--- contrib/tzdata/README.orig ++++ contrib/tzdata/README +@@ -10,24 +10,9 @@ + changes made by political bodies to time zone boundaries, UTC offsets, + and daylight-saving rules. + +-Here is a recipe for acquiring, building, installing, and testing the +-tz distribution on a GNU/Linux or similar host. +- +-To acquire the distribution, run the following shell commands: +- +- mkdir tz +- cd tz +- wget --retr-symlinks 'ftp://ftp.iana.org/tz/tz*-latest.tar.gz' +- gzip -dc tzcode-latest.tar.gz | tar -xf - +- gzip -dc tzdata-latest.tar.gz | tar -xf - +- +-Alternatively, the following shell commands acquire the same +-distribution, with extra data useful for regression testing: +- +- wget --retr-symlinks 'ftp://ftp.iana.org/tz/tzdb-latest.tar.lz' +- lzip -dc tzdb-latest.tar.lz | tar -xf - +- +-Be sure to read the comments in "Makefile" and make any changes needed ++See or the ++file tz-link.htm for how to acquire the code and data. Once acquired, ++read the comments in the file 'Makefile' and make any changes needed + to make things right for your system, especially if you are using some + platform other than GNU/Linux. Then run the following commands, + substituting your desired installation directory for "$HOME/tzdir": +@@ -60,10 +45,6 @@ + maintainer, to whom the time zone community owes the greatest debt of all. + None of them are responsible for remaining errors. + +-Look in for updated versions of these files. +- +-Please send comments or information to tz@iana.org. +- + ----- + + This file is in the public domain, so clarified as of 2009-05-17 by +--- contrib/tzdata/Theory.orig ++++ contrib/tzdata/Theory +@@ -1,840 +0,0 @@ +-Theory and pragmatics of the tz code and data +- +- +------ Outline ----- +- +- Scope of the tz database +- Names of time zone rules +- Time zone abbreviations +- Accuracy of the tz database +- Time and date functions +- Calendrical issues +- Time and time zones on Mars +- +- +------ Scope of the tz database ----- +- +-The tz database attempts to record the history and predicted future of +-all computer-based clocks that track civil time. To represent this +-data, the world is partitioned into regions whose clocks all agree +-about time stamps that occur after the somewhat-arbitrary cutoff point +-of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, +-the database records all known clock transitions, and labels the region +-with a notable 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. +- +-Clock transitions before 1970 are recorded for each such location, +-because most systems support time stamps 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 +-applications requiring accurate handling of all past times everywhere, +-as it would take far too much effort and guesswork to record all +-details of pre-1970 civil timekeeping. +- +-As described below, reference source code for using the tz database is +-also available. The tz code is upwards compatible with POSIX, an +-international standard for UNIX-like systems. As of this writing, the +-current edition of POSIX is: +- +- The Open Group Base Specifications Issue 7 +- IEEE Std 1003.1, 2013 Edition +- +- +- +- +------ Names of time zone rules ----- +- +-Each of the database's time zone rules has a unique name. +-Inexperienced users are not expected to select these names unaided. +-Distributors should provide documentation and/or a simple selection +-interface that explains the names; for one example, see the 'tzselect' +-program in the tz code. The Unicode Common Locale Data Repository +- contains data that may be useful for other +-selection interfaces. +- +-The time zone rule naming conventions attempt to strike a balance +-among the following goals: +- +- * Uniquely identify every region where clocks have agreed since 1970. +- This is essential for the intended use: static clocks keeping local +- civil time. +- +- * Indicate to experts where that region is. +- +- * Be robust in the presence of political changes. For example, names +- of countries are ordinarily not used, to avoid incompatibilities +- when countries change their name (e.g. Zaire->Congo) or when +- locations change countries (e.g. Hong Kong from UK colony to +- China). +- +- * Be portable to a wide variety of implementations. +- +- * Use a consistent naming conventions over the entire world. +- +-Names normally have the form AREA/LOCATION, where AREA is the name +-of a continent or ocean, and LOCATION is the name of a specific +-location within that region. North and South America share the same +-area, 'America'. Typical names are 'Africa/Cairo', 'America/New_York', +-and 'Pacific/Honolulu'. +- +-Here are the general rules used for choosing location names, +-in decreasing order of importance: +- +- Use only valid POSIX file name components (i.e., the parts of +- names other than '/'). Do not use the file name +- components '.' and '..'. Within a file name component, +- use only ASCII letters, '.', '-' and '_'. Do not use +- digits, as that might create an ambiguity with POSIX +- TZ strings. A file name component must not exceed 14 +- characters or start with '-'. E.g., prefer 'Brunei' +- to 'Bandar_Seri_Begawan'. Exceptions: see the discussion +- of legacy names below. +- A name must not be empty, or contain '//', or start or end with '/'. +- Do not use names that differ only in case. Although the reference +- implementation is case-sensitive, some other implementations +- are not, and they would mishandle names differing only in case. +- If one name A is an initial prefix of another name AB (ignoring case), +- then B must not start with '/', as a regular file cannot have +- the same name as a directory in POSIX. For example, +- 'America/New_York' precludes 'America/New_York/Bronx'. +- Uninhabited regions like the North Pole and Bouvet Island +- do not need locations, since local time is not defined there. +- There should typically be at least one name for each ISO 3166-1 +- officially assigned two-letter code for an inhabited country +- or territory. +- If all the clocks in a region have agreed since 1970, +- don't bother to include more than one location +- even if subregions' clocks disagreed before 1970. +- Otherwise these tables would become annoyingly large. +- If a name is ambiguous, use a less ambiguous alternative; +- e.g. many cities are named San José and Georgetown, so +- prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. +- Keep locations compact. Use cities or small islands, not countries +- or regions, so that any future time zone changes do not split +- locations into different time zones. E.g. prefer 'Paris' +- to 'France', since France has had multiple time zones. +- Use mainstream English spelling, e.g. prefer 'Rome' to 'Roma', and +- prefer 'Athens' to the Greek 'Αθήνα' or the Romanized 'Athína'. +- The POSIX file name restrictions encourage this rule. +- Use the most populous among locations in a zone, +- e.g. prefer 'Shanghai' to 'Beijing'. Among locations with +- similar populations, pick the best-known location, +- e.g. prefer 'Rome' to 'Milan'. +- Use the singular form, e.g. prefer 'Canary' to 'Canaries'. +- Omit common suffixes like '_Islands' and '_City', unless that +- would lead to ambiguity. E.g. prefer 'Cayman' to +- 'Cayman_Islands' and 'Guatemala' to 'Guatemala_City', +- but prefer 'Mexico_City' to 'Mexico' because the country +- of Mexico has several time zones. +- Use '_' to represent a space. +- Omit '.' from abbreviations in names, e.g. prefer 'St_Helena' +- to 'St._Helena'. +- Do not change established names if they only marginally +- violate the above rules. For example, don't change +- the existing name 'Rome' to 'Milan' merely because +- Milan's population has grown to be somewhat greater +- than Rome's. +- If a name is changed, put its old spelling in the 'backward' file. +- This means old spellings will continue to work. +- +-The file 'zone1970.tab' lists geographical locations used to name time +-zone rules. It is intended to be an exhaustive list of names for +-geographic regions as described above; this is a subset of the names +-in the data. Although a 'zone1970.tab' location's longitude +-corresponds to its LMT offset with one hour for every 15 degrees east +-longitude, this relationship is not exact. +- +-Older versions of this package used a different naming scheme, +-and these older names are still supported. +-See the file 'backward' for most of these older names +-(e.g., 'US/Eastern' instead of 'America/New_York'). +-The other old-fashioned names still supported are +-'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). +- +-Older versions of this package defined legacy names that are +-incompatible with the first rule of location names, but which are +-still supported. These legacy names are mostly defined in the file +-'etcetera'. Also, the file 'backward' defines the legacy names +-'GMT0', 'GMT-0', 'GMT+0' and 'Canada/East-Saskatchewan', and the file +-'northamerica' defines the legacy names 'EST5EDT', 'CST6CDT', +-'MST7MDT', and 'PST8PDT'. +- +-Excluding 'backward' should not affect the other data. If +-'backward' is excluded, excluding 'etcetera' should not affect the +-remaining data. +- +- +------ Time zone abbreviations ----- +- +-When this package is installed, it generates time zone abbreviations +-like 'EST' to be compatible with human tradition and POSIX. +-Here are the general rules used for choosing time zone abbreviations, +-in decreasing order of importance: +- +- Use three or more characters that are ASCII alphanumerics or '+' or '-'. +- Previous editions of this database also used characters like +- ' ' and '?', but these characters have a special meaning to +- the shell and cause commands like +- set `date` +- to have unexpected effects. +- Previous editions of this rule required upper-case letters, +- but the Congressman who introduced Chamorro Standard Time +- preferred "ChST", so lower-case letters are now allowed. +- Also, POSIX from 2001 on relaxed the rule to allow '-', '+', +- and alphanumeric characters from the portable character set +- in the current locale. In practice ASCII alphanumerics and +- '+' and '-' are safe in all locales. +- +- In other words, in the C locale the POSIX extended regular +- expression [-+[:alnum:]]{3,} should match the abbreviation. +- This guarantees that all abbreviations could have been +- specified by a POSIX TZ string. +- +- Use abbreviations that are in common use among English-speakers, +- e.g. 'EST' for Eastern Standard Time in North America. +- We assume that applications translate them to other languages +- as part of the normal localization process; for example, +- a French application might translate 'EST' to 'HNE'. +- +- For zones whose times are taken from a city's longitude, use the +- traditional xMT notation, e.g. 'PMT' for Paris Mean Time. +- The only name like this in current use is 'GMT'. +- +- Use 'LMT' for local mean time of locations before the introduction +- of standard time; see "Scope of the tz database". +- +- If there is no common English abbreviation, use numeric offsets like +- -05 and +0830 that are generated by zic's %z notation. +- +- [The remaining guidelines predate the introduction of %z. +- They are problematic as they mean tz data entries invent +- notation rather than record it. These guidelines are now +- deprecated and the plan is to gradually move to %z for +- inhabited locations and to "-00" for uninhabited locations.] +- +- If there is no common English abbreviation, abbreviate the English +- translation of the usual phrase used by native speakers. +- If this is not available or is a phrase mentioning the country +- (e.g. "Cape Verde Time"), then: +- +- When a country is identified with a single or principal zone, +- append 'T' to the country's ISO code, e.g. 'CVT' for +- Cape Verde Time. For summer time append 'ST'; +- for double summer time append 'DST'; etc. +- Otherwise, take the first three letters of an English place +- name identifying each zone and append 'T', 'ST', etc. +- as before; e.g. 'VLAST' for VLAdivostok Summer Time. +- +- Use UT (with time zone abbreviation '-00') for locations while +- uninhabited. The leading '-' is a flag that the time +- zone is in some sense undefined; this notation is +- derived from Internet RFC 3339. +- +-Application writers should note that these abbreviations are ambiguous +-in practice: e.g. 'CST' has a different meaning in China than +-it does in the United States. In new applications, it's often better +-to use numeric UT offsets like '-0600' instead of time zone +-abbreviations like 'CST'; this avoids the ambiguity. +- +- +------ Accuracy of the tz database ----- +- +-The tz database is not authoritative, and it surely has errors. +-Corrections are welcome and encouraged; see the file CONTRIBUTING. +-Users requiring authoritative data should consult national standards +-bodies and the references cited in the database's comments. +- +-Errors in the tz database arise from many sources: +- +- * The tz database predicts future time stamps, and current predictions +- will be incorrect after future governments change the rules. +- For example, if today someone schedules a meeting for 13:00 next +- October 1, Casablanca time, and tomorrow Morocco changes its +- daylight saving rules, software can mess up after the rule change +- if it blithely relies on conversions made before the change. +- +- * The pre-1970 entries in this database cover only a tiny sliver of how +- clocks actually behaved; the vast majority of the necessary +- information was lost or never recorded. Thousands more zones would +- be needed if the tz database's scope were extended to cover even +- just the known or guessed history of standard time; for example, +- the current single entry for France would need to split into dozens +- of entries, perhaps hundreds. And in most of the world even this +- approach would be misleading due to widespread disagreement or +- indifference about what times should be observed. In her 2015 book +- "The Global Transformation of Time, 1870-1950", Vanessa Ogle writes +- "Outside of Europe and North America there was no system of time +- zones at all, often not even a stable landscape of mean times, +- prior to the middle decades of the twentieth century". See: +- Timothy Shenk, Booked: A Global History of Time. Dissent 2015-12-17 +- https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle +- +- * Most of the pre-1970 data entries come from unreliable sources, often +- astrology books that lack citations and whose compilers evidently +- invented entries when the true facts were unknown, without +- reporting which entries were known and which were invented. +- These books often contradict each other or give implausible entries, +- and on the rare occasions when they are checked they are +- typically found to be incorrect. +- +- * For the UK the tz database relies on years of first-class work done by +- Joseph Myers and others; see . +- Other countries are not done nearly as well. +- +- * Sometimes, different people in the same city would maintain clocks +- that differed significantly. Railway time was used by railroad +- companies (which did not always agree with each other), +- church-clock time was used for birth certificates, etc. +- Often this was merely common practice, but sometimes it was set by law. +- For example, from 1891 to 1911 the UT offset in France was legally +- 0:09:21 outside train stations and 0:04:21 inside. +- +- * Although a named location in the tz database stands for the +- containing region, its pre-1970 data entries are often accurate for +- only a small subset of that region. For example, Europe/London +- stands for the United Kingdom, but its pre-1847 times are valid +- only for locations that have London's exact meridian, and its 1847 +- transition to GMT is known to be valid only for the L&NW and the +- Caledonian railways. +- +- * The tz database does not record the earliest time for which a zone's +- data entries are thereafter valid for every location in the region. +- For example, Europe/London is valid for all locations in its +- region after GMT was made the standard time, but the date of +- standardization (1880-08-02) is not in the tz database, other than +- in commentary. For many zones the earliest time of validity is +- unknown. +- +- * The tz database does not record a region's boundaries, and in many +- cases the boundaries are not known. For example, the zone +- America/Kentucky/Louisville represents a region around the city of +- Louisville, the boundaries of which are unclear. +- +- * Changes that are modeled as instantaneous transitions in the tz +- database were often spread out over hours, days, or even decades. +- +- * Even if the time is specified by law, locations sometimes +- deliberately flout the law. +- +- * Early timekeeping practices, even assuming perfect clocks, were +- often not specified to the accuracy that the tz database requires. +- +- * Sometimes historical timekeeping was specified more precisely +- than what the tz database can handle. For example, from 1909 to +- 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz +- database cannot represent the fractional second. +- +- * Even when all the timestamp transitions recorded by the tz database +- are correct, the tz rules that generate them may not faithfully +- reflect the historical rules. For example, from 1922 until World +- War II the UK moved clocks forward the day following the third +- Saturday in April unless that was Easter, in which case it moved +- clocks forward the previous Sunday. Because the tz database has no +- way to specify Easter, these exceptional years are entered as +- separate tz Rule lines, even though the legal rules did not change. +- +- * The tz database models pre-standard time using the proleptic Gregorian +- calendar and local mean time (LMT), but many people used other +- calendars and other timescales. For example, the Roman Empire used +- the Julian calendar, and had 12 varying-length daytime hours with a +- non-hour-based system at night. +- +- * Early clocks were less reliable, and data entries do not represent +- this unreliability. +- +- * As for leap seconds, civil time was not based on atomic time before +- 1972, and we don't know the history of earth's rotation accurately +- enough to map SI seconds to historical solar time to more than +- about one-hour accuracy. See: Morrison LV, Stephenson FR. +- Historical values of the Earth's clock error Delta T and the +- calculation of eclipses. J Hist Astron. 2004;35:327-36 +- ; +- Historical values of the Earth's clock error. J Hist Astron. 2005;36:339 +- . +- +- * The relationship between POSIX time (that is, UTC but ignoring leap +- seconds) and UTC is not agreed upon after 1972. Although the POSIX +- clock officially stops during an inserted leap second, at least one +- proposed standard has it jumping back a second instead; and in +- practice POSIX clocks more typically either progress glacially during +- a leap second, or are slightly slowed while near a leap second. +- +- * The tz database does not represent how uncertain its information is. +- Ideally it would contain information about when data entries are +- incomplete or dicey. Partial temporal knowledge is a field of +- active research, though, and it's not clear how to apply it here. +- +-In short, many, perhaps most, of the tz database's pre-1970 and future +-time stamps are either wrong or misleading. Any attempt to pass the +-tz database off as the definition of time should be unacceptable to +-anybody who cares about the facts. In particular, the tz database's +-LMT offsets should not be considered meaningful, and should not prompt +-creation of zones merely because two locations differ in LMT or +-transitioned to standard time at different dates. +- +- +------ Time and date functions ----- +- +-The tz code contains time and date functions that are upwards +-compatible with those of POSIX. +- +-POSIX has the following properties and limitations. +- +-* In POSIX, time display in a process is controlled by the +- environment variable TZ. Unfortunately, the POSIX TZ string takes +- a form that is hard to describe and is error-prone in practice. +- Also, POSIX TZ strings can't deal with other (for example, Israeli) +- daylight saving time rules, or situations where more than two +- time zone abbreviations are used in an area. +- +- The POSIX TZ string takes the following form: +- +- stdoffset[dst[offset][,date[/time],date[/time]]] +- +- where: +- +- std and dst +- are 3 or more characters specifying the standard +- and daylight saving time (DST) zone names. +- Starting with POSIX.1-2001, std and dst may also be +- in a quoted form like ""; this allows +- "+" and "-" in the names. +- offset +- is of the form '[+-]hh:[mm[:ss]]' and specifies the +- offset west of UT. 'hh' may be a single digit; 0<=hh<=24. +- The default DST offset is one hour ahead of standard time. +- date[/time],date[/time] +- specifies the beginning and end of DST. If this is absent, +- the system supplies its own rules for DST, and these can +- differ from year to year; typically US DST rules are used. +- time +- takes the form 'hh:[mm[:ss]]' and defaults to 02:00. +- This is the same format as the offset, except that a +- leading '+' or '-' is not allowed. +- date +- takes one of the following forms: +- Jn (1<=n<=365) +- origin-1 day number not counting February 29 +- n (0<=n<=365) +- origin-0 day number counting February 29 if present +- Mm.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12) +- for the dth day of week n of month m of the year, +- where week 1 is the first week in which day d appears, +- and '5' stands for the last week in which day d appears +- (which may be either the 4th or 5th week). +- Typically, this is the only useful form; +- the n and Jn forms are rarely used. +- +- Here is an example POSIX TZ string, for US Pacific time using rules +- appropriate from 1987 through 2006: +- +- TZ='PST8PDT,M4.1.0/02:00,M10.5.0/02:00' +- +- This POSIX TZ string is hard to remember, and mishandles time stamps +- before 1987 and after 2006. With this package you can use this +- instead: +- +- TZ='America/Los_Angeles' +- +-* POSIX does not define the exact meaning of TZ values like "EST5EDT". +- Typically the current US DST rules are used to interpret such values, +- but this means that the US DST rules are compiled into each program +- that does time conversion. This means that when US time conversion +- rules change (as in the United States in 1987), all programs that +- do time conversion must be recompiled to ensure proper results. +- +-* The TZ environment variable is process-global, which makes it hard +- to write efficient, thread-safe applications that need access +- to multiple time zones. +- +-* In POSIX, there's no tamper-proof way for a process to learn the +- system's best idea of local wall clock. (This is important for +- applications that an administrator wants used only at certain times - +- without regard to whether the user has fiddled the "TZ" environment +- variable. While an administrator can "do everything in UTC" to get +- around the problem, doing so is inconvenient and precludes handling +- daylight saving time shifts - as might be required to limit phone +- calls to off-peak hours.) +- +-* POSIX provides no convenient and efficient way to determine the UT +- offset and time zone abbreviation of arbitrary time stamps, +- particularly for time zone settings that do not fit into the +- POSIX model. +- +-* POSIX requires that systems ignore leap seconds. +- +-* The tz code attempts to support all the time_t implementations +- allowed by POSIX. The time_t type represents a nonnegative count of +- seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. +- In practice, time_t is usually a signed 64- or 32-bit integer; 32-bit +- signed time_t values stop working after 2038-01-19 03:14:07 UTC, so +- new implementations these days typically use a signed 64-bit integer. +- Unsigned 32-bit integers are used on one or two platforms, +- and 36-bit and 40-bit integers are also used occasionally. +- Although earlier POSIX versions allowed time_t to be a +- floating-point type, this was not supported by any practical +- systems, and POSIX.1-2013 and the tz code both require time_t +- to be an integer type. +- +-These are the extensions that have been made to the POSIX functions: +- +-* The "TZ" environment variable is used in generating the name of a file +- from which time zone information is read (or is interpreted a la +- POSIX); "TZ" is no longer constrained to be a three-letter time zone +- name followed by a number of hours and an optional three-letter +- daylight time zone name. The daylight saving time rules to be used +- for a particular time zone are encoded in the time zone file; +- the format of the file allows U.S., Australian, and other rules to be +- encoded, and allows for situations where more than two time zone +- abbreviations are used. +- +- It was recognized that allowing the "TZ" environment variable to +- take on values such as "America/New_York" might cause "old" programs +- (that expect "TZ" to have a certain form) to operate incorrectly; +- consideration was given to using some other environment variable +- (for example, "TIMEZONE") to hold the string used to generate the +- time zone information file name. In the end, however, it was decided +- to continue using "TZ": it is widely used for time zone purposes; +- separately maintaining both "TZ" and "TIMEZONE" seemed a nuisance; +- and systems where "new" forms of "TZ" might cause problems can simply +- use TZ values such as "EST5EDT" which can be used both by +- "new" programs (a la POSIX) and "old" programs (as zone names and +- offsets). +- +-* The code supports platforms with a UT offset member in struct tm, +- e.g., tm_gmtoff. +- +-* The code supports platforms with a time zone abbreviation member in +- struct tm, e.g., tm_zone. +- +-* Since the "TZ" environment variable can now be used to control time +- conversion, the "daylight" and "timezone" variables are no longer +- needed. (These variables are defined and set by "tzset"; however, their +- values will not be used by "localtime.") +- +-* Functions tzalloc, tzfree, localtime_rz, and mktime_z for +- more-efficient thread-safe applications that need to use +- multiple time zones. The tzalloc and tzfree functions +- allocate and free objects of type timezone_t, and localtime_rz +- and mktime_z are like localtime_r and mktime with an extra +- timezone_t argument. The functions were inspired by NetBSD. +- +-* A function "tzsetwall" has been added to arrange for the system's +- best approximation to local wall clock time to be delivered by +- subsequent calls to "localtime." Source code for portable +- applications that "must" run on local wall clock time should call +- "tzsetwall();" if such code is moved to "old" systems that don't +- provide tzsetwall, you won't be able to generate an executable program. +- (These time zone functions also arrange for local wall clock time to be +- used if tzset is called - directly or indirectly - and there's no "TZ" +- environment variable; portable applications should not, however, rely +- on this behavior since it's not the way SVR2 systems behave.) +- +-* Negative time_t values are supported, on systems where time_t is signed. +- +-* These functions can account for leap seconds, thanks to Bradley White. +- +-Points of interest to folks with other systems: +- +-* Code compatible with this package is already part of many platforms, +- including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, +- BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. +- On such hosts, the primary use of this package +- is to update obsolete time zone rule tables. +- To do this, you may need to compile the time zone compiler +- 'zic' supplied with this package instead of using the system 'zic', +- since the format of zic's input is occasionally extended, +- and a platform may still be shipping an older zic. +- +-* The UNIX Version 7 "timezone" function is not present in this package; +- it's impossible to reliably map timezone's arguments (a "minutes west +- of GMT" value and a "daylight saving time in effect" flag) to a +- time zone abbreviation, and we refuse to guess. +- Programs that in the past used the timezone function may now examine +- tzname[localtime(&clock)->tm_isdst] to learn the correct time +- zone abbreviation to use. Alternatively, use +- localtime(&clock)->tm_zone if this has been enabled. +- +-* The 4.2BSD gettimeofday function is not used in this package. +- This formerly let users obtain the current UTC offset and DST flag, +- but this functionality was removed in later versions of BSD. +- +-* In SVR2, time conversion fails for near-minimum or near-maximum +- time_t values when doing conversions for places that don't use UT. +- This package takes care to do these conversions correctly. +- A comment in the source code tells how to get compatibly wrong +- results. +- +-The functions that are conditionally compiled if STD_INSPIRED is defined +-should, at this point, be looked on primarily as food for thought. They are +-not in any sense "standard compatible" - some are not, in fact, specified in +-*any* standard. They do, however, represent responses of various authors to +-standardization proposals. +- +-Other time conversion proposals, in particular the one developed by folks at +-Hewlett Packard, offer a wider selection of functions that provide capabilities +-beyond those provided here. The absence of such functions from this package +-is not meant to discourage the development, standardization, or use of such +-functions. Rather, their absence reflects the decision to make this package +-contain valid extensions to POSIX, to ensure its broad acceptability. If +-more powerful time conversion functions can be standardized, so much the +-better. +- +- +------ Interface stability ----- +- +-The tz code and data supply the following interfaces: +- +- * A set of zone names as per "Names of time zone rules" above. +- +- * Library functions described in "Time and date functions" above. +- +- * The programs tzselect, zdump, and zic, documented in their man pages. +- +- * The format of zic input files, documented in the zic man page. +- +- * The format of zic output files, documented in the tzfile man page. +- +- * The format of zone table files, documented in zone1970.tab. +- +- * The format of the country code file, documented in iso3166.tab. +- +-When these interfaces are changed, an effort is made to preserve +-backward compatibility. For example, tz data files typically do not +-rely on recently-added zic features, so that users can run older zic +-versions to process newer data files. +- +-Interfaces not listed above are less stable. For example, users +-should not rely on particular UT offsets or abbreviations for time +-stamps, as data entries are often based on guesswork and these guesses +-may be corrected or improved. +- +- +------ Calendrical issues ----- +- +-Calendrical issues are a bit out of scope for a time zone database, +-but they indicate the sort of problems that we would run into if we +-extended the time zone database further into the past. An excellent +-resource in this area is Nachum Dershowitz and Edward M. Reingold, +-Calendrical Calculations: Third Edition, Cambridge University Press (2008) +-. +-Other information and sources are given below. They sometimes disagree. +- +- +-France +- +-Gregorian calendar adopted 1582-12-20. +-French Revolutionary calendar used 1793-11-24 through 1805-12-31, +-and (in Paris only) 1871-05-06 through 1871-05-23. +- +- +-Russia +- +-From Chris Carrier (1996-12-02): +-On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" +-with 30-day months plus 5 holidays, with a 5-day week. +-On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the +-Gregorian calendar while retaining the 6-day week; on 1940-06-27 it +-reverted to the 7-day week. With the 6-day week the usual days +-off were the 6th, 12th, 18th, 24th and 30th of the month. +-(Source: Evitiar Zerubavel, _The Seven Day Circle_) +- +- +-Mark Brader reported a similar story in "The Book of Calendars", edited +-by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: +- +-From: Petteri Sulonen (via Usenet) +-Date: 14 Jan 1999 00:00:00 GMT +-... +- +-If your source is correct, how come documents between 1929 and 1940 were +-still dated using the conventional, Gregorian calendar? +- +-I can post a scan of a document dated December 1, 1934, signed by +-Yenukidze, the secretary, on behalf of Kalinin, the President of the +-Executive Committee of the Supreme Soviet, if you like. +- +- +- +-Sweden (and Finland) +- +-From: Mark Brader +-Subject: Re: Gregorian reform - a part of locale? +- +-Date: 1996-07-06 +- +-In 1700, Denmark made the transition from Julian to Gregorian. Sweden +-decided to *start* a transition in 1700 as well, but rather than have one of +-those unsightly calendar gaps :-), they simply decreed that the next leap +-year after 1696 would be in 1744 - putting the whole country on a calendar +-different from both Julian and Gregorian for a period of 40 years. +- +-However, in 1704 something went wrong and the plan was not carried through; +-they did, after all, have a leap year that year. And one in 1708. In 1712 +-they gave it up and went back to Julian, putting 30 days in February that +-year!... +- +-Then in 1753, Sweden made the transition to Gregorian in the usual manner, +-getting there only 13 years behind the original schedule. +- +-(A previous posting of this story was challenged, and Swedish readers +-produced the following references to support it: "Tideräkning och historia" +-by Natanael Beckman (1924) and "Tid, en bok om tideräkning och +-kalenderväsen" by Lars-Olof Lodén (1968). +- +- +-Grotefend's data +- +-From: "Michael Palmer" [with one obvious typo fixed] +-Subject: Re: Gregorian Calendar (was Re: Another FHC related question +-Newsgroups: soc.genealogy.german +-Date: Tue, 9 Feb 1999 02:32:48 -800 +-... +- +-The following is a(n incomplete) listing, arranged chronologically, of +-European states, with the date they converted from the Julian to the +-Gregorian calendar: +- +-04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman +- Catholics and Danzig only) +-09/20 Dec 1582 - France, Lorraine +- +-21 Dec 1582/ +- 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau +-10/21 Feb 1583 - bishopric of Liege (Lüttich) +-13/24 Feb 1583 - bishopric of Augsburg +-04/15 Oct 1583 - electorate of Trier +-05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, +- Salzburg, Brixen +-13/24 Oct 1583 - Austrian Oberelsaß and Breisgau +-20/31 Oct 1583 - bishopric of Basel +-02/13 Nov 1583 - duchy of Jülich-Berg +-02/13 Nov 1583 - electorate and city of Köln +-04/15 Nov 1583 - bishopric of Würzburg +-11/22 Nov 1583 - electorate of Mainz +-16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden +-17/28 Nov 1583 - bishopric of Münster and duchy of Cleve +-14/25 Dec 1583 - Steiermark +- +-06/17 Jan 1584 - Austria and Bohemia +-11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn +-12/23 Jan 1584 - Silesia and the Lausitz +-22 Jan/ +- 02 Feb 1584 - Hungary (legally on 21 Oct 1587) +- Jun 1584 - Unterwalden +-01/12 Jul 1584 - duchy of Westfalen +- +-16/27 Jun 1585 - bishopric of Paderborn +- +-14/25 Dec 1590 - Transylvania +- +-22 Aug/ +- 02 Sep 1612 - duchy of Prussia +- +-13/24 Dec 1614 - Pfalz-Neuburg +- +- 1617 - duchy of Kurland (reverted to the Julian calendar in +- 1796) +- +- 1624 - bishopric of Osnabrück +- +- 1630 - bishopric of Minden +- +-15/26 Mar 1631 - bishopric of Hildesheim +- +- 1655 - Kanton Wallis +- +-05/16 Feb 1682 - city of Strassburg +- +-18 Feb/ +- 01 Mar 1700 - Protestant Germany (including Swedish possessions in +- Germany), Denmark, Norway +-30 Jun/ +- 12 Jul 1700 - Gelderland, Zutphen +-10 Nov/ +- 12 Dec 1700 - Utrecht, Overijssel +- +-31 Dec 1700/ +- 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, +- Turgau, and Schaffhausen +- +- 1724 - Glarus, Appenzell, and the city of St. Gallen +- +-01 Jan 1750 - Pisa and Florence +- +-02/14 Sep 1752 - Great Britain +- +-17 Feb/ +- 01 Mar 1753 - Sweden +- +-1760-1812 - Graubünden +- +-The Russian empire (including Finland and the Baltic states) did not +-convert to the Gregorian calendar until the Soviet revolution of 1917. +- +-Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen +-Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend +-(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. +- +- +------ Time and time zones on Mars ----- +- +-Some people's work schedules use Mars time. Jet Propulsion Laboratory +-(JPL) coordinators have kept Mars time on and off at least since 1997 +-for the Mars Pathfinder mission. Some of their family members have +-also adapted to Mars time. Dozens of special Mars watches were built +-for JPL workers who kept Mars time during the Mars Exploration +-Rovers mission (2004). These timepieces look like normal Seikos and +-Citizens but use Mars seconds rather than terrestrial seconds. +- +-A Mars solar day is called a "sol" and has a mean period equal to +-about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is +-divided into a conventional 24-hour clock, so each Mars second equals +-about 1.02749125 terrestrial seconds. +- +-The prime meridian of Mars goes through the center of the crater +-Airy-0, named in honor of the British astronomer who built the +-Greenwich telescope that defines Earth's prime meridian. Mean solar +-time on the Mars prime meridian is called Mars Coordinated Time (MTC). +- +-Each landed mission on Mars has adopted a different reference for +-solar time keeping, so there is no real standard for Mars time zones. +-For example, the Mars Exploration Rover project (2004) defined two +-time zones "Local Solar Time A" and "Local Solar Time B" for its two +-missions, each zone designed so that its time equals local true solar +-time at approximately the middle of the nominal mission. Such a "time +-zone" is not particularly suited for any application other than the +-mission itself. +- +-Many calendars have been proposed for Mars, but none have achieved +-wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a +-sequential count of Mars solar days elapsed since about 1873-12-29 +-12:00 GMT. +- +-The tz database does not currently support Mars time, but it is +-documented here in the hopes that support will be added eventually. +- +-Sources: +- +-Michael Allison and Robert Schmunk, +-"Technical Notes on Mars Solar Time as Adopted by the Mars24 Sunclock" +- (2012-08-08). +- +-Jia-Rui Chong, "Workdays Fit for a Martian", Los Angeles Times +- +-(2004-01-14), pp A1, A20-A21. +- +-Tom Chmielewski, "Jet Lag Is Worse on Mars", The Atlantic (2015-02-26) +- +- +------ +- +-This file is in the public domain, so clarified as of 2009-05-17 by +-Arthur David Olson. +- +------ +-Local Variables: +-coding: utf-8 +-End: +--- contrib/tzdata/africa.orig ++++ contrib/tzdata/africa +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-20): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -26,44 +26,38 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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 +-# for +0:00 through +3:00, respectively, +-# but Mark R V Murray reports that +-# 'SAST' is the official abbreviation for +2:00 in the country of South Africa, +-# 'CAT' is commonly used for +2:00 in countries north of South Africa, and +-# 'WAT' is probably the best name for +1:00, as the common phrase for ++# for UT +00 through +03, respectively, ++# but in 1997 Mark R V Murray reported that ++# 'SAST' is the official abbreviation for +02 in the country of South Africa, ++# 'CAT' is commonly used for +02 in countries north of South Africa, and ++# 'WAT' is probably the best name for +01, as the common phrase for + # the area that includes Nigeria is "West Africa". +-# He has heard of "Western Sahara Time" for +0:00 but can find no reference. + # +-# To make things confusing, 'WAT' seems to have been used for -1:00 long ago; +-# I'd guess that this was because people needed _some_ name for -1:00, +-# and at the time, far west Africa was the only major land area in -1:00. +-# This usage is now obsolete, as the last use of -1:00 on the African +-# mainland seems to have been 1976 in Western Sahara. ++# To summarize, the following abbreviations seemed to have some currency: ++# +00 GMT Greenwich Mean Time ++# +02 CAT Central Africa Time ++# +02 SAST South Africa Standard Time ++# and Murray suggested the following abbreviation: ++# +01 WAT West Africa Time ++# Murray's suggestion seems to have caught on in news reports and the like. ++# I vaguely recall 'WAT' also being used for -01 in the past but ++# cannot now come up with solid citations. + # +-# To summarize, the following abbreviations seem to have some currency: +-# -1:00 WAT West Africa Time (no longer used) +-# 0:00 GMT Greenwich Mean Time +-# 2:00 CAT Central Africa Time +-# 2:00 SAST South Africa Standard Time +-# and Murray suggests the following abbreviation: +-# 1:00 WAT West Africa Time +-# I realize that this leads to 'WAT' being used for both -1:00 and 1:00 +-# for times before 1976, but this is the best I can think of +-# until we get more information. +-# + # I invented the following abbreviations; corrections are welcome! +-# 2:00 WAST West Africa Summer Time +-# 2:30 BEAT British East Africa Time (no longer used) +-# 2:45 BEAUT British East Africa Unified Time (no longer used) +-# 3:00 CAST Central Africa Summer Time (no longer used) +-# 3:00 SAST South Africa Summer Time (no longer used) +-# 3:00 EAT East Africa Time ++# +02 WAST West Africa Summer Time ++# +03 CAST Central Africa Summer Time (no longer used) ++# +03 SAST South Africa Summer Time (no longer used) ++# +03 EAT East Africa Time ++# 'EAT' also seems to have caught on; the others are rare but are paired ++# with better-attested non-DST abbreviations. + + # Algeria + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +@@ -119,19 +113,19 @@ + # Cameroon + # See Africa/Lagos. + +-# Cape Verde ++# Cape Verde / Cabo Verde + # +-# Shanks gives 1907 for the transition to CVT. ++# Shanks gives 1907 for the transition to +02. + # Perhaps the 1911-05-26 Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # merely made it official? + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/Cape_Verde -1:34:04 - LMT 1907 # Praia +- -2:00 - CVT 1942 Sep +- -2:00 1:00 CVST 1945 Oct 15 +- -2:00 - CVT 1975 Nov 25 2:00 +- -1:00 - CVT ++ -2:00 - -02 1942 Sep ++ -2:00 1:00 -01 1945 Oct 15 ++ -2:00 - -02 1975 Nov 25 2:00 ++ -1:00 - -01 + + # Central African Republic + # See Africa/Lagos. +@@ -224,7 +218,7 @@ + # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07. + # From Jesper Nørgaard Welen (2007-08-15): [The following agree:] + # http://www.nentjes.info/Bill/bill5.htm +-# http://www.timeanddate.com/worldclock/city.html?n=53 ++# https://www.timeanddate.com/worldclock/city.html?n=53 + # From Steffen Thorsen (2007-09-04): The official information...: + # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm + Rule Egypt 2007 only - Sep Thu>=1 24:00 0 - +@@ -262,8 +256,8 @@ + # timeanddate[2] and another site I've found[3] also support that. + # + # [1] https://bugzilla.redhat.com/show_bug.cgi?id=492263 +-# [2] http://www.timeanddate.com/worldclock/clockchange.html?n=53 +-# [3] http://wwp.greenwichmeantime.com/time-zone/africa/egypt/ ++# [2] https://www.timeanddate.com/worldclock/clockchange.html?n=53 ++# [3] https://wwp.greenwichmeantime.com/time-zone/africa/egypt/ + + # From Arthur David Olson (2009-04-20): + # In 2009 (and for the next several years), Ramadan ends before the fourth +@@ -273,10 +267,10 @@ + # From Steffen Thorsen (2009-08-11): + # We have been able to confirm the August change with the Egyptian Cabinet + # Information and Decision Support Center: +-# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html ++# https://www.timeanddate.com/news/time/egypt-dst-ends-2009.html + # + # The Middle East News Agency +-# http://www.mena.org.eg/index.aspx ++# https://www.mena.org.eg/index.aspx + # also reports "Egypt starts winter time on August 21" + # today in article numbered "71, 11/08/2009 12:25 GMT." + # Only the title above is available without a subscription to their service, +@@ -326,7 +320,7 @@ + # Thursday of April.... Clocks will still be turned back for Ramadan, but + # dates not yet announced.... + # http://almogaz.com/news/weird-news/2015/04/05/1947105 ... +-# http://www.timeanddate.com/news/time/egypt-starts-dst-2015.html ++# https://www.timeanddate.com/news/time/egypt-starts-dst-2015.html + + # From Ahmed Nazmy (2015-04-20): + # Egypt's ministers cabinet just announced ... that it will cancel DST at +@@ -388,7 +382,7 @@ + Rule Ghana 1920 1942 - Dec 31 0:00 0 GMT + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Accra -0:00:52 - LMT 1918 +- 0:00 Ghana %s ++ 0:00 Ghana GMT/+0020 + + # Guinea + # See Africa/Abidjan. +@@ -397,12 +391,12 @@ + # + # Shanks gives 1911-05-26 for the transition to WAT, + # evidently confusing the date of the Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # with the date that it took effect, namely 1912-01-01. + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Bissau -1:02:20 - LMT 1912 Jan 1 +- -1:00 - WAT 1975 ++ -1:00 - -01 1975 + 0:00 - GMT + + # Kenya +@@ -409,8 +403,8 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul + 3:00 - EAT 1930 +- 2:30 - BEAT 1940 +- 2:45 - BEAUT 1960 ++ 2:30 - +0230 1940 ++ 2:45 - +0245 1960 + 3:00 - EAT + Link Africa/Nairobi Africa/Addis_Ababa # Ethiopia + Link Africa/Nairobi Africa/Asmara # Eritrea +@@ -426,18 +420,25 @@ + # See Africa/Johannesburg. + + # Liberia +-# From Paul Eggert (2006-03-22): +-# In 1972 Liberia was the last country to switch +-# from a UTC offset that was not a multiple of 15 or 20 minutes. +-# Howse reports that it was in honor of their president's birthday. +-# Shank & Pottenger report the date as May 1, whereas Howse reports Jan; +-# go with Shanks & Pottenger. +-# For Liberia before 1972, Shanks & Pottenger report -0:44, whereas Howse and +-# Whitman each report -0:44:30; go with the more precise figure. ++# ++# From Paul Eggert (2017-03-02): ++# ++# The Nautical Almanac for the Year 1970, p 264, is the source for -0:44:30. ++# ++# In 1972 Liberia was the last country to switch from a UTC offset ++# that was not a multiple of 15 or 20 minutes. The 1972 change was on ++# 1972-01-07, according to an entry dated 1972-01-04 on p 330 of: ++# Presidential Papers: First year of the administration of ++# President William R. Tolbert, Jr., July 23, 1971-July 31, 1972. ++# Monrovia: Executive Mansion. ++# ++# Use the abbreviation "MMT" before 1972, as the more-accurate numeric ++# abbreviation "-004430" would be one byte over the POSIX limit. ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Monrovia -0:43:08 - LMT 1882 + -0:43:08 - MMT 1919 Mar # Monrovia Mean Time +- -0:44:30 - LRT 1972 May # Liberia Time ++ -0:44:30 - MMT 1972 Jan 7 # approximately MMT + 0:00 - GMT + + ############################################################################### +@@ -446,11 +447,11 @@ + + # From Even Scharning (2012-11-10): + # Libya set their time one hour back at 02:00 on Saturday November 10. +-# http://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ ++# https://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ + # Here is an official source [in Arabic]: http://ls.ly/fb6Yc + # + # Steffen Thorsen forwarded a translation (2012-11-10) in +-# http://mm.icann.org/pipermail/tz/2012-November/018451.html ++# https://mm.icann.org/pipermail/tz/2012-November/018451.html + # + # From Tim Parenti (2012-11-11): + # Treat the 2012-11-10 change as a zone change from UTC+2 to UTC+1. +@@ -461,7 +462,7 @@ + # From Even Scharning (2013-10-25): + # The scheduled end of DST in Libya on Friday, October 25, 2013 was + # cancelled yesterday.... +-# http://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ ++# https://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ + # + # From Paul Eggert (2013-10-25): + # For now, assume they're reverting to the pre-2012 rules of permanent UT +02. +@@ -514,7 +515,7 @@ + # basis.... + # It seems that Mauritius observed daylight saving time from 1982-10-10 to + # 1983-03-20 as well, but that was not successful.... +-# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html ++# https://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html + + # From Alex Krivenyshev (2008-06-25): + # http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD +@@ -582,7 +583,7 @@ + # http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints- + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html ++# https://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html + + # From Arthur David Olson (2009-07-11): + # The "mauritius-dst-will-not-repeat" wrapup includes this: +@@ -596,7 +597,7 @@ + Rule Mauritius 2009 only - Mar lastSun 2:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Mauritius 3:50:00 - LMT 1907 # Port Louis +- 4:00 Mauritius MU%sT # Mauritius Time ++ 4:00 Mauritius +04/+05 + # Agalega Is, Rodriguez + # no information; probably like Indian/Mauritius + +@@ -614,7 +615,7 @@ + # be one hour ahead of GMT between 1 June and 27 September, according to + # Communication Minister and Government Spokesman, Khalid Naciri...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html ++# http://www.worldtimezone.com/dst_news/dst_news_morocco01.html + # http://en.afrik.com/news11892.html + + # From Alex Krivenyshev (2008-05-09): +@@ -627,7 +628,7 @@ + + # From Patrice Scattolin (2008-05-09): + # According to this article: +-# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html ++# https://www.avmaroc.com/actualite/heure-dete-comment-a127896.html + # (and republished here: ) + # the changes occur at midnight: + # +@@ -649,7 +650,7 @@ + # posted in English). + # + # The following Google query will generate many relevant hits: +-# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search ++# https://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search + + # From Steffen Thorsen (2008-08-27): + # Morocco will change the clocks back on the midnight between August 31 +@@ -660,7 +661,7 @@ + # http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default + # + # We have some further details posted here: +-# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html ++# https://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html + + # From Steffen Thorsen (2009-03-17): + # Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according +@@ -670,7 +671,7 @@ + # (French) + # + # Our summary: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to official document from Royaume du Maroc Premier Ministre, +@@ -693,7 +694,7 @@ + # http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html + # (French) + # Our page: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2010.html + + # From Dan Abitol (2011-03-30): + # ...Rules for Africa/Casablanca are the following (24h format) +@@ -710,7 +711,7 @@ + # They said that the decision was already taken. + # + # More articles in the press +-# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html ++# https://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html + # http://www.lematin.ma/Actualite/Express/Article.asp?id=148923 + # http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim + +@@ -802,7 +803,7 @@ + # 1433 (18 April 2012) and the decision of the Head of Government of + # 16 N. 3-29-15 Chaaban 1435 (4 June 2015). + # Source (french): +-# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ ++# https://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ + # + # From Milamber (2015-06-09): + # http://www.mmsp.gov.ma/fr/actualites.aspx?id=863 +@@ -811,7 +812,7 @@ + # [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go + # from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch.... + # I think the patch is correct and the quoted text is wrong; the text in +-# agrees ++# agrees + # with the patch. + + # From Paul Eggert (2015-06-08): +@@ -915,7 +916,7 @@ + # since most of it was then controlled by Morocco. + + Zone Africa/El_Aaiun -0:52:48 - LMT 1934 Jan # El Aaiún +- -1:00 - WAT 1976 Apr 14 ++ -1:00 - -01 1976 Apr 14 + 0:00 Morocco WE%sT + + # Mozambique +@@ -922,7 +923,7 @@ + # + # Shanks gives 1903-03-01 for the transition to CAT. + # Perhaps the 1911-05-26 Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # merely made it official? + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +@@ -936,10 +937,18 @@ + Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo + Link Africa/Maputo Africa/Lusaka # Zambia + ++ + # Namibia +-# The 1994-04-03 transition is from Shanks & Pottenger. +-# Shanks & Pottenger report no DST after 1998-04; go with IATA. + ++# From Arthur David Olson (2017-08-09): ++# The text of the "Namibia Time Act, 1994" is available online at ++# www.lac.org.na/laws/1994/811.pdf ++# and includes this nugget: ++# Notwithstanding the provisions of subsection (2) of section 1, the ++# first winter period after the commencement of this Act shall ++# commence at OOhOO on Monday 21 March 1994 and shall end at 02h00 on ++# Sunday 4 September 1994. ++ + # From Petronella Sibeene (2007-03-30): + # http://allafrica.com/stories/200703300178.html + # While the entire country changes its time, Katima Mulilo and other +@@ -949,21 +958,35 @@ + # the country are close to 40 minutes earlier in sunrise than the rest + # of the country. + # +-# From Paul Eggert (2007-03-31): +-# Apparently the Caprivi Strip informally observes Botswana time, but +-# we have no details. In the meantime people there can use Africa/Gaborone. ++# From Paul Eggert (2017-02-22): ++# Although the Zambezi Region (formerly known as Caprivi) informally ++# observes Botswana time, we have no details about historical practice. ++# In the meantime people there can use Africa/Gaborone. ++# See: Immanuel S. The Namibian. 2017-02-23. ++# https://www.namibian.com.na/51480/read/Time-change-divides-lawmakers + ++# From Steffen Thorsen (2017-08-09): ++# Namibia is going to change their time zone to what is now their DST: ++# https://www.newera.com.na/2017/02/23/namibias-winter-time-might-be-repealed/ ++# This video is from the government decision: ++# https://www.nbc.na/news/na-passes-namibia-time-bill-repealing-1994-namibia-time-act.8665 ++# We have made the assumption so far that they will change their time zone at ++# the same time they would normally start DST, the first Sunday in September: ++# https://www.timeanddate.com/news/time/namibia-new-time-zone.html ++ + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S +-Rule Namibia 1995 max - Apr Sun>=1 2:00 0 - ++Rule Namibia 1994 only - Mar 21 0:00 0 - ++Rule Namibia 1994 2016 - Sep Sun>=1 2:00 1:00 S ++Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 +- 1:30 - SWAT 1903 Mar # SW Africa Time ++ 1:30 - +0130 1903 Mar + 2:00 - SAST 1942 Sep 20 2:00 + 2:00 1:00 SAST 1943 Mar 21 2:00 + 2:00 - SAST 1990 Mar 21 # independence +- 2:00 - CAT 1994 Apr 3 +- 1:00 Namibia WA%sT ++ 2:00 - CAT 1994 Mar 21 0:00 ++ 1:00 Namibia WA%sT 2017 Sep 3 2:00 ++ 2:00 - CAT + + # Niger + # See Africa/Lagos. +@@ -985,7 +1008,7 @@ + # Réunion + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Reunion 3:41:52 - LMT 1911 Jun # Saint-Denis +- 4:00 - RET # Réunion Time ++ 4:00 - +04 + # + # Crozet Islands also observes Réunion time; see the 'antarctica' file. + # +@@ -1020,7 +1043,7 @@ + # Seychelles + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Mahe 3:41:48 - LMT 1906 Jun # Victoria +- 4:00 - SCT # Seychelles Time ++ 4:00 - +04 + # From Paul Eggert (2001-05-30): + # Aldabra, Farquhar, and Desroches, originally dependencies of the + # Seychelles, were transferred to the British Indian Ocean Territory +@@ -1050,7 +1073,7 @@ + # no information + + # Sudan +-# ++ + # From + # Sudan News Agency (2000-01-13), + # also reported by Michaël De Beukelaer-Dossche via Steffen Thorsen: +@@ -1057,7 +1080,17 @@ + # Clocks will be moved ahead for 60 minutes all over the Sudan as of noon + # Saturday.... This was announced Thursday by Caretaker State Minister for + # Manpower Abdul-Rahman Nur-Eddin. ++ ++# From Ahmed Atyya, National Telecommunications Corp. (NTC), Sudan (2017-10-17): ++# ... the Republic of Sudan is going to change the time zone from (GMT+3:00) ++# to (GMT+ 2:00) starting from Wednesday 1 November 2017. + # ++# From Paul Eggert (2017-10-18): ++# A scanned copy (in Arabic) of Cabinet Resolution No. 352 for the ++# year 2017 can be found as an attachment in email today from Yahia ++# Abdalla of NTC, archived at: ++# https://mm.icann.org/pipermail/tz/2017-October/025333.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Sudan 1970 only - May 1 0:00 1:00 S + Rule Sudan 1970 1985 - Oct 15 0:00 0 - +@@ -1066,10 +1099,14 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Khartoum 2:10:08 - LMT 1931 + 2:00 Sudan CA%sT 2000 Jan 15 12:00 +- 3:00 - EAT ++ 3:00 - EAT 2017 Nov 1 ++ 2:00 - CAT + + # South Sudan +-Link Africa/Khartoum Africa/Juba ++# Zone NAME GMTOFF RULES FORMAT [UNTIL] ++Zone Africa/Juba 2:06:28 - LMT 1931 ++ 2:00 Sudan CA%sT 2000 Jan 15 12:00 ++ 3:00 - EAT + + # Swaziland + # See Africa/Johannesburg. +@@ -1107,11 +1144,11 @@ + # According to several news sources, Tunisia will not observe DST this year. + # (Arabic) + # http://www.elbashayer.com/?page=viewn&nid=42546 +-# http://www.babnet.net/kiwidetail-15295.asp ++# https://www.babnet.net/kiwidetail-15295.asp + # + # We have also confirmed this with the US embassy in Tunisia. + # We have a wrap-up about this on the following page: +-# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html ++# https://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to Tunis Afrique Presse News Agency +--- contrib/tzdata/antarctica.orig ++++ contrib/tzdata/antarctica +@@ -26,7 +26,7 @@ + # Heard Island, McDonald Islands (uninhabited) + # previously sealers and scientific personnel wintered + # Margaret Turner reports +-# http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html ++# https://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html + # (1999-09-30) that they're UT +05, with no DST; + # presumably this is when they have visitors. + # +@@ -47,7 +47,7 @@ + # http://www.aad.gov.au/default.asp?casid=37079 + # + # We have more background information here: +-# http://www.timeanddate.com/news/time/antarctica-new-times.html ++# https://www.timeanddate.com/news/time/antarctica-new-times.html + + # From Steffen Thorsen (2010-03-10): + # We got these changes from the Australian Antarctic Division: ... +@@ -62,7 +62,7 @@ + # - Mawson station stays on UTC+5. + # + # Background: +-# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html ++# https://www.timeanddate.com/news/time/antartica-time-changes-2010.html + + # From Steffen Thorsen (2016-10-28): + # Australian Antarctica Division informed us that Casey changed time +@@ -110,7 +110,8 @@ + # O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02 + # Prat, -6230-05941 + # Villa Las Estrellas (a town), around the Frei base, since 1984-04-09 +-# These locations have always used Santiago time; use TZ='America/Santiago'. ++# These locations employ Region of Magallanes time; use ++# TZ='America/Punta_Arenas'. + + # China - year-round bases + # Great Wall, King George Island, -6213-05858, since 1985-02-20 +@@ -144,7 +145,7 @@ + # + # year-round base in the main continent + # Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11 +-# (2005-12-05) ++# (2005-12-05) + # + # Another base at Port-Martin, 50km east, began operation in 1947. + # It was destroyed by fire on 1952-01-14. +--- contrib/tzdata/asia.orig ++++ contrib/tzdata/asia +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2015-08-08): ++# From Paul Eggert (2017-01-13): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -26,7 +26,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # + # For Russian data circa 1919, a source is: + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. +@@ -35,29 +35,24 @@ + # A reliable and entertaining source about time zones is + # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). + # +-# I invented the abbreviations marked '*' in the following table; +-# the rest are from earlier versions of this file, or from other sources. +-# Corrections are welcome! ++# The following alphabetic abbreviations appear in these tables: + # std dst + # LMT Local Mean Time + # 2:00 EET EEST Eastern European Time + # 2:00 IST IDT Israel +-# 3:00 AST ADT Arabia* +-# 3:30 IRST IRDT Iran* +-# 4:00 GST Gulf* + # 5:30 IST India +-# 7:00 ICT Indochina, most times and locations* + # 7:00 WIB west Indonesia (Waktu Indonesia Barat) + # 8:00 WITA central Indonesia (Waktu Indonesia Tengah) + # 8:00 CST China +-# 8:00 IDT Indochina, 1943-45, 1947-55, 1960-75 (some locations)* +-# 8:00 JWST Western Standard Time (Japan, 1896/1937)* +-# 8:30 KST KDT Korea when at +0830* +-# 9:00 JCST Central Standard Time (Japan, 1896/1937) ++# 8:30 KST KDT Korea when at +0830 + # 9:00 WIT east Indonesia (Waktu Indonesia Timur) + # 9:00 JST JDT Japan + # 9:00 KST KDT Korea when at +09 + # 9:30 ACST Australian Central Standard Time ++# Otherwise, these tables typically use numeric abbreviations like +03 ++# and +0330 for integer hour and minute UTC offsets. Although earlier ++# editions invented alphabetic time zone abbreviations for every ++# offset, this did not reflect common practice. + # + # See the 'europe' file for Russia and Turkey in Asia. + +@@ -65,7 +60,7 @@ + # Incorporates data for Singapore from Robert Elz' asia 1.1, as well as + # additional information from Tom Yap, Sun Microsystems Intercontinental + # Technical Support (including a page from the Official Airline Guide - +-# Worldwide Edition). The names for time zones are guesses. ++# Worldwide Edition). + + ############################################################################### + +@@ -80,14 +75,14 @@ + Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S + Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 - + Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 - +-Rule RussiaAsia 1985 2011 - Mar lastSun 2:00s 1:00 S +-Rule RussiaAsia 1996 2011 - Oct lastSun 2:00s 0 - ++Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 S ++Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 - + + # Afghanistan + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kabul 4:36:48 - LMT 1890 +- 4:00 - AFT 1945 +- 4:30 - AFT ++ 4:00 - +04 1945 ++ 4:30 - +0430 + + # Armenia + # From Paul Eggert (2006-03-22): +@@ -114,6 +109,9 @@ + # or + # (brief) + # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html ++# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ++Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 S ++Rule Armenia 2011 only - Oct lastSun 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 + 3:00 - +03 1957 Mar +@@ -120,7 +118,8 @@ + 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s + 3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s + 4:00 - +04 1997 +- 4:00 RussiaAsia +04/+05 ++ 4:00 RussiaAsia +04/+05 2011 ++ 4:00 Armenia +04/+05 + + # Azerbaijan + +@@ -132,7 +131,7 @@ + # From Steffen Thorsen (2016-03-17): + # ... the Azerbaijani Cabinet of Ministers has cancelled switching to + # daylight saving time.... +-# http://www.azernews.az/azerbaijan/94137.html ++# https://www.azernews.az/azerbaijan/94137.html + # http://vestnikkavkaza.net/news/Azerbaijani-Cabinet-of-Ministers-cancels-daylight-saving-time.html + # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html + +@@ -173,11 +172,11 @@ + # the 19th and 20th, and they have not set the end date yet. + # + # Some sources: +-# http://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 ++# https://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 + # http://bdnews24.com/details.php?id=85889&cid=2 + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html ++# https://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html + + # From A. N. M. Kamrus Saadat (2009-06-15): + # Finally we've got the official mail regarding DST start time where DST start +@@ -230,18 +229,17 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Dhaka 6:01:40 - LMT 1890 + 5:53:20 - HMT 1941 Oct # Howrah Mean Time? +- 6:30 - BURT 1942 May 15 # Burma Time +- 5:30 - IST 1942 Sep +- 6:30 - BURT 1951 Sep 30 +- 6:00 - DACT 1971 Mar 26 # Dacca Time +- 6:00 - BDT 2009 +- 6:00 Dhaka BD%sT ++ 6:30 - +0630 1942 May 15 ++ 5:30 - +0530 1942 Sep ++ 6:30 - +0630 1951 Sep 30 ++ 6:00 - +06 2009 ++ 6:00 Dhaka +06/+07 + + # Bhutan + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Thimphu 5:58:36 - LMT 1947 Aug 15 # or Thimbu +- 5:30 - IST 1987 Oct +- 6:00 - BTT # Bhutan Time ++ 5:30 - +0530 1987 Oct ++ 6:00 - +06 + + # British Indian Ocean Territory + # Whitman and the 1995 CIA time zone map say 5:00, but the +@@ -251,25 +249,31 @@ + # then contained the Chagos Archipelago). + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Chagos 4:49:40 - LMT 1907 +- 5:00 - IOT 1996 # BIOT Time +- 6:00 - IOT ++ 5:00 - +05 1996 ++ 6:00 - +06 + + # Brunei + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Brunei 7:39:40 - LMT 1926 Mar # Bandar Seri Begawan +- 7:30 - BNT 1933 +- 8:00 - BNT ++ 7:30 - +0730 1933 ++ 8:00 - +08 + + # Burma / Myanmar + + # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + ++# From Paul Eggert (2017-04-20): ++# Page 27 of Reed & Low (cited for Asia/Kolkata) says "Rangoon local time is ++# used upon the railways and telegraphs of Burma, and is 6h. 24m. 47s. ahead ++# of Greenwich." This refers to the period before Burma's transition to +0630, ++# a transition for which Shanks is the only source. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Yangon 6:24:40 - LMT 1880 # or Rangoon +- 6:24:40 - RMT 1920 # Rangoon Mean Time? +- 6:30 - BURT 1942 May # Burma Time +- 9:00 - JST 1945 May 3 +- 6:30 - MMT # Myanmar Time ++Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon ++ 6:24:47 - RMT 1920 # Rangoon local time ++ 6:30 - +0630 1942 May ++ 9:00 - +09 1945 May 3 ++ 6:30 - +0630 + + # Cambodia + # See Asia/Bangkok. +@@ -323,7 +327,7 @@ + # + # From Jesper Nørgaard Welen (2006-07-14): + # I have investigated the timezones around 1970 on the +-# http://www.astro.com/atlas site [with provinces and county ++# https://www.astro.com/atlas site [with provinces and county + # boundaries summarized below].... A few other exceptions were two + # counties on the Sichuan side of the Xizang-Sichuan border, + # counties Dege and Baiyu which lies on the Sichuan side and are +@@ -332,7 +336,7 @@ + # (could be true), for the moment I am assuming that those two + # counties are mistakes in the astro.com data. + +-# From Paul Eggert (2014-06-30): ++# From Paul Eggert (2017-01-05): + # Alois Treindl kindly sent me translations of the following two sources: + # + # (1) +@@ -390,28 +394,26 @@ + # mainly observed in coastal areas), the five zones were: + # + # Changbai Time ("Long-white Time", Long-white = Heilongjiang area) UT +08:30 +-# Asia/Harbin (currently a link to Asia/Shanghai) ++# Now part of Asia/Shanghai; its pre-1970 times are not recorded here. + # Heilongjiang (except Mohe county), Jilin + # + # Zhongyuan Time ("Central plain Time") UT +08 +-# Asia/Shanghai ++# Now part of Asia/Shanghai. + # most of China +-# This currently represents most other zones as well, +-# as apparently these regions have been the same since 1970. + # Milne gives 8:05:43.2 for Xujiahui Observatory time; round to nearest. + # Guo says Shanghai switched to UT +08 "from the end of the 19th century". + # +-# Long-shu Time (probably due to Long and Shu being two names of the area) UT +07 +-# Asia/Chongqing (currently a link to Asia/Shanghai) ++# Long-shu Time (probably as Long and Shu were two names of the area) UT +07 ++# Now part of Asia/Shanghai; its pre-1970 times are not recorded here. + # Guangxi, Guizhou, Hainan, Ningxia, Sichuan, Shaanxi, and Yunnan; +-# most of Gansu; west Inner Mongolia; west Qinghai; and the Guangdong ++# most of Gansu; west Inner Mongolia; east Qinghai; and the Guangdong + # counties Deqing, Enping, Kaiping, Luoding, Taishan, Xinxing, + # Yangchun, Yangjiang, Yu'nan, and Yunfu. + # + # Xin-zang Time ("Xinjiang-Tibet Time") UT +06 +-# Asia/Urumqi +-# This currently represents Kunlun Time as well, +-# as apparently the two regions have been the same since 1970. ++# This region is now part of either Asia/Urumqi or Asia/Shanghai with ++# current boundaries uncertain; times before 1970 for areas that ++# disagree with Ürümqi or Shanghai are not recorded here. + # The Gansu counties Aksay, Anxi, Dunhuang, Subei; west Qinghai; + # the Guangdong counties Xuwen, Haikang, Suixi, Lianjiang, + # Zhanjiang, Wuchuan, Huazhou, Gaozhou, Maoming, Dianbai, and Xinyi; +@@ -422,7 +424,7 @@ + # Fukang, Kuitun, Kumukuli, Miquan, Qitai, and Turfan. + # + # Kunlun Time UT +05:30 +-# Asia/Kashgar (currently a link to Asia/Urumqi) ++# This region is now in the same status as Xin-zang Time (see above). + # West Tibet, including Pulan, Aheqi, Shufu, Shule; + # West Xinjiang, including Aksu, Atushi, Yining, Hetian, Cele, Luopu, Nileke, + # Zhaosu, Tekesi, Gongliu, Chabuchaer, Huocheng, Bole, Pishan, Suiding, +@@ -477,7 +479,7 @@ + + # From David Cochrane (2014-03-26): + # Just a confirmation that Ürümqi time was implemented in Ürümqi on 1 Feb 1986: +-# http://content.time.com/time/magazine/article/0,9171,960684,00.html ++# https://content.time.com/time/magazine/article/0,9171,960684,00.html + + # From Luther Ma (2014-04-22): + # I have interviewed numerous people of various nationalities and from +@@ -523,7 +525,7 @@ + # Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi + # / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.) + Zone Asia/Urumqi 5:50:20 - LMT 1928 +- 6:00 - XJT ++ 6:00 - +06 + + + # Hong Kong (Xianggang) +@@ -634,7 +636,7 @@ + # (both in Okinawa) adopt the Western Standard Time which is based on + # 120E. The adoption began from Jan 1, 1896. The original text can be + # found on Wikisource: +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # ... This could be the first adoption of time zone in Taiwan, because + # during the Qing Dynasty, it seems that there was no time zone + # declared officially. +@@ -647,7 +649,7 @@ + # territory, including later occupations, adopt Japan Central Time + # (UTC+9). The adoption began on Oct 1, 1937. The original text can + # be found on Wikisource: +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + # + # That is, the time zone of Taipei switched to UTC+9 on Oct 1, 1937. + +@@ -742,30 +744,29 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + # Taipei or Taibei or T'ai-pei + Zone Asia/Taipei 8:06:00 - LMT 1896 Jan 1 +- 8:00 - JWST 1937 Oct 1 ++ 8:00 - CST 1937 Oct 1 + 9:00 - JST 1945 Sep 21 1:00 + 8:00 Taiwan C%sT + + # Macau (Macao, Aomen) + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Macau 1961 1962 - Mar Sun>=16 3:30 1:00 S +-Rule Macau 1961 1964 - Nov Sun>=1 3:30 0 - +-Rule Macau 1963 only - Mar Sun>=16 0:00 1:00 S +-Rule Macau 1964 only - Mar Sun>=16 3:30 1:00 S +-Rule Macau 1965 only - Mar Sun>=16 0:00 1:00 S +-Rule Macau 1965 only - Oct 31 0:00 0 - +-Rule Macau 1966 1971 - Apr Sun>=16 3:30 1:00 S +-Rule Macau 1966 1971 - Oct Sun>=16 3:30 0 - +-Rule Macau 1972 1974 - Apr Sun>=15 0:00 1:00 S +-Rule Macau 1972 1973 - Oct Sun>=15 0:00 0 - +-Rule Macau 1974 1977 - Oct Sun>=15 3:30 0 - +-Rule Macau 1975 1977 - Apr Sun>=15 3:30 1:00 S +-Rule Macau 1978 1980 - Apr Sun>=15 0:00 1:00 S +-Rule Macau 1978 1980 - Oct Sun>=15 0:00 0 - ++Rule Macau 1961 1962 - Mar Sun>=16 3:30 1:00 D ++Rule Macau 1961 1964 - Nov Sun>=1 3:30 0 S ++Rule Macau 1963 only - Mar Sun>=16 0:00 1:00 D ++Rule Macau 1964 only - Mar Sun>=16 3:30 1:00 D ++Rule Macau 1965 only - Mar Sun>=16 0:00 1:00 D ++Rule Macau 1965 only - Oct 31 0:00 0 S ++Rule Macau 1966 1971 - Apr Sun>=16 3:30 1:00 D ++Rule Macau 1966 1971 - Oct Sun>=16 3:30 0 S ++Rule Macau 1972 1974 - Apr Sun>=15 0:00 1:00 D ++Rule Macau 1972 1973 - Oct Sun>=15 0:00 0 S ++Rule Macau 1974 1977 - Oct Sun>=15 3:30 0 S ++Rule Macau 1975 1977 - Apr Sun>=15 3:30 1:00 D ++Rule Macau 1978 1980 - Apr Sun>=15 0:00 1:00 D ++Rule Macau 1978 1980 - Oct Sun>=15 0:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Macau 7:34:20 - LMT 1912 Jan 1 +- 8:00 Macau MO%sT 1999 Dec 20 # return to China +- 8:00 PRC C%sT ++ 8:00 Macau C%sT + + + ############################################################################### +@@ -784,6 +785,12 @@ + # Looks like the time zone split in Cyprus went through last night. + # http://cyprus-mail.com/2016/10/30/cyprus-new-division-two-time-zones-now-reality/ + ++# From Paul Eggert (2017-10-18): ++# Northern Cyprus will reinstate winter time on October 29, thus ++# staying in sync with the rest of Cyprus. See: Anastasiou A. ++# Cyprus to remain united in time. Cyprus Mail 2017-10-17. ++# https://cyprus-mail.com/2017/10/17/cyprus-remain-united-time/ ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Cyprus 1975 only - Apr 13 0:00 1:00 S + Rule Cyprus 1975 only - Oct 12 0:00 0 - +@@ -801,7 +808,8 @@ + Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14 + 2:00 Cyprus EE%sT 1998 Sep + 2:00 EUAsia EE%sT 2016 Sep 8 +- 3:00 - +03 ++ 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. +@@ -861,7 +869,7 @@ + + # From João Carrascalão, brother of the former governor of East Timor, in + # East Timor may be late for its millennium +-# (1999-12-26/31): ++# (1999-12-26/31): + # Portugal tried to change the time forward in 1974 because the sun + # rises too early but the suggestion raised a lot of problems with the + # Timorese and I still don't think it would work today because it +@@ -881,16 +889,15 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Dili 8:22:20 - LMT 1912 Jan 1 +- 8:00 - TLT 1942 Feb 21 23:00 # E Timor Time +- 9:00 - JST 1945 Sep 23 +- 9:00 - TLT 1976 May 3 +- 8:00 - WITA 2000 Sep 17 0:00 +- 9:00 - TLT ++ 8:00 - +08 1942 Feb 21 23:00 ++ 9:00 - +09 1976 May 3 ++ 8:00 - +08 2000 Sep 17 0:00 ++ 9:00 - +09 + + # India + + # From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic +-# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ ++# https://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ + # (2015-12-22): + # In January 1906, several thousand cotton-mill workers rioted on the + # outskirts of Bombay.... They were protesting the proposed abolition of +@@ -897,14 +904,55 @@ + # local time in favor of Indian Standard Time.... Journalists called this + # dispute the "Battle of the Clocks." It lasted nearly half a century. + ++# From Paul Eggert (2017-04-20): ++# Good luck trying to nail down old timekeeping records in India. ++# "... in the nineteenth century ... Madras Observatory took its magnetic ++# measurements on Göttingen time, its meteorological measurements on Madras ++# (local) time, dropped its time ball on Greenwich (ocean navigator's) time, ++# and distributed civil (local time)." -- Bartky IR. Selling the true time: ++# 19th-century timekeeping in america. Stanford U Press (2000), 247 note 19. ++# "A more potent cause of resistance to the general adoption of the present ++# standard time lies in the fact that it is Madras time. The citizen of ++# Bombay, proud of being 'primus in Indis' and of Calcutta, equally proud of ++# his city being the Capital of India, and - for a part of the year - the Seat ++# of the Supreme Government, alike look down on Madras, and refuse to change ++# the time they are using, for that of what they regard as a benighted ++# Presidency; while Madras, having for long given the standard time to the ++# rest of India, would resist the adoption of any other Indian standard in its ++# place." -- Oldham RD. On Time in India: a suggestion for its improvement. ++# Proceedings of the Asiatic Society of Bengal (April 1899), 49-55. ++# ++# "In 1870 ... Madras time - 'now used by the telegraph and regulated from the ++# only government observatory' - was suggested as a standard railway time, ++# first to be adopted on the Great Indian Peninsular Railway (GIPR).... ++# Calcutta, Bombay, and Karachi, were to be allowed to continue with their ++# local time for civil purposes." - Prasad R. Tracks of Change: Railways and ++# Everyday Life in Colonial India. Cambridge University Press (2016), 145. ++# ++# Reed S, Low F. The Indian Year Book 1936-37. Bennett, Coleman, pp 27-8. ++# https://archive.org/details/in.ernet.dli.2015.282212 ++# This lists +052110 as Madras local time used in railways, and says that on ++# 1906-01-01 railways and telegraphs in India switched to +0530. Some ++# municipalities retained their former time, and the time in Calcutta ++# continued to depend on whether you were at the railway station or at ++# government offices. Government time was at +055320 (according to Shanks) or ++# at +0554 (according to the Indian Year Book). Railway time is more ++# appropriate for our purposes, as it was better documented, it is what we do ++# elsewhere (e.g., Europe/London before 1880), and after 1906 it was ++# consistent in the region now identified by Asia/Kolkata. So, use railway ++# time for 1870-1941. Shanks is our only (and dubious) source for the ++# 1941-1945 data. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata +- 5:53:20 - HMT 1941 Oct # Howrah Mean Time? +- 6:30 - BURT 1942 May 15 # Burma Time ++Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata ++ 5:53:20 - HMT 1870 # Howrah Mean Time? ++ 5:21:10 - MMT 1906 Jan 1 # Madras local time ++ 5:30 - IST 1941 Oct ++ 5:30 1:00 +0630 1942 May 15 + 5:30 - IST 1942 Sep +- 5:30 1:00 IST 1945 Oct 15 ++ 5:30 1:00 +0630 1945 Oct 15 + 5:30 - IST +-# The following are like Asia/Kolkata: ++# Since 1970 the following are like Asia/Kolkata: + # Andaman Is + # Lakshadweep (Laccadive, Minicoy and Amindivi Is) + # Nicobar Is +@@ -953,33 +1001,33 @@ + # Shanks & Pottenger say the next transition was at 1924 Jan 1 0:13, + # but this must be a typo. + 7:07:12 - BMT 1923 Dec 31 23:47:12 # Batavia +- 7:20 - JAVT 1932 Nov # Java Time +- 7:30 - WIB 1942 Mar 23 +- 9:00 - JST 1945 Sep 23 +- 7:30 - WIB 1948 May +- 8:00 - WIB 1950 May +- 7:30 - WIB 1964 ++ 7:20 - +0720 1932 Nov ++ 7:30 - +0730 1942 Mar 23 ++ 9:00 - +09 1945 Sep 23 ++ 7:30 - +0730 1948 May ++ 8:00 - +08 1950 May ++ 7:30 - +0730 1964 + 7:00 - WIB + # west and central Borneo + Zone Asia/Pontianak 7:17:20 - LMT 1908 May + 7:17:20 - PMT 1932 Nov # Pontianak MT +- 7:30 - WIB 1942 Jan 29 +- 9:00 - JST 1945 Sep 23 +- 7:30 - WIB 1948 May +- 8:00 - WIB 1950 May +- 7:30 - WIB 1964 ++ 7:30 - +0730 1942 Jan 29 ++ 9:00 - +09 1945 Sep 23 ++ 7:30 - +0730 1948 May ++ 8:00 - +08 1950 May ++ 7:30 - +0730 1964 + 8:00 - WITA 1988 Jan 1 + 7:00 - WIB + # Sulawesi, Lesser Sundas, east and south Borneo + Zone Asia/Makassar 7:57:36 - LMT 1920 + 7:57:36 - MMT 1932 Nov # Macassar MT +- 8:00 - WITA 1942 Feb 9 +- 9:00 - JST 1945 Sep 23 ++ 8:00 - +08 1942 Feb 9 ++ 9:00 - +09 1945 Sep 23 + 8:00 - WITA + # Maluku Islands, West Papua, Papua + Zone Asia/Jayapura 9:22:48 - LMT 1932 Nov +- 9:00 - WIT 1944 Sep 1 +- 9:30 - ACST 1964 ++ 9:00 - +09 1944 Sep 1 ++ 9:30 - +0930 1964 + 9:00 - WIT + + # Iran +@@ -1011,8 +1059,6 @@ + # for at least the last 5 years. Before that, for a few years, the + # date used was the first Thursday night of Farvardin and the last + # Thursday night of Shahrivar, but I can't give exact dates.... +-# I have also changed the abbreviations to what is considered correct +-# here in Iran, IRST for regular time and IRDT for daylight saving time. + # + # From Roozbeh Pournader (2005-04-05): + # The text of the Iranian law, in effect since 1925, clearly mentions +@@ -1048,7 +1094,7 @@ + # From Reuters (2007-09-16), with a heads-up from Jesper Nørgaard Welen: + # ... the Guardian Council ... approved a law on Sunday to re-introduce + # daylight saving time ... +-# http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 ++# https://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 + # + # From Roozbeh Pournader (2007-11-05): + # This is quoted from Official Gazette of the Islamic Republic of +@@ -1119,9 +1165,9 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Tehran 3:25:44 - LMT 1916 + 3:25:44 - TMT 1946 # Tehran Mean Time +- 3:30 - IRST 1977 Nov +- 4:00 Iran IR%sT 1979 +- 3:30 Iran IR%sT ++ 3:30 - +0330 1977 Nov ++ 4:00 Iran +04/+05 1979 ++ 3:30 Iran +0330/+0430 + + + # Iraq +@@ -1147,7 +1193,7 @@ + # http://www.aswataliraq.info/look/article.tpl?id=2047&IdLanguage=17&IdPublication=4&NrArticle=71743&NrIssue=1&NrSection=10 + # + # We have published a short article in English about the change: +-# http://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html ++# https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Iraq 1982 only - May 1 0:00 1:00 D +@@ -1164,8 +1210,8 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Baghdad 2:57:40 - LMT 1890 + 2:57:36 - BMT 1918 # Baghdad Mean Time? +- 3:00 - AST 1982 May +- 3:00 Iraq A%sT ++ 3:00 - +03 1982 May ++ 3:00 Iraq +03/+04 + + + ############################################################################### +@@ -1455,17 +1501,15 @@ + # From Yu-Cheng Chuang (2013-07-12): + # ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause + # about standard time" ... The adoption began from Jan 1, 1896. +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # + # ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which + # means the whole Japan territory, including later occupations, adopt Japan + # Central Time (UTC+9). The adoption began on Oct 1, 1937. +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u +- 9:00 - JST 1896 Jan 1 +- 9:00 - JCST 1937 Oct 1 + 9:00 Japan J%sT + # Since 1938, all Japanese possessions have been like Asia/Tokyo. + +@@ -1524,7 +1568,7 @@ + # Official, in Arabic: + # http://www.petra.gov.jo/public_news/Nws_NewsDetails.aspx?Menu_ID=&Site_Id=2&lang=1&NewsID=133230&CatID=14 + # ... Our background/permalink about it +-# http://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html ++# https://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html + # ... + # http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?lang=2&site_id=1&NewsID=133313&Type=P + # ... says midnight for the coming one and 1:00 for the ones in the future +@@ -1583,12 +1627,12 @@ + # was "blended" with the Central zone. Therefore, Kazakhstan now has + # two time zones, and difference between them is one hour. The zone + # closer to UTC is the former Western zone (probably still called the +-# same), encompassing four provinces in the west: Aqtobe, Atyrau, +-# Mangghystau, and West Kazakhstan. The other zone encompasses ++# same), encompassing four provinces in the west: Aqtöbe, Atyraū, ++# Mangghystaū, and West Kazakhstan. The other zone encompasses + # everything else.... I guess that would make Kazakhstan time zones + # de jure UTC+5 and UTC+6 respectively. + +-# From Stepan Golosunov (2016-03-27) ([*] means see later comments below): ++# From Stepan Golosunov (2016-03-27): + # Review of the linked documents from http://adilet.zan.kz/ + # produced the following data for post-1991 Kazakhstan: + # +@@ -1634,7 +1678,7 @@ + # + # This implies that on 1991-03-31 Asia/Oral remained on +04/+05 while + # the rest of Kazakhstan switched from +06/+07 to +05/06 or from +05/06 +-# to +04/+05. It's unclear how Kzyl-Orda oblast moved into the fifth ++# to +04/+05. It's unclear how Qyzylorda oblast moved into the fifth + # time belt. (By switching from +04/+05 to +05/+06 on 1991-09-29?) ... + # + # 1. Act of the Cabinet of Ministers of the Republic of Kazakhstan +@@ -1647,18 +1691,18 @@ + # on the whole territory of Kazakhstan 1 hour forward on 1992-01-19 at + # 2:00, specified DST rules. It acknowledged that Kazakhstan was + # located in the fourth and the fifth time belts and specified the +-# border between them to be located east of Kustanay and Aktyubinsk +-# oblasts (notably including Turgai and Kzyl-Orda oblasts into the fifth ++# border between them to be located east of Qostanay and Aktyubinsk ++# oblasts (notably including Turgai and Qyzylorda oblasts into the fifth + # time belt). + # + # This means switch on 1992-01-19 at 2:00 from +04/+05 to +05/+06 for +-# Asia/Aqtau, Asia/Aqtobe, Asia/Oral, Atyrau and Kustanay oblasts; from +-# +05/+06 to +06/+07 for Asia/Almaty and Asia/Qyzylorda (and Arkalyk) [*].... ++# Asia/Aqtau, Asia/Aqtobe, Asia/Oral, Atyraū and Qostanay oblasts; from ++# +05/+06 to +06/+07 for Asia/Almaty and Asia/Qyzylorda (and Arkalyk).... + # + # 2. Act of the Cabinet of Ministers of the Republic of Kazakhstan + # from 1992-03-27 No. 284 + # http://adilet.zan.kz/rus/docs/P920000284_ +-# cancels extra hour ("decree time") for Uralsk and Kzyl-Orda oblasts ++# cancels extra hour ("decree time") for Uralsk and Qyzylorda oblasts + # since the last Sunday of March 1992, while keeping them in the fourth + # and the fifth time belts respectively. + # +@@ -1665,7 +1709,7 @@ + # 3. Order of the Prime Minister of the Republic of Kazakhstan + # from 1994-09-23 No. 384 + # http://adilet.zan.kz/rus/docs/R940000384_ +-# cancels the extra hour ("decree time") on the territory of Mangystau ++# cancels the extra hour ("decree time") on the territory of Mangghystaū + # oblast since the last Sunday of September 1994 (saying that time on + # the territory would correspond to the third time belt as a + # result).... +@@ -1679,15 +1723,12 @@ + # 5. Act of the Government of the Republic of Kazakhstan + # from 1999-03-26 No. 305 + # http://adilet.zan.kz/rus/docs/P990000305_ +-# cancels the extra hour ("decree time") for Atyrau oblast since the ++# cancels the extra hour ("decree time") for Atyraū oblast since the + # last Sunday of March 1999 while retaining the oblast in the fourth + # time belt. + # +-# This means change from +05/+06 to +04/+05. ++# This means change from +05/+06 to +04/+05.... + # +-# There is no zone for Atyrau currently (listed under Asia/Aqtau in +-# zone1970.tab).[*] +-# + # 6. Act of the Government of the Republic of Kazakhstan + # from 2000-11-23 No. 1749 + # http://adilet.zan.kz/rus/archive/docs/P000001749_/23.11.2000 +@@ -1696,10 +1737,10 @@ + # The only changes I noticed are in definition of the border between the + # fourth and the fifth time belts. They account for changes in spelling + # and administrative division (splitting of Turgai oblast in 1997 +-# probably changed time in territories incorporated into Kostanay oblast +-# (including Arkalyk) from +06/+07 to +05/+06) and move Kyzylorda oblast ++# probably changed time in territories incorporated into Qostanay oblast ++# (including Arkalyk) from +06/+07 to +05/+06) and move Qyzylorda oblast + # from being in the fifth time belt and not using decree time into the +-# fourth time belt (no change in practice).[*] ++# fourth time belt (no change in practice). + # + # 7. Act of the Government of the Republic of Kazakhstan + # from 2003-12-29 No. 1342 +@@ -1709,7 +1750,7 @@ + # 8. Act of the Government of the Republic of Kazakhstan + # from 2004-07-20 No. 775 + # http://adilet.zan.kz/rus/archive/docs/P040000775_/20.07.2004 +-# modified the 2000-11-23 act to move Kostanay and Kyzylorda oblasts into ++# modified the 2000-11-23 act to move Qostanay and Qyzylorda oblasts into + # the fifth time belt and add Aktobe oblast to the list of regions not + # using extra hour ("decree time"), leaving Kazakhstan with only 2 time + # zones (+04/+05 and +06/+07). The changes were to be implemented +@@ -1721,14 +1762,14 @@ + # http://adilet.zan.kz/rus/docs/P040001059_ + # modified the 2000-11-23 act to remove exceptions from the "decree time" + # (leaving Kazakhstan in +05/+06 and +06/+07 zones), amended the +-# 2004-07-20 act to implement changes for Atyrau, West Kazakhstan, +-# Kostanay, Kyzylorda and Mangystau oblasts by not moving clocks +-# during the 2014 transition to "winter" time. ++# 2004-07-20 act to implement changes for Atyraū, West Kazakhstan, ++# Qostanay, Qyzylorda and Mangghystaū oblasts by not moving clocks ++# during the 2004 transition to "winter" time. + # +-# This means transition from +04/+05 to +05/+06 for Atyrau oblast (no ++# This means transition from +04/+05 to +05/+06 for Atyraū oblast (no + # zone currently), Asia/Oral, Asia/Aqtau and transition from +05/+06 to +-# +06/+07 for Kostanay oblast (Kostanay and Arkalyk, no zones currently) +-# and Asia/Qyzylorda on 2004-10-31 at 3:00....[*] ++# +06/+07 for Qostanay oblast (Qostanay and Arkalyk, no zones currently) ++# and Asia/Qyzylorda on 2004-10-31 at 3:00.... + # + # 10. Act of the Government of the Republic of Kazakhstan + # from 2005-03-15 No. 231 +@@ -1744,14 +1785,25 @@ + # Kazakh 1992-01-13 act appears to provide the same rules and 1992-03-27 + # act was to be enacted on the last Sunday of March 1992. + +-# From Paul Eggert (2016-04-15): +-# The tables below should reflect Stepan Golosunov's remarks above, +-# except for the items marked "[*]" which I haven't gotten to yet. +-# It looks like we will need new zones Asia/Atyrau and Asia/Qostanay +-# to handle changes from 1992 through 2004 that we did not previously +-# know about. ++# From Stepan Golosunov (2016-11-08): ++# Turgai reorganization should affect only southern part of Qostanay ++# oblast. Which should probably be separated into Asia/Arkalyk zone. ++# (There were also 1970, 1988 and 1990 Turgai oblast reorganizations ++# according to wikipedia.) ++# ++# [For Qostanay] http://www.ng.kz/gazeta/195/hranit/ ++# suggests that clocks were to be moved 40 minutes backwards on ++# 1920-01-01 to the fourth time belt. But I do not understand ++# how that could happen.... ++# ++# [For Atyrau and Oral] 1919 decree ++# (http://www.worldtimezone.com/dst_news/dst_news_russia-1919-02-08.html ++# and in Byalokoz) lists Ural river (plus 10 versts on its left bank) in ++# the third time belt (before 1930 this means +03). + +-# ++# From Paul Eggert (2016-12-06): ++# The tables below reflect Golosunov's remarks, with exceptions as noted. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + # + # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan +@@ -1764,6 +1816,8 @@ + 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s + 6:00 - +06 + # Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY) ++# This currently includes Qostanay (aka Kostanay, Kustanay) (KZ-KUS); ++# see comments below. + Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 + 4:00 - +04 1930 Jun 21 + 5:00 - +05 1981 Apr 1 +@@ -1775,7 +1829,21 @@ + 6:00 RussiaAsia +06/+07 1992 Mar 29 2:00s + 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + 6:00 - +06 +-# Aqtobe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) ++# The following zone is like Asia/Qyzylorda except for being one ++# hour earlier from 1991-09-29 to 1992-03-29. The 1991/2 rules for ++# Qostanay are unclear partly because of the 1997 Turgai ++# reorganization, so this zone is commented out for now. ++#Zone Asia/Qostanay 4:14:20 - LMT 1924 May 2 ++# 4:00 - +04 1930 Jun 21 ++# 5:00 - +05 1981 Apr 1 ++# 5:00 1:00 +06 1981 Oct 1 ++# 6:00 - +06 1982 Apr 1 ++# 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s ++# 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s ++# 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s ++# 6:00 - +06 ++# ++# Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) + Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 + 4:00 - +04 1930 Jun 21 + 5:00 - +05 1981 Apr 1 +@@ -1785,14 +1853,11 @@ + 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s + 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s + 5:00 - +05 +-# Qostanay (KZ-KUS) +- +-# Mangghystau (KZ-MAN) ++# Mangghystaū (KZ-MAN) + # Aqtau was not founded until 1963, but it represents an inhabited region, + # so include time stamps before 1963. + Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 + 4:00 - +04 1930 Jun 21 +- 5:00 - +05 1963 + 5:00 - +05 1981 Oct 1 + 6:00 - +06 1982 Apr 1 + 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s +@@ -1800,12 +1865,22 @@ + 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s + 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s + 5:00 - +05 +- ++# Atyraū (KZ-ATY) is like Mangghystaū except it switched from ++# +04/+05 to +05/+06 in spring 1999, not fall 1994. ++Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 ++ 3:00 - +03 1930 Jun 21 ++ 5:00 - +05 1981 Oct 1 ++ 6:00 - +06 1982 Apr 1 ++ 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s ++ 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s ++ 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s ++ 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s ++ 5:00 - +05 + # West Kazakhstan (KZ-ZAP) + # From Paul Eggert (2016-03-18): + # The 1989 transition is from USSR act No. 227 (1989-03-14). + Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk +- 4:00 - +04 1930 Jun 21 ++ 3:00 - +03 1930 Jun 21 + 5:00 - +05 1981 Apr 1 + 5:00 1:00 +06 1981 Oct 1 + 6:00 - +06 1982 Apr 1 +@@ -1851,9 +1926,9 @@ + # between 1987 and 1988 ... + + # From Sanghyuk Jung (2014-10-29): +-# http://mm.icann.org/pipermail/tz/2014-October/021830.html ++# https://mm.icann.org/pipermail/tz/2014-October/021830.html + # According to the Korean Wikipedia +-# http://ko.wikipedia.org/wiki/한국_표준시 ++# https://ko.wikipedia.org/wiki/한국_표준시 + # [oldid=12896437 2014-09-04 08:03 UTC] + # DST in Republic of Korea was as follows.... And I checked old + # newspapers in Korean, all articles correspond with data in Wikipedia. +@@ -1911,7 +1986,6 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1 + 8:30 - KST 1912 Jan 1 +- 9:00 - JCST 1937 Oct 1 + 9:00 - JST 1945 Sep 8 + 9:00 - KST 1954 Mar 21 + 8:30 ROK K%sT 1961 Aug 10 +@@ -1918,7 +1992,6 @@ + 9:00 ROK K%sT + Zone Asia/Pyongyang 8:23:00 - LMT 1908 Apr 1 + 8:30 - KST 1912 Jan 1 +- 9:00 - JCST 1937 Oct 1 + 9:00 - JST 1945 Aug 24 + 9:00 - KST 2015 Aug 15 00:00 + 8:30 - KST +@@ -1973,13 +2046,13 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kuala_Lumpur 6:46:46 - LMT 1901 Jan 1 + 6:55:25 - SMT 1905 Jun 1 # Singapore M.T. +- 7:00 - MALT 1933 Jan 1 # Malaya Time +- 7:00 0:20 MALST 1936 Jan 1 +- 7:20 - MALT 1941 Sep 1 +- 7:30 - MALT 1942 Feb 16 +- 9:00 - JST 1945 Sep 12 +- 7:30 - MALT 1982 Jan 1 +- 8:00 - MYT # Malaysia Time ++ 7:00 - +07 1933 Jan 1 ++ 7:00 0:20 +0720 1936 Jan 1 ++ 7:20 - +0720 1941 Sep 1 ++ 7:30 - +0730 1942 Feb 16 ++ 9:00 - +09 1945 Sep 12 ++ 7:30 - +0730 1982 Jan 1 ++ 8:00 - +08 + # Sabah & Sarawak + # From Paul Eggert (2014-08-12): + # The data entries here are mostly from Shanks & Pottenger, but the 1942, 1945 +@@ -1986,17 +2059,16 @@ + # and 1982 transition dates are from Mok Ly Yng. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kuching 7:21:20 - LMT 1926 Mar +- 7:30 - BORT 1933 # Borneo Time +- 8:00 NBorneo BOR%sT 1942 Feb 16 +- 9:00 - JST 1945 Sep 12 +- 8:00 - BORT 1982 Jan 1 +- 8:00 - MYT ++ 7:30 - +0730 1933 ++ 8:00 NBorneo +08/+0820 1942 Feb 16 ++ 9:00 - +09 1945 Sep 12 ++ 8:00 - +08 + + # Maldives + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Maldives 4:54:00 - LMT 1880 # Male + 4:54:00 - MMT 1960 # Male Mean Time +- 5:00 - MVT # Maldives Time ++ 5:00 - +05 + + # Mongolia + +@@ -2078,7 +2150,7 @@ + # +08:00 instead. Different sources appear to disagree with the tz + # database on this, e.g.: + # +-# http://www.timeanddate.com/worldclock/city.html?n=1026 ++# https://www.timeanddate.com/worldclock/city.html?n=1026 + # http://www.worldtimeserver.com/current_time_in_MN.aspx + # + # both say GMT+08:00. +@@ -2123,6 +2195,10 @@ + # correction of 02:00 (in the previous edition) not being done correctly + # in the latest edition; so ignore it for now. + ++# From Ganbold Tsagaankhuu (2017-02-09): ++# Mongolian Government meeting has concluded today to cancel daylight ++# saving time adoption in Mongolia. Source: http://zasag.mn/news/view/16192 ++ + Rule Mongol 1985 1998 - Mar lastSun 0:00 1:00 S + Rule Mongol 1984 1998 - Sep lastSun 0:00 0 - + # IATA SSIM (1999-09) says Mongolia no longer observes DST. +@@ -2129,31 +2205,31 @@ + Rule Mongol 2001 only - Apr lastSat 2:00 1:00 S + Rule Mongol 2001 2006 - Sep lastSat 2:00 0 - + Rule Mongol 2002 2006 - Mar lastSat 2:00 1:00 S +-Rule Mongol 2015 max - Mar lastSat 2:00 1:00 S +-Rule Mongol 2015 max - Sep lastSat 0:00 0 - ++Rule Mongol 2015 2016 - Mar lastSat 2:00 1:00 S ++Rule Mongol 2015 2016 - Sep lastSat 0:00 0 - + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + # Hovd, a.k.a. Chovd, Dund-Us, Dzhargalant, Khovd, Jirgalanta + Zone Asia/Hovd 6:06:36 - LMT 1905 Aug +- 6:00 - HOVT 1978 # Hovd Time +- 7:00 Mongol HOV%sT ++ 6:00 - +06 1978 ++ 7:00 Mongol +07/+08 + # Ulaanbaatar, a.k.a. Ulan Bataar, Ulan Bator, Urga + Zone Asia/Ulaanbaatar 7:07:32 - LMT 1905 Aug +- 7:00 - ULAT 1978 # Ulaanbaatar Time +- 8:00 Mongol ULA%sT ++ 7:00 - +07 1978 ++ 8:00 Mongol +08/+09 + # Choibalsan, a.k.a. Bajan Tümen, Bajan Tumen, Chojbalsan, + # Choybalsan, Sanbejse, Tchoibalsan + Zone Asia/Choibalsan 7:38:00 - LMT 1905 Aug +- 7:00 - ULAT 1978 +- 8:00 - ULAT 1983 Apr +- 9:00 Mongol CHO%sT 2008 Mar 31 # Choibalsan Time +- 8:00 Mongol CHO%sT ++ 7:00 - +07 1978 ++ 8:00 - +08 1983 Apr ++ 9:00 Mongol +09/+10 2008 Mar 31 ++ 8:00 Mongol +08/+09 + + # Nepal + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Kathmandu 5:41:16 - LMT 1920 +- 5:30 - IST 1986 +- 5:45 - NPT # Nepal Time ++ 5:30 - +0530 1986 ++ 5:45 - +0545 + + # Oman + # See Asia/Dubai. +@@ -2204,7 +2280,7 @@ + # help reduce load shedding by approving the closure of commercial centres at + # 9pm and moving clocks forward by one hour for the next three months. ...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html ++# http://www.worldtimezone.com/dst_news/dst_news_pakistan01.html + # http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4 + + # From Arthur David Olson (2008-05-19): +@@ -2270,7 +2346,7 @@ + # + # We have confirmed this year's end date with both with the Ministry of + # Water and Power and the Pakistan Electric Power Company: +-# http://www.timeanddate.com/news/time/pakistan-ends-dst09.html ++# https://www.timeanddate.com/news/time/pakistan-ends-dst09.html + + # From Christoph Göhre (2009-10-01): + # [T]he German Consulate General in Karachi reported me today that Pakistan +@@ -2302,10 +2378,10 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Karachi 4:28:12 - LMT 1907 +- 5:30 - IST 1942 Sep +- 5:30 1:00 IST 1945 Oct 15 +- 5:30 - IST 1951 Sep 30 +- 5:00 - KART 1971 Mar 26 # Karachi Time ++ 5:30 - +0530 1942 Sep ++ 5:30 1:00 +0630 1945 Oct 15 ++ 5:30 - +0530 1951 Sep 30 ++ 5:00 - +05 1971 Mar 26 + 5:00 Pakistan PK%sT # Pakistan Time + + # Palestine +@@ -2452,7 +2528,7 @@ + # + # We are not sure if Gaza will do the same, last year they had a different + # end date, we will keep this page updated: +-# http://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html ++# https://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html + + # From Alexander Krivenyshev (2009-09-02): + # Seems that Gaza Strip will go back to Winter Time same date as West Bank. +@@ -2490,7 +2566,7 @@ + # the clocks were set back one hour at 2010-08-11 00:00:00 local time in + # Gaza and the West Bank. + # Some more background info: +-# http://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html ++# https://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html + + # From Steffen Thorsen (2011-08-26): + # Gaza and the West Bank did go back to standard time in the beginning of +@@ -2500,7 +2576,7 @@ + # + # http://www.maannews.net/eng/ViewDetails.aspx?ID=416217 + # Additional info: +-# http://www.timeanddate.com/news/time/palestine-dst-2011.html ++# https://www.timeanddate.com/news/time/palestine-dst-2011.html + + # From Alexander Krivenyshev (2011-08-27): + # According to the article in The Jerusalem Post: +@@ -2510,7 +2586,7 @@ + # The Hamas government said on Saturday that it won't observe summertime after + # the Muslim feast of Id al-Fitr, which begins on Tuesday..." + # ... +-# http://www.jpost.com/MiddleEast/Article.aspx?id=235650 ++# https://www.jpost.com/MiddleEast/Article.aspx?id=235650 + # http://www.worldtimezone.com/dst_news/dst_news_gazastrip05.html + # The rules for Egypt are stolen from the 'africa' file. + +@@ -2531,7 +2607,7 @@ + # http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html ++# https://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html + + # From Steffen Thorsen (2013-03-26): + # The following news sources tells that Palestine will "start daylight saving +@@ -2551,11 +2627,11 @@ + + # From Steffen Thorsen (2015-03-03): + # Sources such as http://www.alquds.com/news/article/view/id/548257 +-# and http://www.raya.ps/ar/news/890705.html say Palestine areas will ++# and https://www.raya.ps/ar/news/890705.html say Palestine areas will + # start DST on 2015-03-28 00:00 which is one day later than expected. + # + # From Paul Eggert (2015-03-03): +-# http://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 ++# https://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 + # says that the fall 2014 transition was Oct 23 at 24:00. + + # From Hannah Kreitem (2016-03-09): +@@ -2579,8 +2655,8 @@ + # + # From Paul Eggert (2016-10-19): + # It's also consistent with predictions in the following URLs today: +-# http://www.timeanddate.com/time/change/gaza-strip/gaza +-# http://www.timeanddate.com/time/change/west-bank/hebron ++# https://www.timeanddate.com/time/change/gaza-strip/gaza ++# https://www.timeanddate.com/time/change/west-bank/hebron + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule EgyptAsia 1957 only - May 10 0:00 1:00 S +@@ -2616,7 +2692,7 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Gaza 2:17:52 - LMT 1900 Oct +- 2:00 Zion EET 1948 May 15 ++ 2:00 Zion EET/EEST 1948 May 15 + 2:00 EgyptAsia EE%sT 1967 Jun 5 + 2:00 Zion I%sT 1996 + 2:00 Jordan EE%sT 1999 +@@ -2629,7 +2705,7 @@ + 2:00 Palestine EE%sT + + Zone Asia/Hebron 2:20:23 - LMT 1900 Oct +- 2:00 Zion EET 1948 May 15 ++ 2:00 Zion EET/EEST 1948 May 15 + 2:00 EgyptAsia EE%sT 1967 Jun 5 + 2:00 Zion I%sT 1996 + 2:00 Jordan EE%sT 1999 +@@ -2643,7 +2719,7 @@ + # Philippines, issued a proclamation announcing that 1844-12-30 was to + # be immediately followed by 1845-01-01; see R.H. van Gent's + # History of the International Date Line +-# http://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm ++# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm + # The rest of the data entries are from Shanks & Pottenger. + + # From Jesper Nørgaard Welen (2006-04-26): +@@ -2670,15 +2746,15 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31 + 8:04:00 - LMT 1899 May 11 +- 8:00 Phil PH%sT 1942 May +- 9:00 - JST 1944 Nov +- 8:00 Phil PH%sT ++ 8:00 Phil +08/+09 1942 May ++ 9:00 - +09 1944 Nov ++ 8:00 Phil +08/+09 + + # Qatar + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Qatar 3:26:08 - LMT 1920 # Al Dawhah / Doha +- 4:00 - GST 1972 Jun +- 3:00 - AST ++ 4:00 - +04 1972 Jun ++ 3:00 - +03 + Link Asia/Qatar Asia/Bahrain + + # Saudi Arabia +@@ -2705,7 +2781,7 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Riyadh 3:06:52 - LMT 1947 Mar 14 +- 3:00 - AST ++ 3:00 - +03 + Link Asia/Riyadh Asia/Aden # Yemen + Link Asia/Riyadh Asia/Kuwait + +@@ -2715,14 +2791,13 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1 + 6:55:25 - SMT 1905 Jun 1 # Singapore M.T. +- 7:00 - MALT 1933 Jan 1 # Malaya Time +- 7:00 0:20 MALST 1936 Jan 1 +- 7:20 - MALT 1941 Sep 1 +- 7:30 - MALT 1942 Feb 16 +- 9:00 - JST 1945 Sep 12 +- 7:30 - MALT 1965 Aug 9 # independence +- 7:30 - SGT 1982 Jan 1 # Singapore Time +- 8:00 - SGT ++ 7:00 - +07 1933 Jan 1 ++ 7:00 0:20 +0720 1936 Jan 1 ++ 7:20 - +0720 1941 Sep 1 ++ 7:30 - +0730 1942 Feb 16 ++ 9:00 - +09 1945 Sep 12 ++ 7:30 - +0730 1982 Jan 1 ++ 8:00 - +08 + + # Spratly Is + # no information +@@ -2781,8 +2856,8 @@ + Zone Asia/Colombo 5:19:24 - LMT 1880 + 5:19:32 - MMT 1906 # Moratuwa Mean Time + 5:30 - +0530 1942 Jan 5 +- 5:30 0:30 +0530/+06 1942 Sep +- 5:30 1:00 +0530/+0630 1945 Oct 16 2:00 ++ 5:30 0:30 +06 1942 Sep ++ 5:30 1:00 +0630 1945 Oct 16 2:00 + 5:30 - +0530 1996 May 25 0:00 + 6:30 - +0630 1996 Oct 26 0:30 + 6:00 - +06 2006 Apr 15 0:30 +@@ -2908,7 +2983,7 @@ + # We have not found any sources saying anything about when DST ends this year. + # + # Our summary +-# http://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html ++# https://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html + + # From Steffen Thorsen (2009-10-27): + # The Syrian Arab News Network on 2009-09-29 reported that Syria will +@@ -2935,7 +3010,7 @@ + # http://www.sana.sy/ara/2/2012/03/26/408215.htm + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/syria-dst-2012.html ++# https://www.timeanddate.com/news/time/syria-dst-2012.html + + # From Arthur David Olson (2012-03-27): + # Assume last Friday in March going forward XXX. +@@ -2964,7 +3039,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Bangkok 6:42:04 - LMT 1880 + 6:42:04 - BMT 1920 Apr # Bangkok Mean Time +- 7:00 - ICT ++ 7:00 - +07 + Link Asia/Bangkok Asia/Phnom_Penh # Cambodia + Link Asia/Bangkok Asia/Vientiane # Laos + +@@ -2980,7 +3055,7 @@ + # United Arab Emirates + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Dubai 3:41:12 - LMT 1920 +- 4:00 - GST ++ 4:00 - +04 + Link Asia/Dubai Asia/Muscat # Oman + + # Uzbekistan +@@ -3018,7 +3093,7 @@ + # is quoted verbatim in: + # http://www.thoigian.com.vn/?mPage=P80D01 + # is translated by Brian Inglis in: +-# http://mm.icann.org/pipermail/tz/2014-October/021654.html ++# https://mm.icann.org/pipermail/tz/2014-October/021654.html + # and is the basis for the information below. + # + # The 1906 transition was effective July 1 and standardized Indochina to +@@ -3053,15 +3128,15 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Ho_Chi_Minh 7:06:40 - LMT 1906 Jul 1 +- 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1955 Jul 1 +- 7:00 - ICT 1959 Dec 31 23:00 +- 8:00 - IDT 1975 Jun 13 +- 7:00 - ICT ++ 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1955 Jul 1 ++ 7:00 - +07 1959 Dec 31 23:00 ++ 8:00 - +08 1975 Jun 13 ++ 7:00 - +07 + + # Yemen + # See Asia/Riyadh. +--- contrib/tzdata/australasia.orig ++++ contrib/tzdata/australasia +@@ -44,8 +44,8 @@ + 8:00 Aus AW%sT 1943 Jul + 8:00 AW AW%sT + Zone Australia/Eucla 8:35:28 - LMT 1895 Dec +- 8:45 Aus ACW%sT 1943 Jul +- 8:45 AW ACW%sT ++ 8:45 Aus +0845/+0945 1943 Jul ++ 8:45 AW +0845/+0945 + + # Queensland + # +@@ -212,7 +212,8 @@ + Rule LH 2008 max - Oct Sun>=1 2:00 0:30 D + Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb + 10:00 - AEST 1981 Mar +- 10:30 LH LH%sT ++ 10:30 LH +1030/+1130 1985 Jul ++ 10:30 LH +1030/+11 + + # Australian miscellany + # +@@ -250,12 +251,12 @@ + 0 - -00 1948 Mar 25 + 10:00 Aus AE%sT 1967 + 10:00 AT AE%sT 2010 Apr 4 3:00 +- 11:00 - MIST # Macquarie I Standard Time ++ 11:00 - +11 + + # Christmas + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Christmas 7:02:52 - LMT 1895 Feb +- 7:00 - CXT # Christmas Island Time ++ 7:00 - +07 + + # Cocos (Keeling) Is + # These islands were ruled by the Ross family from about 1830 to 1978. +@@ -262,7 +263,7 @@ + # We don't know when standard time was introduced; for now, we guess 1900. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Indian/Cocos 6:27:40 - LMT 1900 +- 6:30 - CCT # Cocos Islands Time ++ 6:30 - +0630 + + + # Fiji +@@ -292,7 +293,7 @@ + # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166 + # + # A bit more background info here: +-# http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html ++# https://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html + + # From Alexander Krivenyshev (2010-10-24): + # According to Radio Fiji and Fiji Times online, Fiji will end DST 3 +@@ -356,9 +357,12 @@ + # clocks go forward an hour at 2am to 3am.... Daylight Saving will + # end at 3.00am on Sunday 15th January 2017." + +-# From Paul Eggert (2016-10-03): +-# For now, guess DST from 02:00 the first Sunday in November to +-# 03:00 the third Sunday in January. Although ad hoc, it matches ++# From Paul Eggert (2017-08-21): ++# Dominic Fok writes (2017-08-20) that DST ends 2018-01-14, citing ++# Extraordinary Government of Fiji Gazette Supplement No. 21 (2017-08-27), ++# [Legal Notice No. 41] of an order of the previous day by J Usamate. ++# For now, guess DST from 02:00 the first Sunday in November to 03:00 ++# the first Sunday on or after January 14. Although ad hoc, it matches + # transitions since late 2014 and seems more likely to match future + # practice than guessing no DST. + +@@ -372,19 +376,19 @@ + Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - + Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - + Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S +-Rule Fiji 2015 max - Jan Sun>=15 3:00 0 - ++Rule Fiji 2015 max - Jan Sun>=14 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva +- 12:00 Fiji FJ%sT # Fiji Time ++ 12:00 Fiji +12/+13 + + # French Polynesia + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea +- -9:00 - GAMT # Gambier Time ++ -9:00 - -09 + Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct +- -9:30 - MART # Marquesas Time ++ -9:30 - -0930 + Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete +- -10:00 - TAHT # Tahiti Time ++ -10:00 - -10 + # Clipperton (near North America) is administered from French Polynesia; + # it is uninhabited. + +@@ -399,15 +403,15 @@ + # Kiribati + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Tarawa 11:32:04 - LMT 1901 # Bairiki +- 12:00 - GILT # Gilbert Is Time ++ 12:00 - +12 + Zone Pacific/Enderbury -11:24:20 - LMT 1901 +- -12:00 - PHOT 1979 Oct # Phoenix Is Time +- -11:00 - PHOT 1995 +- 13:00 - PHOT ++ -12:00 - -12 1979 Oct ++ -11:00 - -11 1995 ++ 13:00 - +13 + Zone Pacific/Kiritimati -10:29:20 - LMT 1901 +- -10:40 - LINT 1979 Oct # Line Is Time +- -10:00 - LINT 1995 +- 14:00 - LINT ++ -10:40 - -1040 1979 Oct ++ -10:00 - -10 1995 ++ 14:00 - +14 + + # N Mariana Is + # See Pacific/Guam. +@@ -415,31 +419,31 @@ + # Marshall Is + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Majuro 11:24:48 - LMT 1901 +- 11:00 - MHT 1969 Oct # Marshall Islands Time +- 12:00 - MHT ++ 11:00 - +11 1969 Oct ++ 12:00 - +12 + Zone Pacific/Kwajalein 11:09:20 - LMT 1901 +- 11:00 - MHT 1969 Oct +- -12:00 - KWAT 1993 Aug 20 # Kwajalein Time +- 12:00 - MHT ++ 11:00 - +11 1969 Oct ++ -12:00 - -12 1993 Aug 20 ++ 12:00 - +12 + + # Micronesia + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Chuuk 10:07:08 - LMT 1901 +- 10:00 - CHUT # Chuuk Time ++ 10:00 - +10 + Zone Pacific/Pohnpei 10:32:52 - LMT 1901 # Kolonia +- 11:00 - PONT # Pohnpei Time ++ 11:00 - +11 + Zone Pacific/Kosrae 10:51:56 - LMT 1901 +- 11:00 - KOST 1969 Oct # Kosrae Time +- 12:00 - KOST 1999 +- 11:00 - KOST ++ 11:00 - +11 1969 Oct ++ 12:00 - +12 1999 ++ 11:00 - +11 + + # Nauru + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Nauru 11:07:40 - LMT 1921 Jan 15 # Uaobe +- 11:30 - NRT 1942 Mar 15 # Nauru Time +- 9:00 - JST 1944 Aug 15 +- 11:30 - NRT 1979 May +- 12:00 - NRT ++ 11:30 - +1130 1942 Mar 15 ++ 9:00 - +09 1944 Aug 15 ++ 11:30 - +1130 1979 May ++ 12:00 - +12 + + # New Caledonia + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +@@ -450,7 +454,7 @@ + Rule NC 1997 only - Mar 2 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 # Nouméa +- 11:00 NC NC%sT ++ 11:00 NC +11/+12 + + + ############################################################################### +@@ -491,8 +495,8 @@ + 11:30 NZ NZ%sT 1946 Jan 1 + 12:00 NZ NZ%sT + Zone Pacific/Chatham 12:13:48 - LMT 1868 Nov 2 +- 12:15 - CHAST 1946 Jan 1 +- 12:45 Chatham CHA%sT ++ 12:15 - +1215 1946 Jan 1 ++ 12:45 Chatham +1245/+1345 + + Link Pacific/Auckland Antarctica/McMurdo + +@@ -514,8 +518,8 @@ + Rule Cook 1979 1990 - Oct lastSun 0:00 0:30 HS + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Rarotonga -10:39:04 - LMT 1901 # Avarua +- -10:30 - CKT 1978 Nov 12 # Cook Is Time +- -10:00 Cook CK%sT ++ -10:30 - -1030 1978 Nov 12 ++ -10:00 Cook -10/-0930 + + ############################################################################### + +@@ -523,29 +527,29 @@ + # Niue + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Niue -11:19:40 - LMT 1901 # Alofi +- -11:20 - NUT 1951 # Niue Time +- -11:30 - NUT 1978 Oct 1 +- -11:00 - NUT ++ -11:20 - -1120 1951 ++ -11:30 - -1130 1978 Oct 1 ++ -11:00 - -11 + + # Norfolk + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston +- 11:12 - NMT 1951 # Norfolk Mean Time +- 11:30 - NFT 1974 Oct 27 02:00 # Norfolk T. +- 11:30 1:00 NFST 1975 Mar 2 02:00 +- 11:30 - NFT 2015 Oct 4 02:00 +- 11:00 - NFT ++ 11:12 - +1112 1951 ++ 11:30 - +1130 1974 Oct 27 02:00 ++ 11:30 1:00 +1230 1975 Mar 2 02:00 ++ 11:30 - +1130 2015 Oct 4 02:00 ++ 11:00 - +11 + + # Palau (Belau) + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror +- 9:00 - PWT # Palau Time ++ 9:00 - +09 + + # Papua New Guinea + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Port_Moresby 9:48:40 - LMT 1880 + 9:48:32 - PMMT 1895 # Port Moresby Mean Time +- 10:00 - PGT # Papua New Guinea Time ++ 10:00 - +10 + # + # From Paul Eggert (2014-10-13): + # Base the Bougainville entry on the Arawa-Kieta region, which appears to have +@@ -556,32 +560,30 @@ + # The World War II entries below are instead based on Arawa-Kieta. + # The Japanese occupied Kieta in July 1942, + # according to the Pacific War Online Encyclopedia +-# http://pwencycl.kgbudge.com/B/o/Bougainville.htm ++# https://pwencycl.kgbudge.com/B/o/Bougainville.htm + # and seem to have controlled it until their 1945-08-21 surrender. + # + # The Autonomous Region of Bougainville switched from UT +10 to +11 +-# on 2014-12-28 at 02:00. They call +11 "Bougainville Standard Time"; +-# abbreviate this as BST. See: ++# on 2014-12-28 at 02:00. They call +11 "Bougainville Standard Time". ++# See: + # http://www.bougainville24.com/bougainville-issues/bougainville-gets-own-timezone/ + # + Zone Pacific/Bougainville 10:22:16 - LMT 1880 + 9:48:32 - PMMT 1895 +- 10:00 - PGT 1942 Jul +- 9:00 - JST 1945 Aug 21 +- 10:00 - PGT 2014 Dec 28 2:00 +- 11:00 - BST ++ 10:00 - +10 1942 Jul ++ 9:00 - +09 1945 Aug 21 ++ 10:00 - +10 2014 Dec 28 2:00 ++ 11:00 - +11 + + # Pitcairn + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown +- -8:30 - PNT 1998 Apr 27 0:00 +- -8:00 - PST # Pitcairn Standard Time ++ -8:30 - -0830 1998 Apr 27 0:00 ++ -8:00 - -08 + + # American Samoa +-Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5 ++Zone Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 + -11:22:48 - LMT 1911 +- -11:00 - NST 1967 Apr # N=Nome +- -11:00 - BST 1983 Nov 30 # B=Bering + -11:00 - SST # S=Samoa + Link Pacific/Pago_Pago Pacific/Midway # in US minor outlying islands + +@@ -596,7 +598,7 @@ + # Sunday of April 2011." + # + # Background info: +-# http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html ++# https://www.timeanddate.com/news/time/samoa-dst-plan-2009.html + # + # Samoa's Daylight Saving Time Act 2009 is available here, but does not + # contain any dates: +@@ -660,19 +662,19 @@ + Rule WS 2012 max - Apr Sun>=1 4:00 0 S + Rule WS 2012 max - Sep lastSun 3:00 1 D + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5 ++Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 + -11:26:56 - LMT 1911 +- -11:30 - WSST 1950 +- -11:00 WS S%sT 2011 Dec 29 24:00 # S=Samoa +- 13:00 WS WS%sT ++ -11:30 - -1130 1950 ++ -11:00 WS -11/-10 2011 Dec 29 24:00 ++ 13:00 WS +13/+14 + + # Solomon Is + # excludes Bougainville, for which see Papua New Guinea + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara +- 11:00 - SBT # Solomon Is Time ++ 11:00 - +11 + +-# Tokelau Is ++# Tokelau + # + # From Gwillim Law (2011-12-29) + # A correspondent informed me that Tokelau, like Samoa, will be skipping +@@ -687,14 +689,14 @@ + # From Paul Eggert (2012-07-25) + # A Google Books snippet of Appendix to the Journals of the House of + # Representatives of New Zealand, Session 1948, +-# , page 65, says Tokelau ++# , page 65, says Tokelau + # was "11 hours slow on G.M.T." Go with Thorsen and assume Shanks & Pottenger + # are off by an hour starting in 1901. + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Fakaofo -11:24:56 - LMT 1901 +- -11:00 - TKT 2011 Dec 30 # Tokelau Time +- 13:00 - TKT ++ -11:00 - -11 2011 Dec 30 ++ 13:00 - +13 + + # Tonga + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +@@ -702,8 +704,8 @@ + Rule Tonga 2000 only - Mar 19 2:00s 0 - + Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 S + Rule Tonga 2001 2002 - Jan lastSun 2:00 0 - +-Rule Tonga 2016 max - Nov Sun>=1 2:00 1:00 S +-Rule Tonga 2017 max - Jan Sun>=15 3:00 0 - ++Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 S ++Rule Tonga 2017 only - Jan Sun>=15 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Tongatapu 12:19:20 - LMT 1901 + 12:20 - +1220 1941 +@@ -713,7 +715,7 @@ + # Tuvalu + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Funafuti 11:56:52 - LMT 1901 +- 12:00 - TVT # Tuvalu Time ++ 12:00 - +12 + + + # US minor outlying islands +@@ -737,10 +739,11 @@ + + # Johnston + # +-# From Paul Eggert (2014-03-11): ++# From Paul Eggert (2017-02-10): + # Sometimes Johnston kept Hawaii time, and sometimes it was an hour behind. + # Details are uncertain. We have no data for Johnston after 1970, so +-# treat it like Hawaii for now. ++# treat it like Hawaii for now. Since Johnston is now uninhabited, ++# its link to Pacific/Honolulu is in the 'backward' file. + # + # In his memoirs of June 6th to October 4, 1945 + # (2005), Herbert C. Bach writes, +@@ -756,12 +759,10 @@ + # Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, + # "The United States High-Altitude Test Experience: A Review Emphasizing the + # Impact on the Environment", Los Alamos LA-6405, Oct 1976. +-# http://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf ++# https://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf + # See the table on page 4 where he lists GMT and local times for the tests; a + # footnote for the JI tests reads that local time is "JI time = Hawaii Time + # Minus One Hour". +-# +-# See 'northamerica' for Pacific/Johnston. + + # Kingman + # uninhabited +@@ -775,7 +776,7 @@ + # Wake + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Wake 11:06:28 - LMT 1901 +- 12:00 - WAKT # Wake Time ++ 12:00 - +12 + + + # Vanuatu +@@ -788,12 +789,12 @@ + Rule Vanuatu 1992 only - Oct Sun>=23 0:00 1:00 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila +- 11:00 Vanuatu VU%sT # Vanuatu Time ++ 11:00 Vanuatu +11/+12 + + # Wallis and Futuna + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Wallis 12:15:20 - LMT 1901 +- 12:00 - WFT # Wallis & Futuna Time ++ 12:00 - +12 + + ############################################################################### + +@@ -804,7 +805,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-10): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -811,8 +812,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -824,33 +825,24 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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). + # +-# I invented the abbreviations marked '*' in the following table; +-# the rest are from earlier versions of this file, or from other sources. ++# The following abbreviations are from other sources. + # Corrections are welcome! + # std dst + # LMT Local Mean Time + # 8:00 AWST AWDT Western Australia +-# 8:45 ACWST ACWDT Central Western Australia* +-# 9:00 JST Japan + # 9:30 ACST ACDT Central Australia + # 10:00 AEST AEDT Eastern Australia ++# 10:00 GST Guam through 2000 + # 10:00 ChST Chamorro +-# 10:30 LHST LHDT Lord Howe* +-# 11:00 BST Bougainville* + # 11:30 NZMT NZST New Zealand through 1945 + # 12:00 NZST NZDT New Zealand 1946-present +-# 12:15 CHAST Chatham through 1945* +-# 12:45 CHAST CHADT Chatham 1946-present* +-# 13:00 WSST WSDT (western) Samoa 2011-present* +-# -11:30 WSST Western Samoa through 1950* + # -11:00 SST Samoa + # -10:00 HST Hawaii +-# - 8:00 PST Pitcairn* + # + # See the 'northamerica' file for Hawaii. + # See the 'southamerica' file for Easter I and the Galápagos Is. +@@ -980,7 +972,7 @@ + # AEST ACST AWST AEDT ACDT + # + # Parliamentary Library (2008-11-10) +-# http://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf ++# https://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf + # EST CST WST preferred for standard time; AEST AEDT ACST ACDT also used + # + # The Transport Safety Bureau has an extensive series of accident reports, +@@ -1016,13 +1008,13 @@ + # + # NSW (including LHI and Broken Hill): + # Standard Time Act 1987 (updated 1995-04-04) +-# http://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html ++# https://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html + # ACT + # Standard Time and Summer Time Act 1972 +-# http://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html ++# https://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html + # SA + # Standard Time Act, 1898 +-# http://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html ++# https://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html + + # From David Grosz (2005-06-13): + # It was announced last week that Daylight Saving would be extended by +@@ -1317,7 +1309,7 @@ + # http://abc.net.au/news/regionals/neweng/monthly/regeng-22jul1999-1.htm + # (1999-07-22). For now, we'll wait to see if this really happens. + # +-# Victoria will following NSW. See: ++# Victoria will follow NSW. See: + # Vic to extend daylight saving (1999-07-28) + # http://abc.net.au/local/news/olympics/1999/07/item19990728112314_1.htm + # +@@ -1420,7 +1412,7 @@ + # the ACT for all 52 weeks of the year... + # + # We have a wrap-up here: +-# http://www.timeanddate.com/news/time/south-australia-extends-dst.html ++# https://www.timeanddate.com/news/time/south-australia-extends-dst.html + ############################################################################### + + # New Zealand +@@ -1474,7 +1466,7 @@ + # From Paul Eggert (2014-07-14): + # Chatham Island time was formally standardized on 1957-01-01 by + # New Zealand's Standard Time Amendment Act 1956 (1956-10-26). +-# http://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf ++# https://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf + # According to Google Books snippet view, a speaker in the New Zealand + # parliamentary debates in 1956 said "Clause 78 makes provision for standard + # time in the Chatham Islands. The time there is 45 minutes in advance of New +@@ -1589,7 +1581,7 @@ + # the Norfolk Island Museum and the Australian Bureau of Meteorology's + # Norfolk Island station, and found no record of Norfolk observing DST + # other than in 1974/5. See: +-# http://www.timeanddate.com/time/australia/norfolk-island.html ++# https://www.timeanddate.com/time/australia/norfolk-island.html + + # Pitcairn + +@@ -1617,11 +1609,13 @@ + + # (Western) Samoa and American Samoa + +-# Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald) +-# that in 1879 the King of Samoa decided to change ++# Howse writes (p 153) that after the 1879 standardization on Antipodean ++# time by the British governor of Fiji, the King of Samoa decided to change + # "the date in his kingdom from the Antipodean to the American system, + # ordaining - by a masterpiece of diplomatic flattery - that + # the Fourth of July should be celebrated twice in that year." ++# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. ++# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm + + # Although Shanks & Pottenger says they both switched to UT -11:30 + # in 1911, and to -11 in 1950. many earlier sources give -11 +@@ -1632,6 +1626,7 @@ + # day in 2011. Assume also that the Samoas follow the US and New + # Zealand's "ST"/"DT" style of daylight-saving abbreviations. + ++ + # Tonga + + # From Paul Eggert (1996-01-22): +@@ -1726,6 +1721,15 @@ + # Assume Tonga will observe DST from the first Sunday in November at 02:00 + # through the third Sunday in January at 03:00, like Fiji, for now. + ++# From David Wade (2017-10-18): ++# In August government was disolved by the King. The current prime minister ++# continued in office in care taker mode. It is easy to see that few ++# decisions will be made until elections 16th November. ++# ++# From Paul Eggert (2017-10-18): ++# For now, guess that DST is discontinued. That's what the IATA is guessing. ++ ++ + # Wake + + # From Vernice Anderson, Personal Secretary to Philip Jessup, +@@ -1738,7 +1742,7 @@ + # making calculation of time in Washington difficult if not almost + # impossible. + # +-# http://www.trumanlibrary.org/wake/meeting.htm ++# https://www.trumanlibrary.org/oralhist/andrsonv.htm + + # From Paul Eggert (2003-03-23): + # We have no other report of DST in Wake Island, so omit this info for now. +@@ -1766,7 +1770,7 @@ + # an international standard, there are some places on the high seas where the + # correct date is ambiguous. + +-# From Wikipedia (2005-08-31): ++# From Wikipedia (2005-08-31): + # Before 1920, all ships kept local apparent time on the high seas by setting + # their clocks at night or at the morning sight so that, given the ship's + # speed and direction, it would be 12 o'clock when the Sun crossed the ship's +--- contrib/tzdata/backward.orig ++++ contrib/tzdata/backward +@@ -61,7 +61,9 @@ + Link America/Manaus Brazil/West + Link America/Halifax Canada/Atlantic + Link America/Winnipeg Canada/Central +-Link America/Regina Canada/East-Saskatchewan ++# This line is commented out, as the name exceeded the 14-character limit ++# and was an unused misnomer. ++#Link America/Regina Canada/East-Saskatchewan + Link America/Toronto Canada/Eastern + Link America/Edmonton Canada/Mountain + Link America/St_Johns Canada/Newfoundland +@@ -96,6 +98,7 @@ + Link Pacific/Chatham NZ-CHAT + Link America/Denver Navajo + Link Asia/Shanghai PRC ++Link Pacific/Honolulu Pacific/Johnston + Link Pacific/Pohnpei Pacific/Ponape + Link Pacific/Pago_Pago Pacific/Samoa + Link Pacific/Chuuk Pacific/Truk +--- contrib/tzdata/backzone.orig ++++ contrib/tzdata/backzone +@@ -65,7 +65,7 @@ + # Mali (southern) + Zone Africa/Bamako -0:32:00 - LMT 1912 + 0:00 - GMT 1934 Feb 26 +- -1:00 - WAT 1960 Jun 20 ++ -1:00 - -01 1960 Jun 20 + 0:00 - GMT + + # Central African Republic +@@ -75,7 +75,7 @@ + # Gambia + Zone Africa/Banjul -1:06:36 - LMT 1912 + -1:06:36 - BMT 1935 # Banjul Mean Time +- -1:00 - WAT 1964 ++ -1:00 - -01 1964 + 0:00 - GMT + + # Malawi +@@ -93,18 +93,18 @@ + # Guinea + Zone Africa/Conakry -0:54:52 - LMT 1912 + 0:00 - GMT 1934 Feb 26 +- -1:00 - WAT 1960 ++ -1:00 - -01 1960 + 0:00 - GMT + + # Senegal + Zone Africa/Dakar -1:09:44 - LMT 1912 +- -1:00 - WAT 1941 Jun ++ -1:00 - -01 1941 Jun + 0:00 - GMT + + # Tanzania + Zone Africa/Dar_es_Salaam 2:37:08 - LMT 1931 + 3:00 - EAT 1948 +- 2:45 - BEAUT 1961 ++ 2:45 - +0245 1961 + 3:00 - EAT + + # Djibouti +@@ -122,14 +122,14 @@ + # 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 TYPE IN ON AT SAVE LETTER/S +-Rule SL 1935 1942 - Jun 1 0:00 0:40 SLST +-Rule SL 1935 1942 - Oct 1 0:00 0 WAT +-Rule SL 1957 1962 - Jun 1 0:00 1:00 SLST ++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 + Zone Africa/Freetown -0:53:00 - LMT 1882 + -0:53:00 - FMT 1913 Jun # Freetown Mean Time + -1:00 SL %s 1957 +- 0:00 SL %s ++ 0:00 SL GMT/+01 + + # Botswana + # From Paul Eggert (2013-02-21): +@@ -153,8 +153,8 @@ + # Uganda + Zone Africa/Kampala 2:09:40 - LMT 1928 Jul + 3:00 - EAT 1930 +- 2:30 - BEAT 1948 +- 2:45 - BEAUT 1957 ++ 2:30 - +0230 1948 ++ 2:45 - +0245 1957 + 3:00 - EAT + + # Rwanda +@@ -177,11 +177,11 @@ + # + # Shanks gives 1911-05-26 for the transition to WAT, + # evidently confusing the date of the Portuguese decree +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # with the date that it took effect, namely 1912-01-01. + # + Zone Africa/Luanda 0:52:56 - LMT 1892 +- 0:52:04 - AOT 1912 Jan 1 # Angola Time ++ 0:52:04 - LMT 1912 Jan 1 # Luanda Mean Time? + 1:00 - WAT + + # Democratic Republic of the Congo (east) +@@ -216,12 +216,12 @@ + # Somalia + Zone Africa/Mogadishu 3:01:28 - LMT 1893 Nov + 3:00 - EAT 1931 +- 2:30 - BEAT 1957 ++ 2:30 - +0230 1957 + 3:00 - EAT + + # Niger + Zone Africa/Niamey 0:08:28 - LMT 1912 +- -1:00 - WAT 1934 Feb 26 ++ -1:00 - -01 1934 Feb 26 + 0:00 - GMT 1960 + 1:00 - WAT + +@@ -228,7 +228,7 @@ + # Mauritania + Zone Africa/Nouakchott -1:03:48 - LMT 1912 + 0:00 - GMT 1934 Feb 26 +- -1:00 - WAT 1960 Nov 28 ++ -1:00 - -01 1960 Nov 28 + 0:00 - GMT + + # Burkina Faso +@@ -264,19 +264,19 @@ + # The name "Comodoro Rivadavia" exceeds the 14-byte POSIX limit. + Zone America/Argentina/ComodRivadavia -4:30:00 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 - -03 + + # Aruba + Zone America/Aruba -4:40:24 - LMT 1912 Feb 12 # Oranjestad +- -4:30 - ANT 1965 # Netherlands Antilles Time ++ -4:30 - -0430 1965 + -4:00 - AST + + # Cayman Is +@@ -365,12 +365,12 @@ + # Formosa (FM), La Pampa (LP), Chubut (CH) + Zone America/Rosario -4:02:40 - LMT 1894 Nov + -4:16:44 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Jul +- -3:00 - ART 1999 Oct 3 0:00 +- -4:00 Arg AR%sT 2000 Mar 3 0:00 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Jul ++ -3:00 - -03 1999 Oct 3 0:00 ++ -4:00 Arg -04/-03 2000 Mar 3 0:00 ++ -3:00 - -03 + + # St Kitts-Nevis + Zone America/St_Kitts -4:10:52 - LMT 1912 Mar 2 # Basseterre +@@ -403,12 +403,12 @@ + # Milne says 2:59:54 was the meridian of the saluting battery at Aden, + # and that Yemen was at 1:55:56, the meridian of the Hagia Sophia. + Zone Asia/Aden 2:59:54 - LMT 1950 +- 3:00 - AST ++ 3:00 - +03 + + # Bahrain + Zone Asia/Bahrain 3:22:20 - LMT 1920 # Manamah +- 4:00 - GST 1972 Jun +- 3:00 - AST ++ 4:00 - +04 1972 Jun ++ 3:00 - +03 + + # India + # +@@ -431,7 +431,7 @@ + # counties Deqing, Enping, Kaiping, Luoding, Taishan, Xinxing, + # Yangchun, Yangjiang, Yu'nan, and Yunfu. + Zone Asia/Chongqing 7:06:20 - LMT 1928 # or Chungking +- 7:00 - LONT 1980 May # Long-shu Time ++ 7:00 - +07 1980 May + 8:00 PRC C%sT + Link Asia/Chongqing Asia/Chungking + +@@ -442,43 +442,43 @@ + # October 1954, with exact date and time unspecified. + Zone Asia/Hanoi 7:03:24 - LMT 1906 Jul 1 + 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1954 Oct +- 7:00 - ICT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1954 Oct ++ 7:00 - +07 + + # China + # Changbai Time ("Long-white Time", Long-white = Heilongjiang area) + # Heilongjiang (except Mohe county), Jilin + Zone Asia/Harbin 8:26:44 - LMT 1928 # or Haerbin +- 8:30 - CHAT 1932 Mar # Changbai Time ++ 8:30 - +0830 1932 Mar + 8:00 - CST 1940 +- 9:00 - CHAT 1966 May +- 8:30 - CHAT 1980 May ++ 9:00 - +09 1966 May ++ 8:30 - +0830 1980 May + 8:00 PRC C%sT + + # far west China + Zone Asia/Kashgar 5:03:56 - LMT 1928 # or Kashi or Kaxgar +- 5:30 - KAST 1940 # Kashgar Time +- 5:00 - KAST 1980 May ++ 5:30 - +0530 1940 ++ 5:00 - +05 1980 May + 8:00 PRC C%sT + + # Kuwait + Zone Asia/Kuwait 3:11:56 - LMT 1950 +- 3:00 - AST ++ 3:00 - +03 + + + # Oman + # Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory. + Zone Asia/Muscat 3:54:24 - LMT 1920 +- 4:00 - GST ++ 4:00 - +04 + + # India + # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: + # According to a Portuguese decree (1911-05-26) +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf + # Portuguese India switched to UT +05 on 1912-01-01. + #Zone Asia/Panaji [not enough info to complete] + +@@ -491,12 +491,12 @@ + # transitions there. + Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 Jul 1 + 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1953 Nov 9 +- 7:00 - ICT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1953 Nov 9 ++ 7:00 - +07 + + # Israel + Zone Asia/Tel_Aviv 2:19:04 - LMT 1880 +@@ -511,16 +511,16 @@ + # this is probably wrong but it's better than guessing no transition. + Zone Asia/Vientiane 6:50:24 - LMT 1906 Jul 1 + 7:06:30 - PLMT 1911 May 1 +- 7:00 - ICT 1942 Dec 31 23:00 +- 8:00 - IDT 1945 Mar 14 23:00 +- 9:00 - JST 1945 Sep 2 +- 7:00 - ICT 1947 Apr 1 +- 8:00 - IDT 1955 Apr 15 +- 7:00 - ICT ++ 7:00 - +07 1942 Dec 31 23:00 ++ 8:00 - +08 1945 Mar 14 23:00 ++ 9:00 - +09 1945 Sep 2 ++ 7:00 - +07 1947 Apr 1 ++ 8:00 - +08 1955 Apr 15 ++ 7:00 - +07 + + # Jan Mayen + # From Whitman: +-Zone Atlantic/Jan_Mayen -1:00 - EGT ++Zone Atlantic/Jan_Mayen -1:00 - -01 + + # St Helena + Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown +@@ -540,10 +540,10 @@ + + # Guernsey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.27N -2.33E - St.Peter Port +-Zone Europe/Guernsey -0:09:19 - LMT 1913 Jun 18 ++# LMT is for Town Church, St. Peter Port, 49 degrees 27'17"N 2 degrees 32'10"W ++Zone Europe/Guernsey -0:10:09 - LMT 1913 Jun 18 + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +@@ -555,11 +555,11 @@ + # + # From Lester Caine (2013-09-04): + # The Isle of Man legislation is now on-line at +-# , starting with the original Statutory ++# , starting with the original Statutory + # Time Act in 1883 and including additional confirmation of some of + # the dates of the 'Summer Time' orders originating at + # Westminster. There is a little uncertainty as to the starting date +-# of the first summer time in 1916 which may have be announced a ++# of the first summer time in 1916 which may have been announced a + # couple of days late. There is still a substantial number of + # documents to work through, but it is thought that every GB change + # was also implemented on the island. +@@ -574,10 +574,10 @@ + + # Jersey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.187N -2.107E - St. Helier +-Zone Europe/Jersey -0:08:25 - LMT 1898 Jun 11 16:00u ++# LMT is for Parish Church, St. Helier, 49 degrees 11'0.57"N 2 degrees 6'24.33"W ++Zone Europe/Jersey -0:08:26 - LMT 1898 Jun 11 16:00u + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +@@ -663,15 +663,13 @@ + # " 3:00P Ar. MIDWAY ISLAND . . . . . . . . . M.L.T. Lv. 6:00A " + # + Zone Pacific/Midway -11:49:28 - LMT 1901 +- -11:00 - NST 1956 Jun 3 +- -11:00 1:00 NDT 1956 Sep 2 +- -11:00 - NST 1967 Apr # N=Nome +- -11:00 - BST 1983 Nov 30 # B=Bering +- -11:00 - SST # S=Samoa ++ -11:00 - -11 1956 Jun 3 ++ -11:00 1:00 -10 1956 Sep 2 ++ -11:00 - -11 + + # N Mariana Is + Zone Pacific/Saipan -14:17:00 - LMT 1844 Dec 31 + 9:43:00 - LMT 1901 +- 9:00 - MPT 1969 Oct # N Mariana Is Time +- 10:00 - MPT 2000 Dec 23 ++ 9:00 - +09 1969 Oct ++ 10:00 - +10 2000 Dec 23 + 10:00 - ChST # Chamorro Standard Time +--- contrib/tzdata/calendars.orig ++++ contrib/tzdata/calendars +@@ -0,0 +1,173 @@ ++----- Calendrical issues ----- ++ ++As mentioned in Theory.html, although calendrical issues are out of ++scope for tzdb, they indicate the sort of problems that we would run ++into if we extended tzdb further into the past. The following ++information and sources go beyond Theory.html's brief discussion. ++They sometimes disagree. ++ ++ ++France ++ ++Gregorian calendar adopted 1582-12-20. ++French Revolutionary calendar used 1793-11-24 through 1805-12-31, ++and (in Paris only) 1871-05-06 through 1871-05-23. ++ ++ ++Russia ++ ++From Chris Carrier (1996-12-02): ++On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" ++with 30-day months plus 5 holidays, with a 5-day week. ++On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the ++Gregorian calendar while retaining the 6-day week; on 1940-06-27 it ++reverted to the 7-day week. With the 6-day week the usual days ++off were the 6th, 12th, 18th, 24th and 30th of the month. ++(Source: Evitiar Zerubavel, _The Seven Day Circle_) ++ ++ ++Mark Brader reported a similar story in "The Book of Calendars", edited ++by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: ++ ++From: Petteri Sulonen (via Usenet) ++Date: 14 Jan 1999 00:00:00 GMT ++... ++ ++If your source is correct, how come documents between 1929 and 1940 were ++still dated using the conventional, Gregorian calendar? ++ ++I can post a scan of a document dated December 1, 1934, signed by ++Yenukidze, the secretary, on behalf of Kalinin, the President of the ++Executive Committee of the Supreme Soviet, if you like. ++ ++ ++ ++Sweden (and Finland) ++ ++From: Mark Brader ++Subject: Re: Gregorian reform - a part of locale? ++ ++Date: 1996-07-06 ++ ++In 1700, Denmark made the transition from Julian to Gregorian. Sweden ++decided to *start* a transition in 1700 as well, but rather than have one of ++those unsightly calendar gaps :-), they simply decreed that the next leap ++year after 1696 would be in 1744 - putting the whole country on a calendar ++different from both Julian and Gregorian for a period of 40 years. ++ ++However, in 1704 something went wrong and the plan was not carried through; ++they did, after all, have a leap year that year. And one in 1708. In 1712 ++they gave it up and went back to Julian, putting 30 days in February that ++year!... ++ ++Then in 1753, Sweden made the transition to Gregorian in the usual manner, ++getting there only 13 years behind the original schedule. ++ ++(A previous posting of this story was challenged, and Swedish readers ++produced the following references to support it: "Tideräkning och historia" ++by Natanael Beckman (1924) and "Tid, en bok om tideräkning och ++kalenderväsen" by Lars-Olof Lodén (1968). ++ ++ ++Grotefend's data ++ ++From: "Michael Palmer" [with one obvious typo fixed] ++Subject: Re: Gregorian Calendar (was Re: Another FHC related question ++Newsgroups: soc.genealogy.german ++Date: Tue, 9 Feb 1999 02:32:48 -800 ++... ++ ++The following is a(n incomplete) listing, arranged chronologically, of ++European states, with the date they converted from the Julian to the ++Gregorian calendar: ++ ++04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman ++ Catholics and Danzig only) ++09/20 Dec 1582 - France, Lorraine ++ ++21 Dec 1582/ ++ 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau ++10/21 Feb 1583 - bishopric of Liege (Lüttich) ++13/24 Feb 1583 - bishopric of Augsburg ++04/15 Oct 1583 - electorate of Trier ++05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, ++ Salzburg, Brixen ++13/24 Oct 1583 - Austrian Oberelsaß and Breisgau ++20/31 Oct 1583 - bishopric of Basel ++02/13 Nov 1583 - duchy of Jülich-Berg ++02/13 Nov 1583 - electorate and city of Köln ++04/15 Nov 1583 - bishopric of Würzburg ++11/22 Nov 1583 - electorate of Mainz ++16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden ++17/28 Nov 1583 - bishopric of Münster and duchy of Cleve ++14/25 Dec 1583 - Steiermark ++ ++06/17 Jan 1584 - Austria and Bohemia ++11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn ++12/23 Jan 1584 - Silesia and the Lausitz ++22 Jan/ ++ 02 Feb 1584 - Hungary (legally on 21 Oct 1587) ++ Jun 1584 - Unterwalden ++01/12 Jul 1584 - duchy of Westfalen ++ ++16/27 Jun 1585 - bishopric of Paderborn ++ ++14/25 Dec 1590 - Transylvania ++ ++22 Aug/ ++ 02 Sep 1612 - duchy of Prussia ++ ++13/24 Dec 1614 - Pfalz-Neuburg ++ ++ 1617 - duchy of Kurland (reverted to the Julian calendar in ++ 1796) ++ ++ 1624 - bishopric of Osnabrück ++ ++ 1630 - bishopric of Minden ++ ++15/26 Mar 1631 - bishopric of Hildesheim ++ ++ 1655 - Kanton Wallis ++ ++05/16 Feb 1682 - city of Strassburg ++ ++18 Feb/ ++ 01 Mar 1700 - Protestant Germany (including Swedish possessions in ++ Germany), Denmark, Norway ++30 Jun/ ++ 12 Jul 1700 - Gelderland, Zutphen ++10 Nov/ ++ 12 Dec 1700 - Utrecht, Overijssel ++ ++31 Dec 1700/ ++ 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, ++ Turgau, and Schaffhausen ++ ++ 1724 - Glarus, Appenzell, and the city of St. Gallen ++ ++01 Jan 1750 - Pisa and Florence ++ ++02/14 Sep 1752 - Great Britain ++ ++17 Feb/ ++ 01 Mar 1753 - Sweden ++ ++1760-1812 - Graubünden ++ ++The Russian empire (including Finland and the Baltic states) did not ++convert to the Gregorian calendar until the Soviet revolution of 1917. ++ ++Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen ++Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend ++(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. ++ ++----- ++ ++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++ ++----- ++Local Variables: ++coding: utf-8 ++End: +--- contrib/tzdata/checklinks.awk.orig ++++ contrib/tzdata/checklinks.awk +@@ -9,7 +9,7 @@ + Zone = "\n" + } + +-/^Zone/ { ++/^Z/ { + if (defined[$2]) { + if (defined[$2] == Zone) { + printf "%s: Zone has duplicate definition\n", $2 +@@ -21,7 +21,7 @@ + defined[$2] = Zone + } + +-/^Link/ { ++/^L/ { + if (defined[$3]) { + if (defined[$3] == Zone) { + printf "%s: Link with same name as Zone\n", $3 +--- contrib/tzdata/europe.orig ++++ contrib/tzdata/europe +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-10): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -37,7 +37,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . He writes: ++# . He writes: + # "It is requested that corrections and additions to these tables + # may be sent to Mr. John Milne, Royal Geographical Society, + # Savile Row, London." Nowadays please email them to tz@iana.org. +@@ -44,7 +44,7 @@ + # + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. + # This Russian-language source was consulted by Vladimir Karpinsky; see +-# http://mm.icann.org/pipermail/tz/2014-August/021320.html ++# https://mm.icann.org/pipermail/tz/2014-August/021320.html + # The full Russian citation is: + # Бялокоз, Евгений Людвигович. Новый счет времени в течении суток + # введенный декретом Совета народных комиссаров для всей России с 1-го +@@ -56,26 +56,23 @@ + # History of Summer Time + # + # (1998-09-21, in Portuguese) +- + # + # I invented the abbreviations marked '*' in the following table; +-# the rest are from earlier versions of this file, or from other sources. +-# Corrections are welcome! +-# std dst 2dst +-# LMT Local Mean Time +-# -4:00 AST ADT Atlantic +-# -3:00 WGT WGST Western Greenland* +-# -1:00 EGT EGST Eastern Greenland* +-# 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)* +-# 0:20 NET NEST Netherlands (1937-1940)* +-# 1:00 BST British Standard (1968-1971) +-# 1:00 CET CEST CEMT Central Europe +-# 1:00:14 SET Swedish (1879-1899)* +-# 2:00 EET EEST Eastern Europe +-# 3:00 MSK MSD Moscow ++# the rest are variants of the "xMT" pattern for a city's mean time, ++# or are from other sources. Corrections are welcome! ++# std dst 2dst ++# LMT Local Mean Time ++# -4:00 AST ADT Atlantic ++# 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 CET CEST CEMT Central Europe ++# 1:00:14 SET Swedish (1879-1899) ++# 1:36:34 RMT* LST* Riga, Latvian Summer (1880-1926)* ++# 2:00 EET EEST Eastern Europe ++# 3:00 MSK MSD MDST* Moscow + + # From Peter Ilieve (1994-12-04), + # The original six [EU members]: Belgium, France, (West) Germany, Italy, +@@ -190,7 +187,7 @@ + # foundations of civilization throughout the world. + # -- "A Silent Toast to William Willett", Pictorial Weekly; + # republished in Finest Hour (Spring 2002) 1(114):26 +-# http://www.winstonchurchill.org/images/finesthour/Vol.01%20No.114.pdf ++# https://www.winstonchurchill.org/publications/finest-hour/finest-hour-114/a-silent-toast-to-william-willett-by-winston-s-churchill + + # From Paul Eggert (2015-08-08): + # The OED Supplement says that the English originally said "Daylight Saving" +@@ -228,8 +225,8 @@ + # official designation; the reply of the 21st was that there wasn't + # but he couldn't think of anything better than the "Double British + # Summer Time" that the BBC had been using informally. +-# http://www.polyomino.org.uk/british-time/bbc-19410418.png +-# http://www.polyomino.org.uk/british-time/ho-19410421.png ++# https://www.polyomino.org.uk/british-time/bbc-19410418.png ++# https://www.polyomino.org.uk/british-time/ho-19410421.png + + # From Sir Alexander Maxwell in the above-mentioned letter (1941-04-21): + # [N]o official designation has as far as I know been adopted for the time +@@ -246,13 +243,13 @@ + # the history of summer time legislation in the United Kingdom. + # Since 1998 Joseph S. Myers has been updating + # and extending this list, which can be found in +-# http://www.polyomino.org.uk/british-time/ ++# https://www.polyomino.org.uk/british-time/ + + # From Joseph S. Myers (1998-01-06): + # + # The legal time in the UK outside of summer time is definitely GMT, not UTC; + # see Lord Tanlaw's speech +-# http://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 ++# https://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 + # (Lords Hansard 11 June 1997 columns 964 to 976). + + # From Paul Eggert (2006-03-22): +@@ -298,7 +295,7 @@ + # Irish 'public feeling (was) outraged by forcing of English time on us'." + # -- Parsons M. Dublin lost its time zone - and 25 minutes - after 1916 Rising. + # Irish Times 2014-10-27. +-# http://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 ++# https://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 + + # From Joseph S. Myers (2005-01-26): + # Irish laws are available online at . +@@ -351,6 +348,12 @@ + # Justice (tel +353 1 678 9711) who confirmed to me that the correct name is + # "Irish Summer Time", abbreviated to "IST". + ++# Michael Deckers (2017-06-01) gave the following URLs for Ireland's ++# Summer Time Act, 1925 and Summer Time Orders, 1926 and 1947: ++# http://www.irishstatutebook.ie/eli/1925/act/8/enacted/en/print.html ++# http://www.irishstatutebook.ie/eli/1926/sro/919/made/en/print.html ++# http://www.irishstatutebook.ie/eli/1947/sro/71/made/en/print.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + # Summer Time Act, 1916 + Rule GB-Eire 1916 only - May 21 2:00s 1:00 BST +@@ -475,14 +478,14 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2 +- -0:25:21 - DMT 1916 May 21 2:00 ++ -0:25:21 - DMT 1916 May 21 2:00s # Dublin MT + -0:25:21 1:00 IST 1916 Oct 1 2:00s + 0:00 GB-Eire %s 1921 Dec 6 # independence +- 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00 +- 0:00 1:00 IST 1946 Oct 6 2:00 +- 0:00 - GMT 1947 Mar 16 2:00 +- 0:00 1:00 IST 1947 Nov 2 2:00 +- 0:00 - GMT 1948 Apr 18 2:00 ++ 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s ++ 0:00 1:00 IST 1946 Oct 6 2:00s ++ 0:00 - GMT 1947 Mar 16 2:00s ++ 0:00 1:00 IST 1947 Nov 2 2:00s ++ 0:00 - GMT 1948 Apr 18 2:00s + 0:00 GB-Eire GMT/IST 1968 Oct 27 + 1:00 - IST 1971 Oct 31 2:00u + 0:00 GB-Eire GMT/IST 1996 +@@ -628,7 +631,7 @@ + # Council of Ministers of the USSR from 1989-03-14 No. 227. + # + # I did not find full texts of these acts. For the 1989 one we have +-# title at http://base.garant.ru/70754136/ : ++# title at https://base.garant.ru/70754136/ : + # "About change in calculation of time on the territories of + # Lithuanian SSR, Latvian SSR and Estonian SSR, Astrakhan, + # Kaliningrad, Kirov, Kuybyshev, Ulyanovsk and Uralsk oblasts". +@@ -659,7 +662,7 @@ + # http://bmockbe.ru/events/?ID=7583 + # + # Medvedev signed a law on the calculation of the time (in russian): +-# http://www.regnum.ru/news/polit/1413906.html ++# https://www.regnum.ru/news/polit/1413906.html + + # From Arthur David Olson (2011-06-15): + # Take "abolishing daylight saving time" to mean that time is now considered +@@ -786,7 +789,7 @@ + # Sources (Russian language): + # http://www.belta.by/ru/all_news/society/V-Belarusi-otmenjaetsja-perexod-na-sezonnoe-vremja_i_572952.html + # http://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/ +-# http://news.tut.by/society/250578.html ++# https://news.tut.by/society/250578.html + # + # From Alexander Bokovoy (2014-10-09): + # Belarussian government decided against changing to winter time.... +@@ -901,7 +904,7 @@ + # Cyprus + # Please see the 'asia' file for Asia/Nicosia. + +-# Czech Republic ++# Czech Republic / Czechia + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Czech 1945 only - Apr 8 2:00s 1:00 S + Rule Czech 1945 only - Nov 18 2:00s 0 - +@@ -1064,16 +1067,16 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28 +- -3:00 - WGT 1980 Apr 6 2:00 +- -3:00 EU WG%sT 1996 ++ -3:00 - -03 1980 Apr 6 2:00 ++ -3:00 EU -03/-02 1996 + 0:00 - GMT + Zone America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 # Ittoqqortoormiit +- -2:00 - CGT 1980 Apr 6 2:00 +- -2:00 C-Eur CG%sT 1981 Mar 29 +- -1:00 EU EG%sT ++ -2:00 - -02 1980 Apr 6 2:00 ++ -2:00 C-Eur -02/-01 1981 Mar 29 ++ -1:00 EU -01/+00 + Zone America/Godthab -3:26:56 - LMT 1916 Jul 28 # Nuuk +- -3:00 - WGT 1980 Apr 6 2:00 +- -3:00 EU WG%sT ++ -3:00 - -03 1980 Apr 6 2:00 ++ -3:00 EU -03/-02 + Zone America/Thule -4:35:08 - LMT 1916 Jul 28 # Pituffik air base + -4:00 Thule A%sT + +@@ -1107,7 +1110,7 @@ + # for their standard and summer times. He says no, they use "suveaeg" + # (summer time) and "talveaeg" (winter time). + +-# From The Baltic Times (1999-09-09) ++# From The Baltic Times (1999-09-09) + # via Steffen Thorsen: + # This year will mark the last time Estonia shifts to summer time, + # a council of the ruling coalition announced Sept. 6.... +@@ -1159,7 +1162,7 @@ + # This is documented in Heikki Oja: Aikakirja 2007, published by The Almanac + # Office of University of Helsinki, ISBN 952-10-3221-9, available online (in + # Finnish) at +-# http://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf ++# https://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf + # + # Page 105 (56 in PDF version) has a handy table of all past daylight savings + # transitions. It is easy enough to interpret without Finnish skills. +@@ -1172,7 +1175,7 @@ + + # From Konstantin Hyppönen (2014-06-13): + # [Heikki Oja's book Aikakirja 2013] +-# http://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf ++# https://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf + # pages 104-105, including a scan from a newspaper published on Apr 2 1942 + # say that ... [o]n Apr 2 1942, 24 o'clock (which means Apr 3 1942, + # 00:00), clocks were moved one hour forward. The newspaper +@@ -1302,7 +1305,7 @@ + + # From Jörg Schilling (2002-10-23): + # In 1945, Berlin was switched to Moscow Summer time (GMT+4) by +-# http://www.dhm.de/lemo/html/biografien/BersarinNikolai/ ++# https://www.dhm.de/lemo/html/biografien/BersarinNikolai/ + # General [Nikolai] Bersarin. + + # From Paul Eggert (2003-03-08): +@@ -1488,7 +1491,7 @@ + Rule Iceland 1967 only - Oct 29 1:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/Reykjavik -1:28 - LMT 1908 +- -1:00 Iceland IS%sT 1968 Apr 7 1:00s ++ -1:00 Iceland -01/+00 1968 Apr 7 1:00s + 0:00 - GMT + + # Italy +@@ -1527,7 +1530,7 @@ + # From Paul Eggert (2016-10-27): + # Go with INRiM for DST rules, except as corrected by Inglis for 1944 + # for the Kingdom of Italy. This is consistent with Renzo Baldini. +-# Model Rome's occupation by using using C-Eur rules from 1943-09-10 ++# Model Rome's occupation by using C-Eur rules from 1943-09-10 + # to 1944-06-04; although Rome was an open city during this period, it + # was effectively controlled by Germany. + # +@@ -1842,7 +1845,7 @@ + # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)- + # Tiraspol will go back to winter time on October 30, 2011. + # News from Moldova (in russian): +-# http://ru.publika.md/link_317061.html ++# https://ru.publika.md/link_317061.html + + # From Roman Tudos (2015-07-02): + # http://lex.justice.md/index.php?action=view&view=doc&lang=1&id=355077 +@@ -1849,7 +1852,7 @@ + # From Paul Eggert (2015-07-01): + # The abovementioned official link to IGO1445-868/2014 states that + # 2014-10-26's fallback transition occurred at 03:00 local time. Also, +-# http://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara ++# https://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara + # says the 2014-03-30 spring-forward transition was at 02:00 local time. + # Guess that since 1997 Moldova has switched one hour before the EU. + +@@ -1921,7 +1924,7 @@ + # Amsterdam mean time. + + # The data entries before 1945 are taken from +-# http://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm ++# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time +@@ -1952,7 +1955,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Europe/Amsterdam 0:19:32 - LMT 1835 + 0:19:32 Neth %s 1937 Jul 1 +- 0:20 Neth NE%sT 1940 May 16 0:00 # Dutch Time ++ 0:20 Neth +0020/+0120 1940 May 16 0:00 + 1:00 C-Eur CE%sT 1945 Apr 2 2:00 + 1:00 Neth CE%sT 1977 + 1:00 EU CE%sT +@@ -2002,7 +2005,7 @@ + # so it must have diverged from Oslo time during the war, as Oslo was + # keeping Berlin time. + # +-# says that the meteorologists ++# says that the meteorologists + # burned down their station in 1940 and left the island, but returned in + # 1941 with a small Norwegian garrison and continued operations despite + # frequent air attacks from Germans. In 1943 the Americans established a +@@ -2040,7 +2043,7 @@ + Rule Poland 1945 only - Nov 1 0:00 0 - + # For 1946 on the source is Kazimierz Borkowski, + # Toruń Center for Astronomy, Dept. of Radio Astronomy, Nicolaus Copernicus U., +-# http://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 ++# https://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 + # Thanks to Przemysław Augustyniak (2005-05-28) for this reference. + # He also gives these further references: + # Mon Pol nr 13, poz 162 (1995) +@@ -2074,7 +2077,7 @@ + # + # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: + # According to a Portuguese decree (1911-05-26) +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/application/dir/pdf1sdip/1911/05/12500/23132313.pdf + # Lisbon was at -0:36:44.68, but switched to GMT on 1912-01-01 at 00:00. + # Round the old offset to -0:36:45. This agrees with Willett but disagrees + # with Shanks, who says the transition occurred on 1911-05-24 at 00:00 for +@@ -2169,16 +2172,34 @@ + 0:00 W-Eur WE%sT 1992 Sep 27 1:00s + 1:00 EU CE%sT 1996 Mar 31 1:00u + 0:00 EU WE%sT ++# This Zone can be simplified once we assume zic %z. + Zone Atlantic/Azores -1:42:40 - LMT 1884 # Ponta Delgada + -1:54:32 - HMT 1912 Jan 1 # Horta Mean Time +- -2:00 Port AZO%sT 1966 Apr 3 2:00 # Azores Time +- -1:00 Port AZO%sT 1983 Sep 25 1:00s +- -1:00 W-Eur AZO%sT 1992 Sep 27 1:00s ++ -2:00 Port -02/-01 1942 Apr 25 22:00s ++ -2:00 Port +00 1942 Aug 15 22:00s ++ -2:00 Port -02/-01 1943 Apr 17 22:00s ++ -2:00 Port +00 1943 Aug 28 22:00s ++ -2:00 Port -02/-01 1944 Apr 22 22:00s ++ -2:00 Port +00 1944 Aug 26 22:00s ++ -2:00 Port -02/-01 1945 Apr 21 22:00s ++ -2:00 Port +00 1945 Aug 25 22:00s ++ -2:00 Port -02/-01 1966 Apr 3 2:00 ++ -1:00 Port -01/+00 1983 Sep 25 1:00s ++ -1:00 W-Eur -01/+00 1992 Sep 27 1:00s + 0:00 EU WE%sT 1993 Mar 28 1:00u +- -1:00 EU AZO%sT ++ -1:00 EU -01/+00 ++# This Zone can be simplified once we assume zic %z. + Zone Atlantic/Madeira -1:07:36 - LMT 1884 # Funchal + -1:07:36 - FMT 1912 Jan 1 # Funchal Mean Time +- -1:00 Port MAD%sT 1966 Apr 3 2:00 # Madeira Time ++ -1:00 Port -01/+00 1942 Apr 25 22:00s ++ -1:00 Port +01 1942 Aug 15 22:00s ++ -1:00 Port -01/+00 1943 Apr 17 22:00s ++ -1:00 Port +01 1943 Aug 28 22:00s ++ -1:00 Port -01/+00 1944 Apr 22 22:00s ++ -1:00 Port +01 1944 Aug 26 22:00s ++ -1:00 Port -01/+00 1945 Apr 21 22:00s ++ -1:00 Port +01 1945 Aug 25 22:00s ++ -1:00 Port -01/+00 1966 Apr 3 2:00 + 0:00 Port WE%sT 1983 Sep 25 1:00s + 0:00 EU WE%sT + +@@ -2238,7 +2259,7 @@ + # 2011 No. 725" and contains no other dates or "effective date" information. + # + # Another source is +-# http://www.rg.ru/2011/09/06/chas-zona-dok.html ++# https://rg.ru/2011/09/06/chas-zona-dok.html + # which, according to translate.google.com, begins "Resolution of the + # Government of the Russian Federation on August 31, 2011 N 725" and also + # contains "Date first official publication: September 6, 2011 Posted on: +@@ -2246,7 +2267,7 @@ + # does not contain any "effective date" information. + # + # Another source is +-# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 ++# https://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 + # which, in note 8, contains "Resolution No. 725 of August 31, 2011... + # Effective as of after 7 days following the day of the official publication" + # but which does not contain any reference to September 6, 2011. +@@ -2282,7 +2303,7 @@ + # http://itar-tass.com/obschestvo/1333711 + # http://www.pravo.gov.ru:8080/page.aspx?111660 + # http://www.kremlin.ru/acts/46279 +-# From October 26, 2014 the new Russian time zone map will looks like this: ++# From October 26, 2014 the new Russian time zone map will look like this: + # http://www.worldtimezone.com/dst_news/dst_news_russia-map-2014-07.html + + # From Paul Eggert (2006-03-22): +@@ -2329,7 +2350,7 @@ + # with maintenance only and represent our best guesses as to which regions + # are covered by each zone. They are not meant to be taken as an authoritative + # listing. The region codes listed come from +-# http://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 ++# https://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 + # and are used for convenience only; no guarantees are made regarding their + # future stability. ISO 3166-2:RU codes are also listed for first-level + # divisions where available. +@@ -2494,7 +2515,7 @@ + # http://www.kaliningradka.ru/site_pc/cherez/index.php?ELEMENT_ID=40091 + # says that Kaliningrad decided not to be an exception 2 days before the + # 1991-03-31 switch and one person at +-# http://izhevsk.ru/forum_light_message/50/682597-m8369040.html ++# https://izhevsk.ru/forum_light_message/50/682597-m8369040.html + # says he remembers that Samara opted out of the 1992-01-19 exception + # 2 days before the switch. + # +@@ -2536,10 +2557,8 @@ + 3:00 - MSK + + +-# From Tim Parenti (2014-07-03): +-# Europe/Simferopol covers... +-# ** **** Crimea, Republic of +-# ** **** Sevastopol ++# From Paul Eggert (2016-12-06): ++# Europe/Simferopol covers Crimea. + + Zone Europe/Simferopol 2:16:24 - LMT 1880 + 2:16 - SMT 1924 May 2 # Simferopol Mean T +@@ -2568,7 +2587,7 @@ + 3:00 - MSK 1997 Mar lastSun 1:00u + # From Alexander Krivenyshev (2014-03-17): + # time change at 2:00 (2am) on March 30, 2014 +-# http://vz.ru/news/2014/3/17/677464.html ++# https://vz.ru/news/2014/3/17/677464.html + # From Paul Eggert (2014-03-30): + # Simferopol and Sevastopol reportedly changed their central town clocks + # late the previous day, but this appears to have been ceremonial +@@ -2601,10 +2620,9 @@ + 3:00 - +03 2016 Mar 27 2:00s + 4:00 - +04 + +-# From Paul Eggert (2016-03-18): ++# From Paul Eggert (2016-11-11): + # Europe/Volgograd covers: + # 34 RU-VGG Volgograd Oblast +-# 64 RU-SAR Saratov Oblast + # The 1988 transition is from USSR act No. 5 (1988-01-04). + + Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3 +@@ -2617,6 +2635,27 @@ + 4:00 - +04 2014 Oct 26 2:00s + 3:00 - +03 + ++# From Paul Eggert (2016-11-11): ++# Europe/Saratov covers: ++# 64 RU-SAR Saratov Oblast ++ ++# From Yuri Konotopov (2016-11-11): ++# Dec 4, 2016 02:00 UTC+3.... Saratov Region's local time will be ... UTC+4. ++# From Stepan Golosunov (2016-11-11): ++# ... Byalokoz listed Saratov on 03:04:18. ++# From Stepan Golosunov (2016-11-22): ++# http://publication.pravo.gov.ru/Document/View/0001201611220031 ++ ++Zone Europe/Saratov 3:04:18 - LMT 1919 Jul 1 0:00u ++ 3:00 - +03 1930 Jun 21 ++ 4:00 Russia +04/+05 1988 Mar 27 2:00s ++ 3:00 Russia +03/+04 1991 Mar 31 2:00s ++ 4:00 - +04 1992 Mar 29 2:00s ++ 3:00 Russia +03/+04 2011 Mar 27 2:00s ++ 4:00 - +04 2014 Oct 26 2:00s ++ 3:00 - +03 2016 Dec 4 2:00s ++ 4:00 - +04 ++ + # From Paul Eggert (2016-03-18): + # Europe/Kirov covers: + # 43 RU-KIR Kirov Oblast +@@ -2731,7 +2770,7 @@ + # suggests that Altai Republic transitioned to Moscow+3 on + # 1995-05-28. + # +-# http://regnum.ru/news/society/1957270.html ++# https://regnum.ru/news/society/1957270.html + # has some historical data for Altai Krai: + # before 1957: west part on UTC+6, east on UTC+7 + # after 1957: UTC+7 +@@ -3105,8 +3144,8 @@ + # districts, but have very similar populations. In fact, Wikipedia currently + # lists them both as having 3528 people, exactly 1668 males and 1860 females + # each! (Yikes!) +-# http://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 +-# http://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 ++# https://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 ++# https://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 + # Assume this is a mistake, albeit an amusing one. + # + # Looking at censuses, the populations of the two municipalities seem to have +@@ -3212,46 +3251,77 @@ + # See Europe/Belgrade. + + # Spain ++# ++# From Paul Eggert (2016-12-14): ++# ++# The source for Europe/Madrid before 2013 is: ++# Planesas P. La hora oficial en España y sus cambios. ++# Anuario del Observatorio Astronómico de Madrid (2013, in Spanish). ++# http://astronomia.ign.es/rknowsys-theme/images/webAstro/paginas/documentos/Anuario/lahoraoficialenespana.pdf ++# As this source says that historical time in the Canaries is obscure, ++# and it does not discuss Ceuta, stick with Shanks for now for that data. ++# ++# In the 1918 and 1919 fallback transitions in Spain, the clock for ++# the hour-longer day officially kept going after midnight, so that ++# the repeated instances of that day's 00:00 hour were 24 hours apart, ++# with a fallback transition from the second occurrence of 00:59... to ++# the next day's 00:00. Our data format cannot represent this ++# directly, and instead repeats the first hour of the next day, with a ++# fallback transition from the next day's 00:59... to 00:00. ++ ++# From Michael Deckers (2016-12-15): ++# The Royal Decree of 1900-06-26 quoted by Planesas, online at ++# https://www.boe.es/datos/pdfs/BOE//1900/209/A00383-00384.pdf ++# says in its article 5 (my translation): ++# These dispositions will enter into force beginning with the ++# instant at which, according to the time indicated in article 1, ++# the 1st day of January of 1901 will begin. ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-# For 1917-1919 Whitman gives Apr Sat>=1 - Oct Sat>=1; +-# go with Shanks & Pottenger. +-Rule Spain 1917 only - May 5 23:00s 1:00 S +-Rule Spain 1917 1919 - Oct 6 23:00s 0 - +-Rule Spain 1918 only - Apr 15 23:00s 1:00 S +-Rule Spain 1919 only - Apr 5 23:00s 1:00 S +-# Whitman gives 1921 Feb 28 - Oct 14; go with Shanks & Pottenger. +-Rule Spain 1924 only - Apr 16 23:00s 1:00 S +-# Whitman gives 1924 Oct 14; go with Shanks & Pottenger. +-Rule Spain 1924 only - Oct 4 23:00s 0 - +-Rule Spain 1926 only - Apr 17 23:00s 1:00 S +-# Whitman says no DST in 1929; go with Shanks & Pottenger. +-Rule Spain 1926 1929 - Oct Sat>=1 23:00s 0 - +-Rule Spain 1927 only - Apr 9 23:00s 1:00 S +-Rule Spain 1928 only - Apr 14 23:00s 1:00 S +-Rule Spain 1929 only - Apr 20 23:00s 1:00 S +-# Whitman gives 1937 Jun 16, 1938 Apr 16, 1940 Apr 13; +-# go with Shanks & Pottenger. +-Rule Spain 1937 only - May 22 23:00s 1:00 S +-Rule Spain 1937 1939 - Oct Sat>=1 23:00s 0 - +-Rule Spain 1938 only - Mar 22 23:00s 1:00 S +-Rule Spain 1939 only - Apr 15 23:00s 1:00 S +-Rule Spain 1940 only - Mar 16 23:00s 1:00 S +-# Whitman says no DST 1942-1945; go with Shanks & Pottenger. +-Rule Spain 1942 only - May 2 22:00s 2:00 M # Midsummer +-Rule Spain 1942 only - Sep 1 22:00s 1:00 S +-Rule Spain 1943 1946 - Apr Sat>=13 22:00s 2:00 M +-Rule Spain 1943 only - Oct 3 22:00s 1:00 S +-Rule Spain 1944 only - Oct 10 22:00s 1:00 S +-Rule Spain 1945 only - Sep 30 1:00 1:00 S +-Rule Spain 1946 only - Sep 30 0:00 0 - ++Rule Spain 1918 only - Apr 15 23:00 1:00 S ++Rule Spain 1918 1919 - Oct 6 24:00s 0 - ++Rule Spain 1919 only - Apr 6 23:00 1:00 S ++Rule Spain 1924 only - Apr 16 23:00 1:00 S ++Rule Spain 1924 only - Oct 4 24:00s 0 - ++Rule Spain 1926 only - Apr 17 23:00 1:00 S ++Rule Spain 1926 1929 - Oct Sat>=1 24:00s 0 - ++Rule Spain 1927 only - Apr 9 23:00 1:00 S ++Rule Spain 1928 only - Apr 15 0:00 1:00 S ++Rule Spain 1929 only - Apr 20 23:00 1:00 S ++# Republican Spain during the civil war; it controlled Madrid until 1939-03-28. ++Rule Spain 1937 only - Jun 16 23:00 1:00 S ++Rule Spain 1937 only - Oct 2 24:00s 0 - ++Rule Spain 1938 only - Apr 2 23:00 1:00 S ++Rule Spain 1938 only - Apr 30 23:00 2:00 M ++Rule Spain 1938 only - Oct 2 24:00 1:00 S ++# The following rules are for unified Spain again. ++# ++# Planesas does not say what happened in Madrid between its fall on ++# 1939-03-28 and the Nationalist spring-forward transition on ++# 1939-04-15. For lack of better info, assume Madrid's clocks did not ++# change during that period. ++# ++# The first rule is commented out, as it is redundant for Republican Spain. ++#Rule Spain 1939 only - Apr 15 23:00 1:00 S ++Rule Spain 1939 only - Oct 7 24:00s 0 - ++Rule Spain 1942 only - May 2 23:00 1:00 S ++Rule Spain 1942 only - Sep 1 1:00 0 - ++Rule Spain 1943 1946 - Apr Sat>=13 23:00 1:00 S ++Rule Spain 1943 1944 - Oct Sun>=1 1:00 0 - ++Rule Spain 1945 1946 - Sep lastSun 1:00 0 - + Rule Spain 1949 only - Apr 30 23:00 1:00 S +-Rule Spain 1949 only - Sep 30 1:00 0 - +-Rule Spain 1974 1975 - Apr Sat>=13 23:00 1:00 S ++Rule Spain 1949 only - Oct 2 1:00 0 - ++Rule Spain 1974 1975 - Apr Sat>=12 23:00 1:00 S + Rule Spain 1974 1975 - Oct Sun>=1 1:00 0 - + Rule Spain 1976 only - Mar 27 23:00 1:00 S + Rule Spain 1976 1977 - Sep lastSun 1:00 0 - +-Rule Spain 1977 1978 - Apr 2 23:00 1:00 S +-Rule Spain 1978 only - Oct 1 1:00 0 - ++Rule Spain 1977 only - Apr 2 23:00 1:00 S ++Rule Spain 1978 only - Apr 2 2:00s 1:00 S ++Rule Spain 1978 only - Oct 1 2:00s 0 - ++# Nationalist Spain during the civil war ++#Rule NatSpain 1937 only - May 22 23:00 1:00 S ++#Rule NatSpain 1937 1938 - Oct Sat>=1 24:00s 0 - ++#Rule NatSpain 1938 only - Mar 26 23:00 1:00 S + # The following rules are copied from Morocco from 1967 through 1978. + Rule SpainAfrica 1967 only - Jun 3 12:00 1:00 S + Rule SpainAfrica 1967 only - Oct 1 0:00 0 - +@@ -3263,11 +3333,11 @@ + Rule SpainAfrica 1978 only - Jun 1 0:00 1:00 S + Rule SpainAfrica 1978 only - Aug 4 0:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Europe/Madrid -0:14:44 - LMT 1901 Jan 1 0:00s +- 0:00 Spain WE%sT 1946 Sep 30 ++Zone Europe/Madrid -0:14:44 - LMT 1900 Dec 31 23:45:16 ++ 0:00 Spain WE%sT 1940 Mar 16 23:00 + 1:00 Spain CE%sT 1979 + 1:00 EU CE%sT +-Zone Africa/Ceuta -0:21:16 - LMT 1901 ++Zone Africa/Ceuta -0:21:16 - LMT 1900 Dec 31 23:38:44 + 0:00 - WET 1918 May 6 23:00 + 0:00 1:00 WEST 1918 Oct 7 23:00 + 0:00 - WET 1924 +@@ -3276,7 +3346,7 @@ + 1:00 - CET 1986 + 1:00 EU CE%sT + Zone Atlantic/Canary -1:01:36 - LMT 1922 Mar # Las Palmas de Gran C. +- -1:00 - CANT 1946 Sep 30 1:00 # Canaries T ++ -1:00 - -01 1946 Sep 30 1:00 + 0:00 - WET 1980 Apr 6 0:00s + 0:00 1:00 WEST 1980 Sep 28 1:00u + 0:00 EU WE%sT +@@ -3396,7 +3466,7 @@ + # + # From Alois Treindl (2013-09-11): + # The Federal regulations say +-# http://www.admin.ch/opc/de/classified-compilation/20071096/index.html ++# https://www.admin.ch/opc/de/classified-compilation/20071096/index.html + # ... the meridian for Bern mean time ... is 7 degrees 26' 22.50". + # Expressed in time, it is 0h29m45.5s. + +@@ -3473,9 +3543,9 @@ + # According to the articles linked below, Turkey will change into summer + # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27. + # This change is due to a nationwide exam on 27th. +-# http://www.worldbulletin.net/?aType=haber&ArticleID=70872 ++# https://www.worldbulletin.net/?aType=haber&ArticleID=70872 + # Turkish: +-# http://www.hurriyet.com.tr/ekonomi/17230464.asp?gid=373 ++# https://www.hurriyet.com.tr/yaz-saati-uygulamasi-bir-gun-ileri-alindi-17230464 + + # From Faruk Pasin (2014-02-14): + # The DST for Turkey has been changed for this year because of the +@@ -3611,7 +3681,7 @@ + # http://www.segodnya.ua/news/14290482.html + # + # Deputies cancelled the winter time (in Russian) +-# http://www.pravda.com.ua/rus/news/2011/09/20/6600616/ ++# https://www.pravda.com.ua/rus/news/2011/09/20/6600616/ + # + # From Philip Pizzey (2011-10-18): + # Today my Ukrainian colleagues have informed me that the +@@ -3689,7 +3759,7 @@ + # spelling, except omit the apostrophe as it is not allowed in + # portable Posix file names. + Zone Europe/Zaporozhye 2:20:40 - LMT 1880 +- 2:20 - CUT 1924 May 2 # Central Ukraine T ++ 2:20 - +0220 1924 May 2 + 2:00 - EET 1930 Jun 21 + 3:00 - MSK 1941 Aug 25 + 1:00 C-Eur CE%sT 1943 Oct 25 +--- contrib/tzdata/leap-seconds.list.orig ++++ contrib/tzdata/leap-seconds.list +@@ -199,10 +199,10 @@ + # current -- the update time stamp, the data and the name of the file + # will not change. + # +-# Updated through IERS Bulletin C52 +-# File expires on: 28 June 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 + # +-#@ 3707596800 ++#@ 3739132800 + # + 2272060800 10 # 1 Jan 1972 + 2287785600 11 # 1 Jul 1972 +@@ -247,4 +247,4 @@ + # the hash line is also ignored in the + # computation. + # +-#h dacf2c42 2c4765d6 3c797af8 2cf630eb 699c8c67 ++#h 5101445a 69948b51 9153e2b 2086e3d8 d54561a3 +--- contrib/tzdata/leapseconds.orig ++++ contrib/tzdata/leapseconds +@@ -3,19 +3,18 @@ + # This file is in the public domain. + + # This file is generated automatically from the data in the public-domain +-# leap-seconds.list file available from most NIST time servers. +-# If the URL does not work, +-# you should be able to pick up leap-seconds.list from a secondary NIST server. +-# See for a list of secondary servers. ++# leap-seconds.list file, which is copied from: ++# ftp://ftp.nist.gov/pub/time/leap-seconds.list + # For more about leap-seconds.list, please see + # The NTP Timescale and Leap Seconds +-# http://www.eecis.udel.edu/~mills/leap.html ++# https://www.eecis.udel.edu/~mills/leap.html + + # The International Earth Rotation and Reference Systems Service + # periodically uses leap seconds to keep UTC to within 0.9 s of UT1 + # (which measures the true angular orientation of the earth in space); see +-# Terry J Quinn, The BIPM and the accurate measure of time, +-# Proc IEEE 79, 7 (July 1991), 894-905 . ++# Levine J. Coordinated Universal Time and the leap second. ++# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995 ++# http://ieeexplore.ieee.org/document/7909995/ + # There were no leap seconds before 1972, because the official mechanism + # accounting for the discrepancy between atomic time and the earth's rotation + # did not exist until the early 1970s. +@@ -58,5 +57,5 @@ + Leap 2015 Jun 30 23:59:60 + S + Leap 2016 Dec 31 23:59:60 + S + +-# Updated through IERS Bulletin C52 +-# File expires on: 28 June 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 +--- contrib/tzdata/leapseconds.awk.orig ++++ contrib/tzdata/leapseconds.awk +@@ -8,19 +8,18 @@ + print "# This file is in the public domain." + print "" + print "# This file is generated automatically from the data in the public-domain" +- print "# leap-seconds.list file available from most NIST time servers." +- print "# If the URL does not work," +- print "# you should be able to pick up leap-seconds.list from a secondary NIST server." +- print "# See for a list of secondary servers." ++ print "# leap-seconds.list file, which is copied from:" ++ print "# ftp://ftp.nist.gov/pub/time/leap-seconds.list" + print "# For more about leap-seconds.list, please see" + print "# The NTP Timescale and Leap Seconds" +- print "# http://www.eecis.udel.edu/~mills/leap.html" ++ print "# https://www.eecis.udel.edu/~mills/leap.html" + print "" + print "# The International Earth Rotation and Reference Systems Service" + print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1" + print "# (which measures the true angular orientation of the earth in space); see" +- print "# Terry J Quinn, The BIPM and the accurate measure of time," +- print "# Proc IEEE 79, 7 (July 1991), 894-905 ." ++ print "# Levine J. Coordinated Universal Time and the leap second." ++ print "# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995" ++ print "# http://ieeexplore.ieee.org/document/7909995/" + print "# There were no leap seconds before 1972, because the official mechanism" + print "# accounting for the discrepancy between atomic time and the earth's rotation" + print "# did not exist until the early 1970s." +--- contrib/tzdata/northamerica.orig ++++ contrib/tzdata/northamerica +@@ -105,10 +105,13 @@ + # Last night I heard part of a rebroadcast of a 1945 Arch Oboler radio drama. + # In the introduction, Oboler spoke of "Eastern Peace Time." + # An AltaVista search turned up: +-# http://rowayton.org/rhs/hstaug45.html ++# https://web.archive.org/web/20000926032210/http://rowayton.org/rhs/hstaug45.html + # "When the time is announced over the radio now, it is 'Eastern Peace + # Time' instead of the old familiar 'Eastern War Time.' Peace is wonderful." + # (August 1945) by way of confirmation. ++# ++# From Paul Eggert (2017-09-23): ++# This was the V-J Day issue of the Clamdigger, a Rowayton, CT newsletter. + + # From Joseph Gallant citing + # George H. Douglas, _The Early Days of Radio Broadcasting_ (1987): +@@ -178,22 +181,6 @@ + Zone MST7MDT -7:00 US M%sT + Zone PST8PDT -8:00 US P%sT + +-# From Bob Devine (1988-01-28): +-# ...Alaska (and Hawaii) had the timezone names changed in 1967. +-# old new +-# Pacific Standard Time(PST) -same- +-# Yukon Standard Time(YST) -same- +-# Central Alaska S.T. (CAT) Alaska-Hawaii St[an]dard Time (AHST) +-# Nome Standard Time (NT) Bering Standard Time (BST) +-# +-# ...Alaska's timezone lines were redrawn in 1983 to give only 2 tz. +-# The YST zone now covers nearly all of the state, AHST just part +-# of the Aleutian islands. No DST. +- +-# From Paul Eggert (1995-12-19): +-# The tables below use 'NST', not 'NT', for Nome Standard Time. +-# I invented 'CAWT' for Central Alaska War Time. +- + # From U. S. Naval Observatory (1989-01-19): + # USA EASTERN 5 H BEHIND UTC NEW YORK, WASHINGTON + # USA EASTERN 4 H BEHIND UTC APR 3 - OCT 30 +@@ -250,6 +237,21 @@ + # Samoa standard time + # The law doesn't give abbreviations. + # ++# From Paul Eggert (2016-12-19): ++# Here are URLs for the 1918 and 1966 legislation: ++# http://uscode.house.gov/statviewer.htm?volume=40&page=451 ++# http://uscode.house.gov/statviewer.htm?volume=80&page=108 ++# Although the 1918 names were officially "United States Standard ++# Eastern Time" and similarly for "Central", "Mountain", "Pacific", ++# and "Alaska", in practice "Standard" was placed just before "Time", ++# as codified in 1966. In practice, Alaska time was abbreviated "AST" ++# before 1968. Summarizing the 1967 name changes: ++# 1918 names 1967 names ++# -08 Standard Pacific Time (PST) Pacific standard time (PST) ++# -09 (unofficial) Yukon (YST) Yukon standard time (YST) ++# -10 Standard Alaska Time (AST) Alaska-Hawaii standard time (AHST) ++# -11 (unofficial) Nome (NST) Bering standard time (BST) ++# + # From Paul Eggert (2000-01-08), following a heads-up from Rives McDow: + # Public law 106-564 (2000-12-23) introduced ... "Chamorro Standard Time" + # for time in Guam and the Northern Marianas. See the file "australasia". +@@ -258,7 +260,7 @@ + # HST and HDT are standardized abbreviations for Hawaii-Aleutian + # standard and daylight times. See section 9.47 (p 234) of the + # U.S. Government Printing Office Style Manual (2008) +-# http://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf ++# https://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf + + # From Arthur David Olson, 2005-08-09 + # The following was signed into law on 2005-08-08. +@@ -305,6 +307,15 @@ + # Roberts, city administrator in Phenix City. as saying "We are in the Central + # time zone, but we do go by the Eastern time zone because so many people work + # in Columbus." ++# ++# From Paul Eggert (2017-02-22): ++# Four cities are involved. The two not mentioned above are Smiths Station ++# and Valley. Barbara Brooks, Valley's assistant treasurer, heard it started ++# because West Point Pepperell textile mills were in Alabama while the ++# corporate office was in Georgia, and residents voted to keep Eastern ++# time even after the mills closed. See: Kazek K. Did you know which ++# Alabama towns are in a different time zone? al.com 2017-02-06. ++# http://www.al.com/living/index.ssf/2017/02/do_you_know_which_alabama_town.html + + # From Paul Eggert (2014-09-06): + # Monthly Notices of the Royal Astronomical Society 44, 4 (1884-02-08), 208 +@@ -338,7 +349,7 @@ + # western Tennessee, most of Texas, Wisconsin + + # From Larry M. Smith (2006-04-26) re Wisconsin: +-# http://www.legis.state.wi.us/statutes/Stat0175.pdf ... ++# https://docs.legis.wisconsin.gov/statutes/statutes/175.pdf + # is currently enforced at the 01:00 time of change. Because the local + # "bar time" in the state corresponds to 02:00, a number of citations + # are issued for the "sale of class 'B' alcohol after prohibited +@@ -347,7 +358,7 @@ + # From Douglas R. Bomberg (2007-03-12): + # Wisconsin has enacted (nearly eleventh-hour) legislation to get WI + # Statue 175 closer in synch with the US Congress' intent.... +-# http://www.legis.state.wi.us/2007/data/acts/07Act3.pdf ++# https://docs.legis.wisconsin.gov/2007/related/acts/3 + + # From an email administrator of the City of Fort Pierre, SD (2015-12-21): + # Fort Pierre is technically located in the Mountain time zone as is +@@ -394,7 +405,7 @@ + # ...it appears that Mercer County, North Dakota, changed from the + # mountain time zone to the central time zone at the last transition from + # daylight-saving to standard time (on Nov. 7, 2010): +-# http://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm ++# https://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm + # http://www.bismarcktribune.com/news/local/article_1eb1b588-c758-11df-b472-001cc4c03286.html + + # From Andy Lipscomb (2011-01-24): +@@ -445,7 +456,7 @@ + # legal time, and is not part of the data here.) See: + # Ross SA. An energy crisis from the past: Northern California in 1948. + # Working Paper No. 8, Institute of Governmental Studies, UC Berkeley, +-# 1973-11. http://escholarship.org/uc/item/8x22k30c ++# 1973-11. https://escholarship.org/uc/item/8x22k30c + # + # In another measure to save electricity, DST was instituted from 1948-03-14 + # at 02:01 to 1949-01-16 at 02:00, with the governor having the option to move +@@ -466,8 +477,8 @@ + # which established DST from April's last Sunday at 01:00 until September's + # last Sunday at 02:00. This was amended by 1962's Proposition 6, which changed + # the fall-back date to October's last Sunday. See: +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props + # + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule CA 1948 only - Mar 14 2:01 1:00 D +@@ -482,22 +493,33 @@ + -8:00 US P%sT + + # Alaska +-# AK%sT is the modern abbreviation for -9:00 per USNO. ++# AK%sT is the modern abbreviation for -09 per USNO. + # +-# From Paul Eggert (2001-05-30): ++# From Paul Eggert (2017-06-15): + # Howse writes that Alaska switched from the Julian to the Gregorian calendar, + # and from east-of-GMT to west-of-GMT days, when the US bought it from Russia. +-# This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian, +-# also a Friday. Include only the time zone part of this transition, +-# ignoring the switch from Julian to Gregorian, since we can't represent +-# the Julian calendar. ++# On Friday, 1867-10-18 (Gregorian), at precisely 15:30 local time, the ++# Russian forts and fleet at Sitka fired salutes to mark the ceremony of ++# formal transfer. See the Sacramento Daily Union (1867-11-14), p 3, col 2. ++# https://cdnc.ucr.edu/cgi-bin/cdnc?a=d&d=SDU18671114.2.12.1 ++# Sitka workers did not change their calendars until Sunday, 1867-10-20, ++# and so celebrated two Sundays that week. See: Ahllund T (tr Hallamaa P). ++# From the memoirs of a Finnish workman. Alaska History. 2006 Fall;21(2):1-25. ++# http://alaskahistoricalsociety.org/wp-content/uploads/2016/12/Ahllund-2006-Memoirs-of-a-Finnish-Workman.pdf ++# Include only the time zone part of this transition, ignoring the switch ++# from Julian to Gregorian, since we can't represent the Julian calendar. + # +-# As far as we know, none of the exact locations mentioned below were ++# As far as we know, of the locations mentioned below only Sitka was + # permanently inhabited in 1867 by anyone using either calendar. +-# (Yakutat was colonized by the Russians in 1799, but the settlement +-# was destroyed in 1805 by a Yakutat-kon war party.) However, there +-# were nearby inhabitants in some cases and for our purposes perhaps +-# it's best to simply use the official transition. ++# (Yakutat was colonized by the Russians in 1799, but the settlement was ++# destroyed in 1805 by a Yakutat-kon war party.) Many of Alaska's inhabitants ++# were unaware of the US acquisition of Alaska, much less of any calendar or ++# time change. However, the Russian-influenced part of Alaska did observe ++# Russian time, and it is more accurate to model this than to ignore it. ++# The database format requires an exact transition time; use the Russian ++# salute as a somewhat-arbitrary time for the formal transfer of control for ++# all of Alaska. Sitka's UTC offset is -9:01:13; adjust its 15:30 to the ++# local times of other Alaskan locations so that they change simultaneously. + + # From Paul Eggert (2014-07-18): + # One opinion of the early-1980s turmoil in Alaska over time zones and +@@ -550,10 +572,10 @@ + # It seems Metlakatla did go off PST on Sunday, November 1, changing + # their time to AKST and are going to follow Alaska's DST, switching + # between AKST and AKDT from now on.... +-# http://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ ++# https://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone America/Juneau 15:02:19 - LMT 1867 Oct 18 ++Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32 + -8:57:41 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -563,7 +585,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Sitka 14:58:47 - LMT 1867 Oct 18 ++Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30 + -9:01:13 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -571,7 +593,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 18 ++Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55 + -8:46:18 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -579,7 +601,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -8:00 - PST 2015 Nov 1 2:00 + -9:00 US AK%sT +-Zone America/Yakutat 14:41:05 - LMT 1867 Oct 18 ++Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18 + -9:18:55 - LMT 1900 Aug 20 12:00 + -9:00 - YST 1942 + -9:00 US Y%sT 1946 +@@ -586,17 +608,15 @@ + -9:00 - YST 1969 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Anchorage 14:00:24 - LMT 1867 Oct 18 ++Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37 + -9:59:36 - LMT 1900 Aug 20 12:00 +- -10:00 - CAT 1942 +- -10:00 US CAT/CAWT 1945 Aug 14 23:00u +- -10:00 US CAT/CAPT 1946 # Peace +- -10:00 - CAT 1967 Apr ++ -10:00 - AST 1942 ++ -10:00 US A%sT 1967 Apr + -10:00 - AHST 1969 + -10:00 US AH%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Nome 12:58:21 - LMT 1867 Oct 18 ++Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35 + -11:01:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -605,7 +625,7 @@ + -11:00 US B%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Adak 12:13:21 - LMT 1867 Oct 18 ++Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35 + -11:46:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -641,7 +661,7 @@ + # "Hawaiian Time" by Robert C. Schmitt and Doak C. Cox appears on pages 207-225 + # of volume 26 of The Hawaiian Journal of History (1992). As of 2010-12-09, + # the article is available at +-# http://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf ++# https://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf + # and indicates that standard time was adopted effective noon, January + # 13, 1896 (page 218), that in "1933, the Legislature decreed daylight + # saving for the period between the last Sunday of each April and the +@@ -680,7 +700,6 @@ + -10:30 1:00 HDT 1945 Sep 30 2:00 + -10:30 - HST 1947 Jun 8 2:00 + -10:00 - HST +-Link Pacific/Honolulu Pacific/Johnston + + # Now we turn to US areas that have diverged from the consensus since 1970. + +@@ -741,7 +760,7 @@ + # Indiana + # + # For a map of Indiana's time zone regions, see: +-# http://en.wikipedia.org/wiki/Time_in_Indiana ++# https://en.wikipedia.org/wiki/Time_in_Indiana + # + # From Paul Eggert (2007-08-17): + # Since 1970, most of Indiana has been like America/Indiana/Indianapolis, +@@ -968,7 +987,7 @@ + # From Paul Eggert (2001-07-16): + # The final rule was published in the + # Federal Register 65, 160 (2000-08-17), pp 50154-50158. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=2000_register&docid=fr17au00-22 ++# https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm + # + Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36 + -6:00 US C%sT 1946 +@@ -994,7 +1013,7 @@ + # West Wendover, NV officially switched from Pacific to mountain time on + # 1999-10-31. See the + # Federal Register 64, 203 (1999-10-21), pp 56705-56707. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=1999_register&docid=fr21oc99-15 ++# https://www.gpo.gov/fdsys/pkg/FR-1999-10-21/html/99-27240.htm + # However, the Federal Register says that West Wendover already operated + # on mountain time, and the rule merely made this official; + # hence a separate tz entry is not needed. +@@ -1024,12 +1043,23 @@ + # one hour in 1914." This change is not in Shanks. We have no more + # info, so omit this for now. + # ++# From Paul Eggert (2017-07-26): ++# Although Shanks says Detroit observed DST in 1967 from 06-14 00:01 ++# until 10-29 00:01, I now see multiple reports that this is incorrect. ++# For example, according to a 50-year anniversary report about the 1967 ++# Detroit riots and a major-league doubleheader on 1967-07-23, "By the time ++# the last fly ball of the doubleheader settled into the glove of leftfielder ++# Lenny Green, it was after 7 p.m. Detroit did not observe daylight saving ++# time, so light was already starting to fail. Twilight was made even deeper ++# by billowing columns of smoke that ascended in an unbroken wall north of the ++# ballpark." See: Dow B. Detroit '67: As violence unfolded, Tigers played two ++# at home vs. Yankees. Detroit Free Press 2017-07-23. ++# https://www.freep.com/story/sports/mlb/tigers/2017/07/23/detroit-tigers-1967-riot-new-york-yankees/499951001/ ++# + # Most of Michigan observed DST from 1973 on, but was a bit late in 1975. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule Detroit 1948 only - Apr lastSun 2:00 1:00 D + Rule Detroit 1948 only - Sep lastSun 2:00 0 S +-Rule Detroit 1967 only - Jun 14 2:00 1:00 D +-Rule Detroit 1967 only - Oct lastSun 2:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Detroit -5:32:11 - LMT 1905 + -6:00 - CST 1915 May 15 2:00 +@@ -1068,7 +1098,7 @@ + ################################################################################ + + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2017-02-10): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -1075,8 +1105,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -1093,7 +1123,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . ++# . + # + # See the 'europe' file for Greenland. + +@@ -1139,19 +1169,19 @@ + # The British Columbia government announced yesterday that it will + # adjust daylight savings next year to align with changes in the + # U.S. and the rest of Canada.... +-# http://www2.news.gov.bc.ca/news_releases_2005-2009/2006AG0014-000330.htm ++# https://archive.news.gov.bc.ca/releases/news_releases_2005-2009/2006AG0014-000330.htm + # ... + # Nova Scotia + # Daylight saving time will be extended by four weeks starting in 2007.... +-# http://www.gov.ns.ca/just/regulations/rg2/2006/ma1206.pdf ++# https://www.novascotia.ca/just/regulations/rg2/2006/ma1206.pdf + # + # [For New Brunswick] the new legislation dictates that the time change is to + # be done at 02:00 instead of 00:01. +-# http://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf ++# https://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf + # ... + # Manitoba has traditionally changed the clock every fall at 03:00. + # As of 2006, the transition is to take place one hour earlier at 02:00. +-# http://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php ++# https://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php + # ... + # [Alberta, Ontario, Quebec] will follow US rules. + # http://www.qp.gov.ab.ca/documents/spring/CH03_06.CFM +@@ -1165,7 +1195,7 @@ + # http://www.hoa.gov.nl.ca/hoa/bills/Bill0634.htm + # ... + # Yukon +-# http://www.gov.yk.ca/legislation/regs/oic2006_127.pdf ++# https://www.gov.yk.ca/legislation/regs/oic2006_127.pdf + # ... + # N.W.T. will follow US rules. Whoever maintains the government web site + # does not seem to believe in bookmarks. To see the news release, click the +@@ -1186,8 +1216,8 @@ + # time and daylight saving time arrangements in Canada circa 1998. + # + # National Research Council Canada maintains info about time zones and DST. +-# http://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html +-# http://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 ++# https://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html ++# https://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 + # Its unofficial information is often taken from Matthews and Vincent. + + # From Paul Eggert (2006-06-27): +@@ -1224,11 +1254,13 @@ + + # Newfoundland and Labrador + +-# From Paul Eggert (2000-10-02): +-# Matthews and Vincent (1998) write that Labrador should use NST/NDT, +-# but the only part of Labrador that follows the rules is the +-# southeast corner, including Port Hope Simpson and Mary's Harbour, +-# but excluding, say, Black Tickle. ++# From Paul Eggert (2017-10-14): ++# Legally Labrador should observe Newfoundland time; see: ++# McLeod J. Labrador time - legal or not? St. John's Telegram, 2017-10-07 ++# http://www.thetelegram.com/news/local/labrador-time--legal-or-not-154860/ ++# Matthews and Vincent (1998) write that the only part of Labrador ++# that follows the rules is the southeast corner, including Port Hope ++# Simpson and Mary's Harbour, but excluding, say, Black Tickle. + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule StJohns 1917 only - Apr 8 2:00 1:00 D +@@ -1428,7 +1460,7 @@ + # http://www.justice.gouv.qc.ca/english/publications/generale/temps-minganie-a.htm + # that the coastal strip from just east of Natashquan to Blanc-Sablon + # observes Atlantic standard time all year round. +-# http://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en ++# https://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en + # says this common practice was codified into law as of 2007. + # For lack of better info, guess this practice began around 1970, contra to + # Shanks & Pottenger who have this region observing AST/ADT. +@@ -1460,6 +1492,11 @@ + # earlier in June). + # + # Kenora, Ontario, was to abandon DST on 1914-06-01 (-05-21). ++# ++# From Paul Eggert (2017-07-08): ++# For more on Orillia, see: Daubs K. Bold attempt at daylight saving ++# 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 +@@ -1951,7 +1988,7 @@ + # * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68, + # c. 7 defines Yukon standard time as UTC-9.... + # see Interpretation Act, R.S.C. 1985, c. I-21, s. 35(1). +-# [http://canlii.ca/t/7vhg] ++# [https://www.canlii.org/en/ca/laws/stat/rsc-1985-c-i-21/latest/rsc-1985-c-i-21.html] + # * C.O. 1973/214 switched Yukon to PST on 1973-10-28 00:00. + # * O.I.C. 1980/02 established DST. + # * O.I.C. 1987/056 changed DST to Apr firstSun 2:00 to Oct lastSun 2:00. +@@ -2016,7 +2053,7 @@ + # hours behind Greenwich Time. + # + # * Yukon Standard Time defined as Pacific Standard Time, YCO 1973/214 +-# http://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html ++# https://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html + # C.O. 1973/214 INTERPRETATION ACT ... + # + # 1. Effective October 28, 1973 Commissioner's Order 1967/59 is hereby +@@ -2031,7 +2068,7 @@ + # http://? - no online source found + # + # * Yukon Daylight Saving Time, YOIC 1987/56 +-# http://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html + # O.I.C. 1987/056 INTERPRETATION ACT ... + # + # In every year between +@@ -2043,7 +2080,7 @@ + # Dated ... 9th day of March, A.D., 1987. + # + # * Yukon Daylight Saving Time 2006, YOIC 2006/127 +-# http://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html + # O.I.C. 2006/127 INTERPRETATION ACT ... + # + # 1. In Yukon each year the time for general purposes shall be 7 hours +@@ -2057,7 +2094,7 @@ + # 3. This order comes into force January 1, 2007. + # + # * Interpretation Act, RSY 2002, c 125 +-# http://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html ++# https://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html + + # From Rives McDow (1999-09-04): + # Nunavut ... moved ... to incorporate the whole territory into one time zone. +@@ -2100,7 +2137,7 @@ + + # From Michaela Rodrigue, writing in the + # Nunatsiaq News (1999-11-19): +-# http://www.nunatsiaq.com/archives/nunavut991130/nvt91119_17.html ++# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html + # Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones, + # central - or Nunavut time - for government offices, and eastern time + # for municipal offices and schools.... Igloolik [was similar but then] +@@ -2118,7 +2155,7 @@ + # Central Time and Southampton Island [in the Central zone] is not + # required to use daylight savings. + +-# From ++# From + # Nunavut now has two time zones (2000-11-10): + # The Nunavut government would allow its employees in Kugluktuk and + # Cambridge Bay to operate on central time year-round, putting them +@@ -2449,7 +2486,7 @@ + # http://gaceta.diputados.gob.mx/Gaceta/61/2009/dic/V2-101209.html + # + # Our page: +-# http://www.timeanddate.com/news/time/north-mexico-dst-change.html ++# https://www.timeanddate.com/news/time/north-mexico-dst-change.html + + # From Arthur David Olson (2010-01-20): + # The page +@@ -2734,15 +2771,15 @@ + # Belize + # Whitman entirely disagrees with Shanks; go with Shanks & Pottenger. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Belize 1918 1942 - Oct Sun>=2 0:00 0:30 HD +-Rule Belize 1919 1943 - Feb Sun>=9 0:00 0 S +-Rule Belize 1973 only - Dec 5 0:00 1:00 D +-Rule Belize 1974 only - Feb 9 0:00 0 S +-Rule Belize 1982 only - Dec 18 0:00 1:00 D +-Rule Belize 1983 only - Feb 12 0:00 0 S ++Rule Belize 1918 1942 - Oct Sun>=2 0:00 0:30 -0530 ++Rule Belize 1919 1943 - Feb Sun>=9 0:00 0 CST ++Rule Belize 1973 only - Dec 5 0:00 1:00 CDT ++Rule Belize 1974 only - Feb 9 0:00 0 CST ++Rule Belize 1982 only - Dec 18 0:00 1:00 CDT ++Rule Belize 1983 only - Feb 12 0:00 0 CST + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Belize -5:52:48 - LMT 1912 Apr +- -6:00 Belize C%sT ++ -6:00 Belize %s + + # Bermuda + +@@ -2868,7 +2905,7 @@ + # http://www.nnc.cubaweb.cu/marzo-2008/cien-1-11-3-08.htm + # + # Some more background information is posted here: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html + # + # The article also says that Cuba has been observing DST since 1963, + # while Shanks (and tzdata) has 1965 as the first date (except in the +@@ -2915,7 +2952,7 @@ + # http://granma.co.cu/2011/03/08/nacional/artic01.html + # + # Our info: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2011.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2011.html + # + # From Steffen Thorsen (2011-10-30) + # Cuba will end DST two weeks later this year. Instead of going back +@@ -2925,7 +2962,7 @@ + # http://www.radioangulo.cu/noticias/cuba/17105-cuba-restablecera-el-horario-del-meridiano-de-greenwich.html + # + # Our page: +-# http://www.timeanddate.com/news/time/cuba-time-changes-2011.html ++# https://www.timeanddate.com/news/time/cuba-time-changes-2011.html + # + # From Steffen Thorsen (2012-03-01) + # According to Radio Reloj, Cuba will start DST on Midnight between March +@@ -2935,7 +2972,7 @@ + # http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril + # + # Our info on it: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2012.html + + # From Steffen Thorsen (2012-11-03): + # Radio Reloj and many other sources report that Cuba is changing back +@@ -3014,16 +3051,16 @@ + + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule DR 1966 only - Oct 30 0:00 1:00 D +-Rule DR 1967 only - Feb 28 0:00 0 S +-Rule DR 1969 1973 - Oct lastSun 0:00 0:30 HD +-Rule DR 1970 only - Feb 21 0:00 0 S +-Rule DR 1971 only - Jan 20 0:00 0 S +-Rule DR 1972 1974 - Jan 21 0:00 0 S ++Rule DR 1966 only - Oct 30 0:00 1:00 EDT ++Rule DR 1967 only - Feb 28 0:00 0 EST ++Rule DR 1969 1973 - Oct lastSun 0:00 0:30 -0430 ++Rule DR 1970 only - Feb 21 0:00 0 EST ++Rule DR 1971 only - Jan 20 0:00 0 EST ++Rule DR 1972 1974 - Jan 21 0:00 0 EST + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Santo_Domingo -4:39:36 - LMT 1890 + -4:40 - SDMT 1933 Apr 1 12:00 # S. Dom. MT +- -5:00 DR E%sT 1974 Oct 27 ++ -5:00 DR %s 1974 Oct 27 + -4:00 - AST 2000 Oct 29 2:00 + -5:00 US E%sT 2000 Dec 3 1:00 + -4:00 - AST +@@ -3130,10 +3167,16 @@ + # From Steffen Thorsen (2016-03-12): + # Jean Antoine, editor of www.haiti-reference.com informed us that Haiti + # are not going on DST this year. Several other resources confirm this: ... +-# http://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html +-# http://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ ++# https://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html ++# https://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ + # http://news.anmwe.com/haiti-lheure-nationale-ne-sera-ni-avancee-ni-reculee-cette-annee/ + ++# From Steffen Thorsen (2017-03-12): ++# We have received 4 mails from different people telling that Haiti ++# has started DST again today, and this source seems to confirm that, ++# I have not been able to find a more authoritative source: ++# https://www.haitilibre.com/en/news-20319-haiti-notices-time-change-in-haiti.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Haiti 1983 only - May 8 0:00 1:00 D + Rule Haiti 1984 1987 - Apr lastSun 0:00 1:00 D +@@ -3146,6 +3189,8 @@ + Rule Haiti 2005 2006 - Oct lastSun 0:00 0 S + Rule Haiti 2012 2015 - Mar Sun>=8 2:00 1:00 D + Rule Haiti 2012 2015 - Nov Sun>=1 2:00 0 S ++Rule Haiti 2017 max - Mar Sun>=8 2:00 1:00 D ++Rule Haiti 2017 max - Nov Sun>=1 2:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Port-au-Prince -4:49:20 - LMT 1890 + -4:49 - PPMT 1917 Jan 24 12:00 # P-a-P MT +@@ -3313,8 +3358,8 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre + -4:00 - AST 1980 May +- -3:00 - PMST 1987 # Pierre & Miquelon Time +- -3:00 Canada PM%sT ++ -3:00 - -03 1987 ++ -3:00 Canada -03/-02 + + # St Vincent and the Grenadines + # See America/Port_of_Spain. +@@ -3322,7 +3367,7 @@ + # Turks and Caicos + # + # From Chris Dunn in +-# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415007 ++# https://bugs.debian.org/415007 + # (2007-03-15): In the Turks & Caicos Islands (America/Grand_Turk) the + # daylight saving dates for time changes have been adjusted to match + # the recent U.S. change of dates. +@@ -3344,12 +3389,25 @@ + # "permanent daylight saving time" by one year.... + # http://tcweeklynews.com/time-change-to-go-ahead-this-november-p5437-127.htm + # ++# From the Turks & Caicos Cabinet (2017-07-20), heads-up from Steffen Thorsen: ++# ... agreed to the reintroduction in TCI of Daylight Saving Time (DST) ++# during the summer months and Standard Time, also known as Local ++# Time, during the winter months with effect from April 2018 ... ++# https://www.gov.uk/government/news/turks-and-caicos-post-cabinet-meeting-statement--3 ++# ++# From Paul Eggert (2017-08-26): ++# The date of effect of the spring 2018 change appears to be March 11, ++# which makes more sense. See: Hamilton D. Time change back ++# by March 2018 for TCI. Magnetic Media. 2017-08-25. ++# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/ ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Grand_Turk -4:44:32 - LMT 1890 + -5:07:11 - KMT 1912 Feb # Kingston Mean Time + -5:00 - EST 1979 + -5:00 US E%sT 2015 Nov Sun>=1 2:00 +- -4:00 - AST ++ -4:00 - AST 2018 Mar 11 3:00 ++ -5:00 US E%sT + + # British Virgin Is + # Virgin Is +--- contrib/tzdata/southamerica.orig ++++ contrib/tzdata/southamerica +@@ -6,7 +6,7 @@ + # tz@iana.org for general use in the future). For more, please see + # the file CONTRIBUTING in the tz distribution. + +-# From Paul Eggert (2014-10-31): ++# From Paul Eggert (2016-12-05): + # + # Unless otherwise specified, the source for data through 1990 is: + # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition), +@@ -13,8 +13,8 @@ + # San Diego: ACS Publications, Inc. (2003). + # Unfortunately this book contains many errors and cites no sources. + # +-# Gwillim Law writes that a good source +-# for recent time zone data is the International Air Transport ++# Many years ago Gwillim Law wrote that a good source ++# for time zone data was the International Air Transport + # Association's Standard Schedules Information Manual (IATA SSIM), + # published semiannually. Law sent in several helpful summaries + # of the IATA's data after 1990. Except where otherwise noted, +@@ -22,34 +22,12 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # +-# Earlier editions of these tables used the North American style (e.g. ARST and +-# ARDT for Argentine Standard and Daylight Time), but the following quote +-# suggests that it's better to use European style (e.g. ART and ARST). +-# I suggest the use of _Summer time_ instead of the more cumbersome +-# _daylight-saving time_. _Summer time_ seems to be in general use +-# in Europe and South America. +-# -- E O Cutler, _New York Times_ (1937-02-14), quoted in +-# H L Mencken, _The American Language: Supplement I_ (1960), p 466 +-# +-# Earlier editions of these tables also used the North American style +-# for time zones in Brazil, but this was incorrect, as Brazilians say +-# "summer time". Reinaldo Goulart, a São Paulo businessman active in +-# the railroad sector, writes (1999-07-06): +-# The subject of time zones is currently a matter of discussion/debate in +-# Brazil. Let's say that "the Brasília time" is considered the +-# "official time" because Brasília is the capital city. +-# The other three time zones are called "Brasília time "minus one" or +-# "plus one" or "plus two". As far as I know there is no such +-# name/designation as "Eastern Time" or "Central Time". +-# So I invented the following (English-language) abbreviations for now. +-# Corrections are welcome! +-# std dst +-# -2:00 FNT FNST Fernando de Noronha +-# -3:00 BRT BRST Brasília +-# -4:00 AMT AMST Amazon +-# -5:00 ACT ACST Acre ++# These tables use numeric abbreviations like -03 and -0330 for ++# integer hour and minute UTC offsets. Although earlier editions used ++# alphabetic time zone abbreviations, these abbreviations were ++# invented and did not reflect common practice. + + ############################################################################### + +@@ -287,8 +265,8 @@ + # + # Es inminente que en San Luis atrasen una hora los relojes + # (It is imminent in San Luis clocks one hour delay) +-# http://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html +-# http://www.worldtimezone.net/dst_news/dst_news_argentina02.html ++# https://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html ++# http://www.worldtimezone.com/dst_news/dst_news_argentina02.html + + # From Jesper Nørgaard Welen (2008-01-18): + # The page of the San Luis provincial government +@@ -384,12 +362,6 @@ + # + # So I guess a new set of rules, besides "Arg", must be made and the last + # America/Argentina/San_Luis entries should change to use these... +-# +-# I'm enclosing a patch that does what I say... regretfully, the San Luis +-# timezone must be called "WART/WARST" even when most of the time (like, +-# right now) WARST == ART... that is, since last Sunday, all the country +-# is using UTC-3, but in my patch, San Luis calls it "WARST" and the rest +-# of the country calls it "ART". + # ... + + # From Alexander Krivenyshev (2010-04-09): +@@ -413,7 +385,7 @@ + # Perhaps San Luis operates on the legal fiction that it is at -04 + # with perpetual summer time, but ordinary usage typically seems to + # just say it's at -03; see, for example, +-# http://es.wikipedia.org/wiki/Hora_oficial_argentina ++# https://es.wikipedia.org/wiki/Hora_oficial_argentina + # We've documented similar situations as being plain changes to + # standard time, so let's do that here too. This does not change UTC + # offsets, only tm_isdst and the time zone abbreviations. One minor +@@ -428,11 +400,11 @@ + # Buenos Aires (BA), Capital Federal (CF), + Zone America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May # Córdoba Mean Time +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 + # + # Córdoba (CB), Santa Fe (SF), Entre Ríos (ER), Corrientes (CN), Misiones (MN), + # Chaco (CC), Formosa (FM), Santiago del Estero (SE) +@@ -446,113 +418,113 @@ + # + Zone America/Argentina/Cordoba -4:16:48 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 + # + # Salta (SA), La Pampa (LP), Neuquén (NQ), Rio Negro (RN) + Zone America/Argentina/Salta -4:21:40 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Tucumán (TM) + Zone America/Argentina/Tucuman -4:20:52 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 13 +- -3:00 Arg AR%sT ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 13 ++ -3:00 Arg -03/-02 + # + # La Rioja (LR) + Zone America/Argentina/La_Rioja -4:27:24 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 1 +- -4:00 - WART 1991 May 7 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 1 ++ -4:00 - -04 1991 May 7 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # San Juan (SJ) + Zone America/Argentina/San_Juan -4:34:04 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 1 +- -4:00 - WART 1991 May 7 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 May 31 +- -4:00 - WART 2004 Jul 25 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 1 ++ -4:00 - -04 1991 May 7 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 May 31 ++ -4:00 - -04 2004 Jul 25 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Jujuy (JY) + Zone America/Argentina/Jujuy -4:21:12 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1990 Mar 4 +- -4:00 - WART 1990 Oct 28 +- -4:00 1:00 WARST 1991 Mar 17 +- -4:00 - WART 1991 Oct 6 +- -3:00 1:00 ARST 1992 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1990 Mar 4 ++ -4:00 - -04 1990 Oct 28 ++ -4:00 1:00 -03 1991 Mar 17 ++ -4:00 - -04 1991 Oct 6 ++ -3:00 1:00 -02 1992 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Catamarca (CT), Chubut (CH) + Zone America/Argentina/Catamarca -4:23:08 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1991 Mar 3 +- -4:00 - WART 1991 Oct 20 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1991 Mar 3 ++ -4:00 - -04 1991 Oct 20 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Mendoza (MZ) + Zone America/Argentina/Mendoza -4:35:16 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1990 Mar 4 +- -4:00 - WART 1990 Oct 15 +- -4:00 1:00 WARST 1991 Mar 1 +- -4:00 - WART 1991 Oct 15 +- -4:00 1:00 WARST 1992 Mar 1 +- -4:00 - WART 1992 Oct 18 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 May 23 +- -4:00 - WART 2004 Sep 26 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1990 Mar 4 ++ -4:00 - -04 1990 Oct 15 ++ -4:00 1:00 -03 1991 Mar 1 ++ -4:00 - -04 1991 Oct 15 ++ -4:00 1:00 -03 1992 Mar 1 ++ -4:00 - -04 1992 Oct 18 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 May 23 ++ -4:00 - -04 2004 Sep 26 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # San Luis (SL) + +@@ -561,44 +533,44 @@ + + Zone America/Argentina/San_Luis -4:25:24 - LMT 1894 Oct 31 + -4:16:48 - CMT 1920 May +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1990 +- -3:00 1:00 ARST 1990 Mar 14 +- -4:00 - WART 1990 Oct 15 +- -4:00 1:00 WARST 1991 Mar 1 +- -4:00 - WART 1991 Jun 1 +- -3:00 - ART 1999 Oct 3 +- -4:00 1:00 WARST 2000 Mar 3 +- -3:00 - ART 2004 May 31 +- -4:00 - WART 2004 Jul 25 +- -3:00 Arg AR%sT 2008 Jan 21 +- -4:00 SanLuis WAR%sT 2009 Oct 11 +- -3:00 - ART ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1990 ++ -3:00 1:00 -02 1990 Mar 14 ++ -4:00 - -04 1990 Oct 15 ++ -4:00 1:00 -03 1991 Mar 1 ++ -4:00 - -04 1991 Jun 1 ++ -3:00 - -03 1999 Oct 3 ++ -4:00 1:00 -03 2000 Mar 3 ++ -3:00 - -03 2004 May 31 ++ -4:00 - -04 2004 Jul 25 ++ -3:00 Arg -03/-02 2008 Jan 21 ++ -4:00 SanLuis -04/-03 2009 Oct 11 ++ -3:00 - -03 + # + # Santa Cruz (SC) + Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31 +- -4:16:48 - CMT 1920 May # Córdoba Mean Time +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 Jun 1 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:16:48 - CMT 1920 May ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 Jun 1 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + # + # Tierra del Fuego, Antártida e Islas del Atlántico Sur (TF) + Zone America/Argentina/Ushuaia -4:33:12 - LMT 1894 Oct 31 +- -4:16:48 - CMT 1920 May # Córdoba Mean Time +- -4:00 - ART 1930 Dec +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1999 Oct 3 +- -4:00 Arg AR%sT 2000 Mar 3 +- -3:00 - ART 2004 May 30 +- -4:00 - WART 2004 Jun 20 +- -3:00 Arg AR%sT 2008 Oct 18 +- -3:00 - ART ++ -4:16:48 - CMT 1920 May ++ -4:00 - -04 1930 Dec ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1999 Oct 3 ++ -4:00 Arg -04/-03 2000 Mar 3 ++ -3:00 - -03 2004 May 30 ++ -4:00 - -04 2004 Jun 20 ++ -3:00 Arg -03/-02 2008 Oct 18 ++ -3:00 - -03 + + # Aruba + Link America/Curacao America/Aruba +@@ -608,7 +580,7 @@ + Zone America/La_Paz -4:32:36 - LMT 1890 + -4:32:36 - CMT 1931 Oct 15 # Calamarca MT + -4:32:36 1:00 BOST 1932 Mar 21 # Bolivia ST +- -4:00 - BOT # Bolivia Time ++ -4:00 - -04 + + # Brazil + +@@ -744,7 +716,7 @@ + # (Portuguese) + # + # We have a written a short article about it as well: +-# http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html ++# https://www.timeanddate.com/news/time/brazil-dst-2008-2009.html + # + # From Alexander Krivenyshev (2011-10-04): + # State Bahia will return to Daylight savings time this year after 8 years off. +@@ -753,7 +725,7 @@ + + # In Portuguese: + # http://g1.globo.com/bahia/noticia/2011/10/governador-jaques-wagner-confirma-horario-de-verao-na-bahia.html +-# http://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html + + # From Guilherme Bernardes Rodrigues (2011-10-07): + # There is news in the media, however there is still no decree about it. +@@ -779,16 +751,16 @@ + + # From Rodrigo Severo (2012-10-16): + # Tocantins state will have DST. +-# http://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html + + # From Steffen Thorsen (2013-09-20): + # Tocantins in Brazil is very likely not to observe DST from October.... + # http://conexaoto.com.br/2013/09/18/ministerio-confirma-que-tocantins-esta-fora-do-horario-de-verao-em-2013-mas-falta-publicacao-de-decreto + # We will keep this article updated when this is confirmed: +-# http://www.timeanddate.com/news/time/brazil-starts-dst-2013.html ++# https://www.timeanddate.com/news/time/brazil-starts-dst-2013.html + + # From Steffen Thorsen (2013-10-17): +-# http://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html ++# https://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html + # Senator Jorge Viana announced that Acre will change time zone on November 10. + # He did not specify the time of the change, nor if western parts of Amazonas + # will change as well. +@@ -960,12 +932,12 @@ + # + # Fernando de Noronha (administratively part of PE) + Zone America/Noronha -2:09:40 - LMT 1914 +- -2:00 Brazil FN%sT 1990 Sep 17 +- -2:00 - FNT 1999 Sep 30 +- -2:00 Brazil FN%sT 2000 Oct 15 +- -2:00 - FNT 2001 Sep 13 +- -2:00 Brazil FN%sT 2002 Oct 1 +- -2:00 - FNT ++ -2:00 Brazil -02/-01 1990 Sep 17 ++ -2:00 - -02 1999 Sep 30 ++ -2:00 Brazil -02/-01 2000 Oct 15 ++ -2:00 - -02 2001 Sep 13 ++ -2:00 Brazil -02/-01 2002 Oct 1 ++ -2:00 - -02 + # Other Atlantic islands have no permanent settlement. + # These include Trindade and Martim Vaz (administratively part of ES), + # Rocas Atoll (RN), and the St Peter and St Paul Archipelago (PE). +@@ -978,119 +950,119 @@ + # In the north a very small part from the river Javary (now Jari I guess, + # the border with Amapá) to the Amazon, then to the Xingu. + Zone America/Belem -3:13:56 - LMT 1914 +- -3:00 Brazil BR%sT 1988 Sep 12 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1988 Sep 12 ++ -3:00 - -03 + # + # west Pará (PA) + # West Pará includes Altamira, Óbidos, Prainha, Oriximiná, and Santarém. + Zone America/Santarem -3:38:48 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT 2008 Jun 24 0:00 +- -3:00 - BRT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 2008 Jun 24 0:00 ++ -3:00 - -03 + # + # Maranhão (MA), Piauí (PI), Ceará (CE), Rio Grande do Norte (RN), + # Paraíba (PB) + Zone America/Fortaleza -2:34:00 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1999 Sep 30 +- -3:00 Brazil BR%sT 2000 Oct 22 +- -3:00 - BRT 2001 Sep 13 +- -3:00 Brazil BR%sT 2002 Oct 1 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1999 Sep 30 ++ -3:00 Brazil -03/-02 2000 Oct 22 ++ -3:00 - -03 2001 Sep 13 ++ -3:00 Brazil -03/-02 2002 Oct 1 ++ -3:00 - -03 + # + # Pernambuco (PE) (except Atlantic islands) + Zone America/Recife -2:19:36 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1999 Sep 30 +- -3:00 Brazil BR%sT 2000 Oct 15 +- -3:00 - BRT 2001 Sep 13 +- -3:00 Brazil BR%sT 2002 Oct 1 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1999 Sep 30 ++ -3:00 Brazil -03/-02 2000 Oct 15 ++ -3:00 - -03 2001 Sep 13 ++ -3:00 Brazil -03/-02 2002 Oct 1 ++ -3:00 - -03 + # + # Tocantins (TO) + Zone America/Araguaina -3:12:48 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1995 Sep 14 +- -3:00 Brazil BR%sT 2003 Sep 24 +- -3:00 - BRT 2012 Oct 21 +- -3:00 Brazil BR%sT 2013 Sep +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1995 Sep 14 ++ -3:00 Brazil -03/-02 2003 Sep 24 ++ -3:00 - -03 2012 Oct 21 ++ -3:00 Brazil -03/-02 2013 Sep ++ -3:00 - -03 + # + # Alagoas (AL), Sergipe (SE) + Zone America/Maceio -2:22:52 - LMT 1914 +- -3:00 Brazil BR%sT 1990 Sep 17 +- -3:00 - BRT 1995 Oct 13 +- -3:00 Brazil BR%sT 1996 Sep 4 +- -3:00 - BRT 1999 Sep 30 +- -3:00 Brazil BR%sT 2000 Oct 22 +- -3:00 - BRT 2001 Sep 13 +- -3:00 Brazil BR%sT 2002 Oct 1 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 1990 Sep 17 ++ -3:00 - -03 1995 Oct 13 ++ -3:00 Brazil -03/-02 1996 Sep 4 ++ -3:00 - -03 1999 Sep 30 ++ -3:00 Brazil -03/-02 2000 Oct 22 ++ -3:00 - -03 2001 Sep 13 ++ -3:00 Brazil -03/-02 2002 Oct 1 ++ -3:00 - -03 + # + # Bahia (BA) + # There are too many Salvadors elsewhere, so use America/Bahia instead + # of America/Salvador. + Zone America/Bahia -2:34:04 - LMT 1914 +- -3:00 Brazil BR%sT 2003 Sep 24 +- -3:00 - BRT 2011 Oct 16 +- -3:00 Brazil BR%sT 2012 Oct 21 +- -3:00 - BRT ++ -3:00 Brazil -03/-02 2003 Sep 24 ++ -3:00 - -03 2011 Oct 16 ++ -3:00 Brazil -03/-02 2012 Oct 21 ++ -3:00 - -03 + # + # Goiás (GO), Distrito Federal (DF), Minas Gerais (MG), + # Espírito Santo (ES), Rio de Janeiro (RJ), São Paulo (SP), Paraná (PR), + # Santa Catarina (SC), Rio Grande do Sul (RS) + Zone America/Sao_Paulo -3:06:28 - LMT 1914 +- -3:00 Brazil BR%sT 1963 Oct 23 0:00 +- -3:00 1:00 BRST 1964 +- -3:00 Brazil BR%sT ++ -3:00 Brazil -03/-02 1963 Oct 23 0:00 ++ -3:00 1:00 -02 1964 ++ -3:00 Brazil -03/-02 + # + # Mato Grosso do Sul (MS) + Zone America/Campo_Grande -3:38:28 - LMT 1914 +- -4:00 Brazil AM%sT ++ -4:00 Brazil -04/-03 + # + # Mato Grosso (MT) + Zone America/Cuiaba -3:44:20 - LMT 1914 +- -4:00 Brazil AM%sT 2003 Sep 24 +- -4:00 - AMT 2004 Oct 1 +- -4:00 Brazil AM%sT ++ -4:00 Brazil -04/-03 2003 Sep 24 ++ -4:00 - -04 2004 Oct 1 ++ -4:00 Brazil -04/-03 + # + # Rondônia (RO) + Zone America/Porto_Velho -4:15:36 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 + # + # Roraima (RR) + Zone America/Boa_Vista -4:02:40 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT 1999 Sep 30 +- -4:00 Brazil AM%sT 2000 Oct 15 +- -4:00 - AMT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 1999 Sep 30 ++ -4:00 Brazil -04/-03 2000 Oct 15 ++ -4:00 - -04 + # + # east Amazonas (AM): Boca do Acre, Jutaí, Manaus, Floriano Peixoto + # The great circle line from Tabatinga to Porto Acre divides + # east from west Amazonas. + Zone America/Manaus -4:00:04 - LMT 1914 +- -4:00 Brazil AM%sT 1988 Sep 12 +- -4:00 - AMT 1993 Sep 28 +- -4:00 Brazil AM%sT 1994 Sep 22 +- -4:00 - AMT ++ -4:00 Brazil -04/-03 1988 Sep 12 ++ -4:00 - -04 1993 Sep 28 ++ -4:00 Brazil -04/-03 1994 Sep 22 ++ -4:00 - -04 + # + # west Amazonas (AM): Atalaia do Norte, Boca do Maoco, Benjamin Constant, + # Eirunepé, Envira, Ipixuna + Zone America/Eirunepe -4:39:28 - LMT 1914 +- -5:00 Brazil AC%sT 1988 Sep 12 +- -5:00 - ACT 1993 Sep 28 +- -5:00 Brazil AC%sT 1994 Sep 22 +- -5:00 - ACT 2008 Jun 24 0:00 +- -4:00 - AMT 2013 Nov 10 +- -5:00 - ACT ++ -5:00 Brazil -05/-04 1988 Sep 12 ++ -5:00 - -05 1993 Sep 28 ++ -5:00 Brazil -05/-04 1994 Sep 22 ++ -5:00 - -05 2008 Jun 24 0:00 ++ -4:00 - -04 2013 Nov 10 ++ -5:00 - -05 + # + # Acre (AC) + Zone America/Rio_Branco -4:31:12 - LMT 1914 +- -5:00 Brazil AC%sT 1988 Sep 12 +- -5:00 - ACT 2008 Jun 24 0:00 +- -4:00 - AMT 2013 Nov 10 +- -5:00 - ACT ++ -5:00 Brazil -05/-04 1988 Sep 12 ++ -5:00 - -05 2008 Jun 24 0:00 ++ -4:00 - -04 2013 Nov 10 ++ -5:00 - -05 + + # Chile + +@@ -1104,18 +1076,18 @@ + # the following source, cited by Oscar van Vlijmen (2006-10-08): + # [1] Chile Law + # http://www.webexhibits.org/daylightsaving/chile.html +-# This contains a copy of a this official table: ++# This contains a copy of this official table: + # Cambios en la hora oficial de Chile desde 1900 (retrieved 2008-03-30) +-# http://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm ++# https://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm + # [1] needs several corrections, though. + # + # The first set of corrections is from: + # [2] History of the Official Time of Chile + # http://www.horaoficial.cl/ing/horaof_ing.html (retrieved 2012-03-06). See: +-# http://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html ++# https://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html + # This is an English translation of: + # Historia de la hora oficial de Chile (retrieved 2012-10-24). See: +-# http://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm ++# https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm + # A fancier Spanish version (requiring mouse-clicking) is at: + # http://www.horaoficial.cl/historia_hora.html + # Conflicts between [1] and [2] were resolved as follows: +@@ -1235,6 +1207,18 @@ + # to mean 24:00 mainland time, not 24:00 local time, so that Easter + # Island is always two hours behind the mainland. + ++# From Juan Correa (2016-12-04): ++# Magallanes region ... will keep DST (UTC -3) all year round.... ++# http://www.soychile.cl/Santiago/Sociedad/2016/12/04/433428/Bachelet-firmo-el-decreto-para-establecer-un-horario-unico-para-la-Region-de-Magallanes.aspx ++# ++# From Deborah Goldsmith (2017-01-19): ++# http://www.diariooficial.interior.gob.cl/publicaciones/2017/01/17/41660/01/1169626.pdf ++# From Paul Eggert (2017-01-19): ++# The above says the Magallanes change expires 2019-05-11 at 24:00, ++# so in theory, they will revert to -04/-03 after that, which means ++# they will switch from -03 to -04 one hour after Santiago does that day. ++# For now, assume that they will not revert. ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Chile 1927 1931 - Sep 1 0:00 1:00 S + Rule Chile 1928 1932 - Apr 1 0:00 0 - +@@ -1275,22 +1259,35 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Santiago -4:42:46 - LMT 1890 + -4:42:46 - SMT 1910 Jan 10 # Santiago Mean Time +- -5:00 - CLT 1916 Jul 1 # Chile Time ++ -5:00 - -05 1916 Jul 1 + -4:42:46 - SMT 1918 Sep 10 +- -4:00 - CLT 1919 Jul 1 ++ -4:00 - -04 1919 Jul 1 + -4:42:46 - SMT 1927 Sep 1 +- -5:00 Chile CL%sT 1932 Sep 1 +- -4:00 - CLT 1942 Jun 1 +- -5:00 - CLT 1942 Aug 1 +- -4:00 - CLT 1946 Jul 15 +- -4:00 1:00 CLST 1946 Sep 1 # central Chile +- -4:00 - CLT 1947 Apr 1 +- -5:00 - CLT 1947 May 21 23:00 +- -4:00 Chile CL%sT ++ -5:00 Chile -05/-04 1932 Sep 1 ++ -4:00 - -04 1942 Jun 1 ++ -5:00 - -05 1942 Aug 1 ++ -4:00 - -04 1946 Jul 15 ++ -4:00 1:00 -03 1946 Sep 1 # central Chile ++ -4:00 - -04 1947 Apr 1 ++ -5:00 - -05 1947 May 21 23:00 ++ -4:00 Chile -04/-03 ++Zone America/Punta_Arenas -4:43:40 - LMT 1890 ++ -4:42:46 - SMT 1910 Jan 10 ++ -5:00 - -05 1916 Jul 1 ++ -4:42:46 - SMT 1918 Sep 10 ++ -4:00 - -04 1919 Jul 1 ++ -4:42:46 - SMT 1927 Sep 1 ++ -5:00 Chile -05/-04 1932 Sep 1 ++ -4:00 - -04 1942 Jun 1 ++ -5:00 - -05 1942 Aug 1 ++ -4:00 - -04 1947 Apr 1 ++ -5:00 - -05 1947 May 21 23:00 ++ -4:00 Chile -04/-03 2016 Dec 4 ++ -3:00 - -03 + Zone Pacific/Easter -7:17:28 - LMT 1890 + -7:17:28 - EMT 1932 Sep # Easter Mean Time +- -7:00 Chile EAS%sT 1982 Mar 14 3:00u # Easter Time +- -6:00 Chile EAS%sT ++ -7:00 Chile -07/-06 1982 Mar 14 3:00u # Easter Time ++ -6:00 Chile -06/-05 + # + # Salas y Gómez Island is uninhabited. + # Other Chilean locations, including Juan Fernández Is, Desventuradas Is, +@@ -1310,9 +1307,10 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Antarctica/Palmer 0 - -00 1965 +- -4:00 Arg AR%sT 1969 Oct 5 +- -3:00 Arg AR%sT 1982 May +- -4:00 Chile CL%sT ++ -4:00 Arg -04/-03 1969 Oct 5 ++ -3:00 Arg -03/-02 1982 May ++ -4:00 Chile -04/-03 2016 Dec 4 ++ -3:00 - -03 + + # Colombia + +@@ -1325,7 +1323,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Bogota -4:56:16 - LMT 1884 Mar 13 + -4:56:16 - BMT 1914 Nov 23 # Bogotá Mean Time +- -5:00 CO CO%sT # Colombia Time ++ -5:00 CO -05/-04 + # Malpelo, Providencia, San Andres + # no information; probably like America/Bogota + +@@ -1349,7 +1347,7 @@ + # + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Curacao -4:35:47 - LMT 1912 Feb 12 # Willemstad +- -4:30 - ANT 1965 # Netherlands Antilles Time ++ -4:30 - -0430 1965 + -4:00 - AST + + # From Arthur David Olson (2011-06-15): +@@ -1364,19 +1362,32 @@ + # + # Milne says the Central and South American Telegraph Company used -5:24:15. + # +-# From Paul Eggert (2007-03-04): +-# Apparently Ecuador had a failed experiment with DST in 1992. +-# (2007-02-27) and +-# (2006-11-06) both +-# talk about "hora Sixto". Leave this alone for now, as we have no data. ++# From Alois Treindl (2016-12-15): ++# https://www.elcomercio.com/actualidad/hora-sixto-1993.html ++# ... Whether the law applied also to Galápagos, I do not know. ++# From Paul Eggert (2016-12-15): ++# https://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html ++# This says President Sixto Durán Ballén signed decree No. 285, which ++# established DST from 1992-11-28 to 1993-02-05; it does not give transition ++# times. The people called it "hora de Sixto" ("Sixto hour"). The change did ++# not go over well; a popular song "Qué hora es" by Jaime Guevara had lyrics ++# that included "Amanecía en mitad de la noche, los guaguas iban a clase sin ++# sol" ("It was dawning in the middle of the night, the buses went to class ++# without sun"). Although Ballén's campaign slogan was "Ni un paso atrás" ++# (Not one step back), the clocks went back in 1993 and the experiment was not ++# repeated. For now, assume transitions were at 00:00 local time country-wide. + # ++# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ++Rule Ecuador 1992 only - Nov 28 0:00 1:00 S ++Rule Ecuador 1993 only - Feb 5 0:00 0 - ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Guayaquil -5:19:20 - LMT 1890 + -5:14:00 - QMT 1931 # Quito Mean Time +- -5:00 - ECT # Ecuador Time ++ -5:00 Ecuador -05/-04 + Zone Pacific/Galapagos -5:58:24 - LMT 1931 # Puerto Baquerizo Moreno +- -5:00 - ECT 1986 +- -6:00 - GALT # Galápagos Time ++ -5:00 - -05 1986 ++ -6:00 Ecuador -06/-05 + + # Falklands + +@@ -1476,25 +1487,24 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/Stanley -3:51:24 - LMT 1890 + -3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time +- -4:00 Falk FK%sT 1983 May # Falkland Is Time +- -3:00 Falk FK%sT 1985 Sep 15 +- -4:00 Falk FK%sT 2010 Sep 5 2:00 +- -3:00 - FKST ++ -4:00 Falk -04/-03 1983 May ++ -3:00 Falk -03/-02 1985 Sep 15 ++ -4:00 Falk -04/-03 2010 Sep 5 2:00 ++ -3:00 - -03 + + # French Guiana + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Cayenne -3:29:20 - LMT 1911 Jul +- -4:00 - GFT 1967 Oct # French Guiana Time +- -3:00 - GFT ++ -4:00 - -04 1967 Oct ++ -3:00 - -03 + + # Guyana + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Guyana -3:52:40 - LMT 1915 Mar # Georgetown +- -3:45 - GBGT 1966 May 26 # Br Guiana Time +- -3:45 - GYT 1975 Jul 31 # Guyana Time +- -3:00 - GYT 1991 ++ -3:45 - -0345 1975 Jul 31 ++ -3:00 - -03 1991 + # IATA SSIM (1996-06) says -4:00. Assume a 1991 switch. +- -4:00 - GYT ++ -4:00 - -04 + + # Paraguay + # +@@ -1586,9 +1596,9 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Asuncion -3:50:40 - LMT 1890 + -3:50:40 - AMT 1931 Oct 10 # Asunción Mean Time +- -4:00 - PYT 1972 Oct # Paraguay Time +- -3:00 - PYT 1974 Apr +- -4:00 Para PY%sT ++ -4:00 - -04 1972 Oct ++ -3:00 - -03 1974 Apr ++ -4:00 Para -04/-03 + + # Peru + # +@@ -1615,12 +1625,12 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Lima -5:08:12 - LMT 1890 + -5:08:36 - LMT 1908 Jul 28 # Lima Mean Time? +- -5:00 Peru PE%sT # Peru Time ++ -5:00 Peru -05/-04 + + # South Georgia + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Atlantic/South_Georgia -2:26:08 - LMT 1890 # Grytviken +- -2:00 - GST # South Georgia Time ++ -2:00 - -02 + + # South Sandwich Is + # uninhabited; scientific personnel have wintered +@@ -1630,9 +1640,8 @@ + Zone America/Paramaribo -3:40:40 - LMT 1911 + -3:40:52 - PMT 1935 # Paramaribo Mean Time + -3:40:36 - PMT 1945 Oct # The capital moved? +- -3:30 - NEGT 1975 Nov 20 # Dutch Guiana Time +- -3:30 - SRT 1984 Oct # Suriname Time +- -3:00 - SRT ++ -3:30 - -0330 1984 Oct ++ -3:00 - -03 + + # Trinidad and Tobago + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +@@ -1735,11 +1744,16 @@ + # [dated 2015-06-29; repeals Decree 311/006 dated 2006-09-04] + Rule Uruguay 2006 2014 - Oct Sun>=1 2:00 1:00 S + Rule Uruguay 2007 2015 - Mar Sun>=8 2:00 0 - +-# Zone NAME GMTOFF RULES FORMAT [UNTIL] ++ ++# This Zone can be simplified once we assume zic %z. + Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28 + -3:44:44 - MMT 1920 May 1 # Montevideo MT +- -3:30 Uruguay UY%sT 1942 Dec 14 # Uruguay Time +- -3:00 Uruguay UY%sT ++ -3:30 Uruguay -0330/-03 1942 Dec 14 ++ -3:00 Uruguay -03/-02 1968 ++ -3:00 Uruguay -03/-0230 1971 ++ -3:00 Uruguay -03/-02 1974 ++ -3:00 Uruguay -03/-0230 1974 Dec 22 ++ -3:00 Uruguay -03/-02 + + # Venezuela + # +@@ -1764,7 +1778,7 @@ + # hours of presidential broadcasts, hours of lines,' quipped comedian + # Jean Mary Curró ...". See: Cawthorne A, Kai D. Venezuela scraps + # half-hour time difference set by Chavez. Reuters 2016-04-15 14:50 -0400 +-# http://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE ++# https://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE + # + # From Matt Johnson (2016-04-20): + # ... published in the official Gazette [2016-04-18], here: +@@ -1773,7 +1787,7 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Caracas -4:27:44 - LMT 1890 + -4:27:40 - CMT 1912 Feb 12 # Caracas Mean Time? +- -4:30 - VET 1965 Jan 1 0:00 # Venezuela T. +- -4:00 - VET 2007 Dec 9 3:00 +- -4:30 - VET 2016 May 1 2:30 +- -4:00 - VET ++ -4:30 - -0430 1965 Jan 1 0:00 ++ -4:00 - -04 2007 Dec 9 3:00 ++ -4:30 - -0430 2016 May 1 2:30 ++ -4:00 - -04 +--- contrib/tzdata/theory.html.orig ++++ contrib/tzdata/theory.html +@@ -0,0 +1,1034 @@ ++ ++ ++ ++ Theory and pragmatics of the tz code and data ++ ++ ++ ++ ++ ++ ++

Theory and pragmatics of the tz code and data

++

Outline

++ ++ ++ ++
++

Scope of the tz database

++

++The tz database attempts to record the history and predicted future of ++all computer-based clocks that track civil time. To represent this ++data, the world is partitioned into regions whose clocks all agree ++about timestamps that occur after the somewhat-arbitrary cutoff point ++of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, ++the database records all known clock transitions, and labels the region ++with a notable 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. ++

++ ++

++Clock transitions before 1970 are recorded for each such location, ++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 ++applications requiring accurate handling of all past times everywhere, ++as it would take far too much effort and guesswork to record all ++details of pre-1970 civil timekeeping. ++

++ ++

++As described below, reference source code for using the tz database is ++also available. The tz code is upwards compatible with POSIX, an ++international standard for UNIX-like systems. As of this writing, the ++current edition of POSIX is: ++ ++ The Open Group Base Specifications Issue 7, ++ IEEE Std 1003.1-2008, 2016 Edition. ++

++
++ ++ ++ ++
++

Names of time zone rules

++

++Each of the database's time zone rules has a unique name. ++Inexperienced users are not expected to select these names unaided. ++Distributors should provide documentation and/or a simple selection ++interface that explains the names; for one example, see the 'tzselect' ++program in the tz code. The ++Unicode Common Locale Data ++Repository contains data that may be useful for other ++selection interfaces. ++

++ ++

++The time zone rule naming conventions attempt to strike a balance ++among the following goals: ++

++
    ++
  • ++ Uniquely identify every region where clocks have agreed since 1970. ++ This is essential for the intended use: static clocks keeping local ++ civil time. ++
  • ++
  • ++ Indicate to experts where that region is. ++
  • ++
  • ++ Be robust in the presence of political changes. For example, names ++ of countries are ordinarily not used, to avoid incompatibilities ++ when countries change their name (e.g. Zaire→Congo) or when ++ locations change countries (e.g. Hong Kong from UK colony to ++ China). ++
  • ++
  • ++ Be portable to a wide variety of implementations. ++
  • ++
  • ++ Use a consistent naming conventions over the entire world. ++
  • ++
++

++Names normally have the ++form AREA/LOCATION, ++where AREA is the name of a continent or ocean, ++and LOCATION is the name of a specific ++location within that region. North and South America share the same ++area, 'America'. Typical names are ++'Africa/Cairo', 'America/New_York', and ++'Pacific/Honolulu'. ++

++ ++

++Here are the general rules used for choosing location names, ++in decreasing order of importance: ++

++
    ++
  • ++ Use only valid POSIX file name components (i.e., the parts of ++ names other than '/'). Do not use the file name ++ components '.' and '..'. ++ Within a file name component, ++ use only ASCII letters, '.', ++ '-' and '_'. Do not use ++ digits, as that might create an ambiguity with POSIX ++ TZ strings. A file name component must not exceed 14 ++ characters or start with '-'. E.g., ++ prefer 'Brunei' to ++ 'Bandar_Seri_Begawan'. Exceptions: see ++ the discussion ++ of legacy names below. ++
  • ++
  • ++ A name must not be empty, or contain '//', or ++ start or end with '/'. ++
  • ++
  • ++ Do not use names that differ only in case. Although the reference ++ implementation is case-sensitive, some other implementations ++ are not, and they would mishandle names differing only in case. ++
  • ++
  • ++ If one name A is an initial prefix of another ++ name AB (ignoring case), then B ++ must not start with '/', as a ++ regular file cannot have ++ the same name as a directory in POSIX. For example, ++ 'America/New_York' precludes ++ 'America/New_York/Bronx'. ++
  • ++
  • ++ Uninhabited regions like the North Pole and Bouvet Island ++ do not need locations, since local time is not defined there. ++
  • ++
  • ++ There should typically be at least one name for each ISO 3166-1 ++ officially assigned two-letter code for an inhabited country ++ or territory. ++
  • ++
  • ++ If all the clocks in a region have agreed since 1970, ++ don't bother to include more than one location ++ even if subregions' clocks disagreed before 1970. ++ Otherwise these tables would become annoyingly large. ++
  • ++
  • ++ If a name is ambiguous, use a less ambiguous alternative; ++ e.g. many cities are named San José and Georgetown, so ++ prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. ++
  • ++
  • ++ Keep locations compact. Use cities or small islands, not countries ++ or regions, so that any future time zone changes do not split ++ locations into different time zones. E.g. prefer ++ 'Paris' to 'France', since ++ France has had multiple time zones. ++
  • ++
  • ++ Use mainstream English spelling, e.g. prefer ++ 'Rome' to 'Roma', and prefer ++ 'Athens' to the Greek ++ 'Αθήνα' or the Romanized ++ 'Athína'. ++ The POSIX file name restrictions encourage this rule. ++
  • ++
  • ++ Use the most populous among locations in a zone, ++ e.g. prefer 'Shanghai' to ++ 'Beijing'. Among locations with ++ similar populations, pick the best-known location, ++ e.g. prefer 'Rome' to 'Milan'. ++
  • ++
  • ++ Use the singular form, e.g. prefer 'Canary' to 'Canaries'. ++
  • ++
  • ++ Omit common suffixes like '_Islands' and ++ '_City', unless that would lead to ++ ambiguity. E.g. prefer 'Cayman' to ++ 'Cayman_Islands' and ++ 'Guatemala' to ++ 'Guatemala_City', but prefer ++ 'Mexico_City' to 'Mexico' ++ because the country ++ of Mexico has several time zones. ++
  • ++
  • ++ Use '_' to represent a space. ++
  • ++
  • ++ Omit '.' from abbreviations in names, e.g. prefer ++ 'St_Helena' to 'St._Helena'. ++
  • ++
  • ++ Do not change established names if they only marginally ++ violate the above rules. For example, don't change ++ the existing name 'Rome' to ++ 'Milan' merely because ++ Milan's population has grown to be somewhat greater ++ than Rome's. ++
  • ++
  • ++ If a name is changed, put its old spelling in the ++ 'backward' file. ++ This means old spellings will continue to work. ++
  • ++
++ ++

++The file 'zone1970.tab' lists geographical locations used ++to name time ++zone rules. It is intended to be an exhaustive list of names for ++geographic regions as described above; this is a subset of the names ++in the data. Although a 'zone1970.tab' location's longitude ++corresponds to its LMT offset with one hour for every 15 degrees east ++longitude, this relationship is not exact. ++

++ ++

++Older versions of this package used a different naming scheme, ++and these older names are still supported. ++See the file 'backward' for most of these older names ++(e.g., 'US/Eastern' instead of 'America/New_York'). ++The other old-fashioned names still supported are ++'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). ++

++ ++

++Older versions of this package defined legacy names that are ++incompatible with the first rule of location names, but which are ++still supported. These legacy names are mostly defined in the file ++'etcetera'. Also, the file 'backward' defines the legacy names ++'GMT0', 'GMT-0' and 'GMT+0', and the file 'northamerica' defines the ++legacy names 'EST5EDT', 'CST6CDT', 'MST7MDT', and 'PST8PDT'. ++

++ ++

++Excluding 'backward' should not affect the other data. If ++'backward' is excluded, excluding 'etcetera' should not affect the ++remaining data. ++

++ ++ ++
++
++

Time zone abbreviations

++

++When this package is installed, it generates time zone abbreviations ++like 'EST' to be compatible with human tradition and POSIX. ++Here are the general rules used for choosing time zone abbreviations, ++in decreasing order of importance: ++

    ++
  • ++ Use three or more characters that are ASCII alphanumerics or ++ '+' or '-'. ++ Previous editions of this database also used characters like ++ ' ' and '?', but these ++ characters have a special meaning to ++ the shell and cause commands like ++ 'set `date`' ++ to have unexpected effects. ++ Previous editions of this rule required upper-case letters, ++ but the Congressman who introduced Chamorro Standard Time ++ preferred "ChST", so lower-case letters are now allowed. ++ Also, POSIX from 2001 on relaxed the rule to allow ++ '-', '+', ++ and alphanumeric characters from the portable character set ++ in the current locale. In practice ASCII alphanumerics and ++ '+' and '-' are safe in all locales. ++ ++ In other words, in the C locale the POSIX extended regular ++ expression [-+[:alnum:]]{3,} should match ++ the abbreviation. ++ This guarantees that all abbreviations could have been ++ specified by a POSIX TZ string. ++
  • ++
  • ++ Use abbreviations that are in common use among English-speakers, ++ e.g. 'EST' for Eastern Standard Time in North America. ++ We assume that applications translate them to other languages ++ as part of the normal localization process; for example, ++ a French application might translate 'EST' to 'HNE'. ++
  • ++
  • ++ For zones whose times are taken from a city's longitude, use the ++ traditional xMT notation, e.g. 'PMT' for ++ Paris Mean Time. ++ The only name like this in current use is 'GMT'. ++
  • ++
  • ++ Use 'LMT' for local mean time of locations before the introduction ++ of standard time; see "Scope of the ++ tz database". ++
  • ++
  • ++ If there is no common English abbreviation, use numeric offsets like ++ -05 and +0830 that are ++ generated by zic's %z notation. ++
  • ++
  • ++ Use current abbreviations for older timestamps to avoid confusion. ++ For example, in 1910 a common English abbreviation for UT +01 ++ in central Europe was 'MEZ' (short for both "Middle European ++ Zone" and for "Mitteleuropäische Zeit" in German). Nowadays ++ 'CET' ("Central European Time") is more common in English, and ++ the database uses 'CET' even for circa-1910 timestamps as this ++ is less confusing for modern users and avoids the need for ++ determining when 'CET' supplanted 'MEZ' in common usage. ++
  • ++
  • ++ Use a consistent style in a zone's history. For example, if a zone's ++ history tends to use numeric abbreviations and a particular ++ entry could go either way, use a numeric abbreviation. ++
  • ++
++ [The remaining guidelines predate the introduction of %z. ++ They are problematic as they mean tz data entries invent ++ notation rather than record it. These guidelines are now ++ deprecated and the plan is to gradually move to %z for ++ inhabited locations and to "-00" for uninhabited locations.] ++
    ++
  • ++ If there is no common English abbreviation, abbreviate the English ++ translation of the usual phrase used by native speakers. ++ If this is not available or is a phrase mentioning the country ++ (e.g. "Cape Verde Time"), then: ++
      ++
    • ++ When a country is identified with a single or principal zone, ++ append 'T' to the country's ISO code, e.g. 'CVT' for ++ Cape Verde Time. For summer time append 'ST'; ++ for double summer time append 'DST'; etc. ++
    • ++
    • ++ Otherwise, take the first three letters of an English place ++ name identifying each zone and append 'T', 'ST', etc. ++ as before; e.g. 'CHAST' for CHAtham Summer Time. ++
    • ++
    ++
  • ++
  • ++ Use UT (with time zone abbreviation '-00') for ++ locations while uninhabited. The leading ++ '-' is a flag that the time ++ zone is in some sense undefined; this notation is ++ derived from Internet RFC 3339. ++
  • ++
++

++Application writers should note that these abbreviations are ambiguous ++in practice: e.g. 'CST' has a different meaning in China than ++it does in the United States. In new applications, it's often better ++to use numeric UT offsets like '-0600' instead of time zone ++abbreviations like 'CST'; this avoids the ambiguity. ++

++
++ ++ ++
++

Accuracy of the tz database

++

++The tz database is not authoritative, and it surely has errors. ++Corrections are welcome and encouraged; see the file CONTRIBUTING. ++Users requiring authoritative data should consult national standards ++bodies and the references cited in the database's comments. ++

++ ++

++Errors in the tz database arise from many sources: ++

++
    ++
  • ++ The tz database predicts future timestamps, and current predictions ++ will be incorrect after future governments change the rules. ++ For example, if today someone schedules a meeting for 13:00 next ++ October 1, Casablanca time, and tomorrow Morocco changes its ++ daylight saving rules, software can mess up after the rule change ++ if it blithely relies on conversions made before the change. ++
  • ++
  • ++ The pre-1970 entries in this database cover only a tiny sliver of how ++ clocks actually behaved; the vast majority of the necessary ++ information was lost or never recorded. Thousands more zones would ++ be needed if the tz database's scope were extended to cover even ++ just the known or guessed history of standard time; for example, ++ the current single entry for France would need to split into dozens ++ of entries, perhaps hundreds. And in most of the world even this ++ approach would be misleading due to widespread disagreement or ++ indifference about what times should be observed. In her 2015 book ++ The Global Transformation of Time, 1870-1950, Vanessa Ogle writes ++ "Outside of Europe and North America there was no system of time ++ zones at all, often not even a stable landscape of mean times, ++ prior to the middle decades of the twentieth century". See: ++ Timothy Shenk, Booked: ++ A Global History of Time. Dissent 2015-12-17. ++
  • ++
  • ++ Most of the pre-1970 data entries come from unreliable sources, often ++ astrology books that lack citations and whose compilers evidently ++ invented entries when the true facts were unknown, without ++ reporting which entries were known and which were invented. ++ These books often contradict each other or give implausible entries, ++ and on the rare occasions when they are checked they are ++ typically found to be incorrect. ++
  • ++
  • ++ For the UK the tz database relies on years of first-class work done by ++ Joseph Myers and others; see ++ "History of ++ legal time in Britain". ++ Other countries are not done nearly as well. ++
  • ++
  • ++ Sometimes, different people in the same city would maintain clocks ++ that differed significantly. Railway time was used by railroad ++ companies (which did not always agree with each other), ++ church-clock time was used for birth certificates, etc. ++ Often this was merely common practice, but sometimes it was set by law. ++ For example, from 1891 to 1911 the UT offset in France was legally ++ 0:09:21 outside train stations and 0:04:21 inside. ++
  • ++
  • ++ Although a named location in the tz database stands for the ++ containing region, its pre-1970 data entries are often accurate for ++ only a small subset of that region. For example, Europe/London ++ stands for the United Kingdom, but its pre-1847 times are valid ++ only for locations that have London's exact meridian, and its 1847 ++ transition to GMT is known to be valid only for the L&NW and the ++ Caledonian railways. ++
  • ++
  • ++ The tz database does not record the earliest time for which a zone's ++ data entries are thereafter valid for every location in the region. ++ For example, Europe/London is valid for all locations in its ++ region after GMT was made the standard time, but the date of ++ standardization (1880-08-02) is not in the tz database, other than ++ in commentary. For many zones the earliest time of validity is ++ unknown. ++
  • ++
  • ++ The tz database does not record a region's boundaries, and in many ++ cases the boundaries are not known. For example, the zone ++ America/Kentucky/Louisville represents a region around ++ the city of ++ Louisville, the boundaries of which are unclear. ++
  • ++
  • ++ Changes that are modeled as instantaneous transitions in the tz ++ database were often spread out over hours, days, or even decades. ++
  • ++
  • ++ Even if the time is specified by law, locations sometimes ++ deliberately flout the law. ++
  • ++
  • ++ Early timekeeping practices, even assuming perfect clocks, were ++ often not specified to the accuracy that the tz database requires. ++
  • ++
  • ++ Sometimes historical timekeeping was specified more precisely ++ than what the tz database can handle. For example, from 1909 to ++ 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz ++ database cannot represent the fractional second. ++
  • ++
  • ++ Even when all the timestamp transitions recorded by the tz database ++ are correct, the tz rules that generate them may not faithfully ++ reflect the historical rules. For example, from 1922 until World ++ War II the UK moved clocks forward the day following the third ++ Saturday in April unless that was Easter, in which case it moved ++ clocks forward the previous Sunday. Because the tz database has no ++ way to specify Easter, these exceptional years are entered as ++ separate tz Rule lines, even though the legal rules did not change. ++
  • ++
  • ++ The tz database models pre-standard time using the proleptic Gregorian ++ calendar and local mean time (LMT), but many people used other ++ calendars and other timescales. For example, the Roman Empire used ++ the Julian calendar, and had 12 varying-length daytime hours with a ++ non-hour-based system at night. ++
  • ++
  • ++ Early clocks were less reliable, and data entries do not represent ++ clock error. ++
  • ++
  • ++ The tz database assumes Universal Time (UT) as an origin, even ++ though UT is not standardized for older timestamps. In the tz ++ database commentary, UT denotes a family of time standards that ++ includes Coordinated Universal Time (UTC) along with other variants ++ such as UT1 and GMT, with days starting at midnight. Although UT ++ equals UTC for modern timestamps, UTC was not defined until 1960, ++ so commentary uses the more-general abbreviation UT for timestamps ++ that might predate 1960. Since UT, UT1, etc. disagree slightly, ++ and since pre-1972 UTC seconds varied in length, interpretation of ++ older timestamps can be problematic when subsecond accuracy is ++ needed. ++
  • ++
  • ++ Civil time was not based on atomic time before 1972, and we don't ++ know the history of earth's rotation accurately enough to map SI ++ seconds to historical solar time to more than about one-hour ++ accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY. ++ Measurement ++ of the Earth's rotation: 720 BC to AD 2015. ++ Proc Royal Soc A. 2016 Dec 7;472:20160404. ++ Also see: Espenak F. Uncertainty ++ in Delta T (ΔT). ++
  • ++
  • ++ The relationship between POSIX time (that is, UTC but ignoring leap ++ seconds) and UTC is not agreed upon after 1972. Although the POSIX ++ clock officially stops during an inserted leap second, at least one ++ proposed standard has it jumping back a second instead; and in ++ practice POSIX clocks more typically either progress glacially during ++ a leap second, or are slightly slowed while near a leap second. ++
  • ++
  • ++ The tz database does not represent how uncertain its information is. ++ Ideally it would contain information about when data entries are ++ incomplete or dicey. Partial temporal knowledge is a field of ++ active research, though, and it's not clear how to apply it here. ++
  • ++
++

++In short, many, perhaps most, of the tz database's pre-1970 and future ++timestamps are either wrong or misleading. Any attempt to pass the ++tz database off as the definition of time should be unacceptable to ++anybody who cares about the facts. In particular, the tz database's ++LMT offsets should not be considered meaningful, and should not prompt ++creation of zones merely because two locations differ in LMT or ++transitioned to standard time at different dates. ++

++
++ ++ ++
++

Time and date functions

++

++The tz code contains time and date functions that are upwards ++compatible with those of POSIX. ++

++ ++

++POSIX has the following properties and limitations. ++

++
    ++
  • ++

    ++ In POSIX, time display in a process is controlled by the ++ environment variable TZ. Unfortunately, the POSIX TZ string takes ++ a form that is hard to describe and is error-prone in practice. ++ Also, POSIX TZ strings can't deal with other (for example, Israeli) ++ daylight saving time rules, or situations where more than two ++ time zone abbreviations are used in an area. ++

    ++

    ++ The POSIX TZ string takes the following form: ++

    ++

    ++ stdoffset[dst[offset][,date[/time],date[/time]]] ++

    ++

    ++ where: ++

    ++
    std and dst
    ++ are 3 or more characters specifying the standard ++ and daylight saving time (DST) zone names. ++ Starting with POSIX.1-2001, std ++ and dst may also be ++ in a quoted form like '<UTC+10>'; this allows ++ "+" and "-" in the names. ++
    ++
    offset
    ++ is of the form ++ '[±]hh:[mm[:ss]]' ++ and specifies the offset west of UT. 'hh' ++ may be a single digit; 0≤hh≤24. ++ The default DST offset is one hour ahead of standard time. ++
    ++
    date[/time],date[/time]
    ++ specifies the beginning and end of DST. If this is absent, ++ the system supplies its own rules for DST, and these can ++ differ from year to year; typically US DST rules are used. ++
    ++
    time
    ++ takes the form ++ 'hh:[mm[:ss]]' ++ and defaults to 02:00. ++ This is the same format as the offset, except that a ++ leading '+' or '-' is not allowed. ++
    ++
    date
    ++ takes one of the following forms: ++
    ++
    Jn (1≤n≤365)
    ++ origin-1 day number not counting February 29 ++
    ++
    n (0≤n≤365)
    ++ origin-0 day number counting February 29 if present ++
    ++
    Mm.n.d (0[Sunday]≤d≤6[Saturday], 1≤n≤5, 1≤m≤12)
    ++ for the dth day of ++ week n of month m of the ++ year, where week 1 is the first week in which ++ day d appears, and '5' ++ stands for the last week in which ++ day d appears ++ (which may be either the 4th or 5th week). ++ Typically, this is the only useful form; ++ the n ++ and Jn forms are ++ rarely used. ++
    ++
    ++
    ++
    ++ Here is an example POSIX TZ string for New Zealand after 2007. ++ It says that standard time (NZST) is 12 hours ahead of UTC, ++ and that daylight saving time (NZDT) is observed from September's ++ last Sunday at 02:00 until April's first Sunday at 03:00: ++ ++
    TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'
    ++ ++ This POSIX TZ string is hard to remember, and mishandles some ++ timestamps before 2008. With this package you can use this ++ instead: ++ ++
    TZ='Pacific/Auckland'
    ++
  • ++
  • ++ POSIX does not define the exact meaning of TZ values like ++ "EST5EDT". ++ Typically the current US DST rules are used to interpret such values, ++ but this means that the US DST rules are compiled into each program ++ that does time conversion. This means that when US time conversion ++ rules change (as in the United States in 1987), all programs that ++ do time conversion must be recompiled to ensure proper results. ++
  • ++
  • ++ The TZ environment variable is process-global, which makes it hard ++ to write efficient, thread-safe applications that need access ++ to multiple time zones. ++
  • ++
  • ++ In POSIX, there's no tamper-proof way for a process to learn the ++ system's best idea of local wall clock. (This is important for ++ applications that an administrator wants used only at certain ++ times – ++ without regard to whether the user has fiddled the TZ environment ++ variable. While an administrator can "do everything in UTC" to get ++ around the problem, doing so is inconvenient and precludes handling ++ daylight saving time shifts - as might be required to limit phone ++ calls to off-peak hours.) ++
  • ++
  • ++ POSIX provides no convenient and efficient way to determine the UT ++ offset and time zone abbreviation of arbitrary timestamps, ++ particularly for time zone settings that do not fit into the ++ POSIX model. ++
  • ++
  • ++ POSIX requires that systems ignore leap seconds. ++
  • ++
  • ++ The tz code attempts to support all the time_t ++ implementations allowed by POSIX. The time_t ++ type represents a nonnegative count of ++ seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. ++ In practice, time_t is usually a signed 64- or ++ 32-bit integer; 32-bit signed time_t values stop ++ working after 2038-01-19 03:14:07 UTC, so ++ new implementations these days typically use a signed 64-bit integer. ++ Unsigned 32-bit integers are used on one or two platforms, ++ and 36-bit and 40-bit integers are also used occasionally. ++ Although earlier POSIX versions allowed time_t to be a ++ floating-point type, this was not supported by any practical ++ systems, and POSIX.1-2013 and the tz code both ++ require time_t ++ to be an integer type. ++
  • ++
++

++These are the extensions that have been made to the POSIX functions: ++

++
    ++
  • ++

    ++ The TZ environment variable is used in generating the name of a file ++ from which time zone information is read (or is interpreted a la ++ POSIX); TZ is no longer constrained to be a three-letter time zone ++ name followed by a number of hours and an optional three-letter ++ daylight time zone name. The daylight saving time rules to be used ++ for a particular time zone are encoded in the time zone file; ++ the format of the file allows U.S., Australian, and other rules to be ++ encoded, and allows for situations where more than two time zone ++ abbreviations are used. ++

    ++

    ++ It was recognized that allowing the TZ environment variable to ++ take on values such as 'America/New_York' might ++ cause "old" programs ++ (that expect TZ to have a certain form) to operate incorrectly; ++ consideration was given to using some other environment variable ++ (for example, TIMEZONE) to hold the string used to generate the ++ time zone information file name. In the end, however, it was decided ++ to continue using TZ: it is widely used for time zone purposes; ++ separately maintaining both TZ and TIMEZONE seemed a nuisance; ++ and systems where "new" forms of TZ might cause problems can simply ++ use TZ values such as "EST5EDT" which can be used both by ++ "new" programs (a la POSIX) and "old" programs (as zone names and ++ offsets). ++

    ++
  • ++
  • ++ The code supports platforms with a UT offset member ++ in struct tm, ++ e.g., tm_gmtoff. ++
  • ++
  • ++ The code supports platforms with a time zone abbreviation member in ++ struct tm, e.g., tm_zone. ++
  • ++
  • ++ Since the TZ environment variable can now be used to control time ++ conversion, the daylight ++ and timezone variables are no longer needed. ++ (These variables are defined and set by tzset; ++ however, their values will not be used ++ by localtime.) ++
  • ++
  • ++ Functions tzalloc, tzfree, ++ localtime_rz, and mktime_z for ++ more-efficient thread-safe applications that need to use ++ multiple time zones. The tzalloc ++ and tzfree functions allocate and free objects of ++ type timezone_t, and localtime_rz ++ and mktime_z are like localtime_r ++ and mktime with an extra ++ timezone_t argument. The functions were inspired ++ by NetBSD. ++
  • ++
  • ++ A function tzsetwall has been added to arrange ++ for the system's ++ best approximation to local wall clock time to be delivered by ++ subsequent calls to localtime. Source code for portable ++ applications that "must" run on local wall clock time should call ++ tzsetwall; if such code is moved to "old" systems that don't ++ provide tzsetwall, you won't be able to generate an executable program. ++ (These time zone functions also arrange for local wall clock time to be ++ used if tzset is called – directly or indirectly – ++ and there's no TZ ++ environment variable; portable applications should not, however, rely ++ on this behavior since it's not the way SVR2 systems behave.) ++
  • ++
  • ++ Negative time_t values are supported, on systems ++ where time_t is signed. ++
  • ++
  • ++ These functions can account for leap seconds, thanks to Bradley White. ++
  • ++
++

++Points of interest to folks with other systems: ++

++
    ++
  • ++ Code compatible with this package is already part of many platforms, ++ including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, ++ BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. ++ On such hosts, the primary use of this package ++ is to update obsolete time zone rule tables. ++ To do this, you may need to compile the time zone compiler ++ 'zic' supplied with this package instead of using ++ the system 'zic', since the format ++ of zic's input is occasionally extended, and a ++ platform may still be shipping an older zic. ++
  • ++
  • ++ The UNIX Version 7 timezone function is not ++ present in this package; ++ it's impossible to reliably map timezone's arguments (a "minutes west ++ of GMT" value and a "daylight saving time in effect" flag) to a ++ time zone abbreviation, and we refuse to guess. ++ Programs that in the past used the timezone function may now examine ++ localtime(&clock)->tm_zone ++ (if TM_ZONE is defined) or ++ tzname[localtime(&clock)->tm_isdst] ++ (if HAVE_TZNAME is defined) ++ to learn the correct time zone abbreviation to use. ++
  • ++
  • ++ The 4.2BSD gettimeofday function is not used in ++ this package. ++ This formerly let users obtain the current UTC offset and DST flag, ++ but this functionality was removed in later versions of BSD. ++
  • ++
  • ++ In SVR2, time conversion fails for near-minimum or near-maximum ++ time_t values when doing conversions for places ++ that don't use UT. ++ This package takes care to do these conversions correctly. ++ A comment in the source code tells how to get compatibly wrong ++ results. ++
  • ++
++

++The functions that are conditionally compiled ++if STD_INSPIRED is defined ++should, at this point, be looked on primarily as food for thought. They are ++not in any sense "standard compatible" – some are not, in fact, ++specified in any standard. They do, however, represent responses of ++various authors to ++standardization proposals. ++

++ ++

++Other time conversion proposals, in particular the one developed by folks at ++Hewlett Packard, offer a wider selection of functions that provide capabilities ++beyond those provided here. The absence of such functions from this package ++is not meant to discourage the development, standardization, or use of such ++functions. Rather, their absence reflects the decision to make this package ++contain valid extensions to POSIX, to ensure its broad acceptability. If ++more powerful time conversion functions can be standardized, so much the ++better. ++

++
++ ++ ++
++

Interface stability

++

++The tz code and data supply the following interfaces: ++

++
    ++
  • ++ A set of zone names as per "Names of time zone ++ rules" above. ++
  • ++
  • ++ Library functions described in "Time and date ++ functions" above. ++
  • ++
  • ++ The programs tzselect, zdump, ++ and zic, documented in their man pages. ++
  • ++
  • ++ The format of zic input files, documented in ++ the zic man page. ++
  • ++
  • ++ The format of zic output files, documented in ++ the tzfile man page. ++
  • ++
  • ++ The format of zone table files, documented in zone1970.tab. ++
  • ++
  • ++ The format of the country code file, documented in iso3166.tab. ++
  • ++
  • ++ The version number of the code and data, as the first line of ++ the text file 'version' in each release. ++
  • ++
++

++Interface changes in a release attempt to preserve compatibility with ++recent releases. For example, tz data files typically do not rely on ++recently-added zic features, so that users can run ++older zic versions to process newer data ++files. Sources for time zone and daylight ++saving time data describes how ++releases are tagged and distributed. ++

++ ++

++Interfaces not listed above are less stable. For example, users ++should not rely on particular UT offsets or abbreviations for ++timestamps, as data entries are often based on guesswork and these ++guesses may be corrected or improved. ++

++
++ ++ ++
++

Calendrical issues

++

++Calendrical issues are a bit out of scope for a time zone database, ++but they indicate the sort of problems that we would run into if we ++extended the time zone database further into the past. An excellent ++resource in this area is Nachum Dershowitz and Edward M. Reingold, ++Calendrical ++Calculations: Third Edition, Cambridge University Press (2008). ++Other information and sources are given in the file 'calendars' ++in the tz distribution. They sometimes disagree. ++

++
++ ++ ++
++

Time and time zones on other planets

++

++Some people's work schedules use Mars time. Jet Propulsion Laboratory ++(JPL) coordinators have kept Mars time on and off at least since 1997 ++for the Mars Pathfinder mission. Some of their family members have ++also adapted to Mars time. Dozens of special Mars watches were built ++for JPL workers who kept Mars time during the Mars Exploration ++Rovers mission (2004). These timepieces look like normal Seikos and ++Citizens but use Mars seconds rather than terrestrial seconds. ++

++ ++

++A Mars solar day is called a "sol" and has a mean period equal to ++about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is ++divided into a conventional 24-hour clock, so each Mars second equals ++about 1.02749125 terrestrial seconds. ++

++ ++

++The prime meridian of Mars goes through the center of the crater ++Airy-0, named in honor of the British astronomer who built the ++Greenwich telescope that defines Earth's prime meridian. Mean solar ++time on the Mars prime meridian is called Mars Coordinated Time (MTC). ++

++ ++

++Each landed mission on Mars has adopted a different reference for ++solar time keeping, so there is no real standard for Mars time zones. ++For example, the Mars Exploration Rover project (2004) defined two ++time zones "Local Solar Time A" and "Local Solar Time B" for its two ++missions, each zone designed so that its time equals local true solar ++time at approximately the middle of the nominal mission. Such a "time ++zone" is not particularly suited for any application other than the ++mission itself. ++

++ ++

++Many calendars have been proposed for Mars, but none have achieved ++wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a ++sequential count of Mars solar days elapsed since about 1873-12-29 ++12:00 GMT. ++

++ ++

++In our solar system, Mars is the planet with time and calendar most ++like Earth's. On other planets, Sun-based time and calendars would ++work quite differently. For example, although Mercury's sidereal ++rotation period is 58.646 Earth days, Mercury revolves around the Sun ++so rapidly that an observer on Mercury's equator would see a sunrise ++only every 175.97 Earth days, i.e., a Mercury year is 0.5 of a Mercury ++day. Venus is more complicated, partly because its rotation is ++slightly retrograde: its year is 1.92 of its days. Gas giants like ++Jupiter are trickier still, as their polar and equatorial regions ++rotate at different rates, so that the length of a day depends on ++latitude. This effect is most pronounced on Neptune, where the day is ++about 12 hours at the poles and 18 hours at the equator. ++

++ ++

++Although the tz database does not support time on other planets, it is ++documented here in the hopes that support will be added eventually. ++

++ ++

++Sources: ++

++ ++
++ ++
++
++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++
++ ++ ++native +\ No newline at end of property ++FreeBSD=%H +\ No newline at end of property ++text/html +\ No newline at end of property +--- contrib/tzdata/version.orig ++++ contrib/tzdata/version +@@ -1 +1 @@ +-2016i ++2017c +--- contrib/tzdata/zishrink.awk.orig ++++ contrib/tzdata/zishrink.awk +@@ -0,0 +1,156 @@ ++# Convert tzdata source into a smaller version of itself. ++ ++# Contributed by Paul Eggert. This file is in the public domain. ++ ++# This is not a general-purpose converter; it is designed for current tzdata. ++# 'zic' should treat this script's output as if it were identical to ++# this script's input. ++ ++ ++# Return a new rule name. ++# N_RULE_NAMES keeps track of how many rule names have been generated. ++ ++function gen_rule_name(alphabet, base, rule_name, n, digit) ++{ ++ alphabet = "" ++ alphabet = alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ++ alphabet = alphabet "abcdefghijklmnopqrstuvwxyz" ++ alphabet = alphabet "!$%&'()*+,./:;<=>?@[\\]^_`{|}~" ++ base = length(alphabet) ++ rule_name = "" ++ n = n_rule_names++ ++ ++ do { ++ n -= rule_name && n <= base ++ digit = n % base ++ rule_name = substr(alphabet, digit + 1, 1) rule_name ++ n = (n - digit) / base ++ } while (n); ++ ++ return rule_name ++} ++ ++# Process an input line and save it for later output. ++ ++function process_input_line(line, field, end, i, n, startdef) ++{ ++ # Remove comments, normalize spaces, and append a space to each line. ++ sub(/#.*/, "", line) ++ line = line " " ++ gsub(/[[:space:]]+/, " ", line) ++ ++ # Abbreviate keywords. Do not abbreviate "Link" to just "L", ++ # as pre-2017c zic erroneously diagnoses "Li" as ambiguous. ++ sub(/^Link /, "Li ", line) ++ sub(/^Rule /, "R ", line) ++ sub(/^Zone /, "Z ", line) ++ ++ # SystemV rules are not needed. ++ if (line ~ /^R SystemV /) return ++ ++ # Replace FooAsia rules with the same rules without "Asia", as they ++ # are duplicates. ++ if (match(line, /[^ ]Asia /)) { ++ if (line ~ /^R /) return ++ line = substr(line, 1, RSTART) substr(line, RSTART + 5) ++ } ++ ++ # Abbreviate times. ++ while (match(line, /[: ]0+[0-9]/)) ++ line = substr(line, 1, RSTART) substr(line, RSTART + RLENGTH - 1) ++ while (match(line, /:0[^:]/)) ++ line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2) ++ ++ # Abbreviate weekday names. Do not abbreviate "Sun" and "Sat", as ++ # pre-2017c zic erroneously diagnoses "Su" and "Sa" as ambiguous. ++ while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 4) substr(line, end - 1) ++ } ++ while (match(line, / (last)?(Tue|Thu)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 3) substr(line, end - 1) ++ } ++ ++ # Abbreviate "max", "only" and month names. ++ # Do not abbreviate "min", as pre-2017c zic erroneously diagnoses "mi" ++ # as ambiguous. ++ gsub(/ max /, " ma ", line) ++ gsub(/ only /, " o ", line) ++ gsub(/ Jan /, " Ja ", line) ++ gsub(/ Feb /, " F ", line) ++ gsub(/ Apr /, " Ap ", line) ++ gsub(/ Aug /, " Au ", line) ++ gsub(/ Sep /, " S ", line) ++ gsub(/ Oct /, " O ", line) ++ gsub(/ Nov /, " N ", line) ++ gsub(/ Dec /, " D ", line) ++ ++ # Strip leading and trailing space. ++ sub(/^ /, "", line) ++ sub(/ $/, "", line) ++ ++ # Remove unnecessary trailing zero fields. ++ sub(/ 0+$/, "", line) ++ ++ # Remove unnecessary trailing days-of-month "1". ++ if (match(line, /[[:alpha:]] 1$/)) ++ line = substr(line, 1, RSTART) ++ ++ # Remove unnecessary trailing " Ja" (for January). ++ sub(/ Ja$/, "", line) ++ ++ n = split(line, field) ++ ++ # Abbreviate rule names. ++ i = field[1] == "Z" ? 4 : field[1] == "Li" ? 0 : 2 ++ if (i && field[i] ~ /^[^-+0-9]/) { ++ if (!rule[field[i]]) ++ rule[field[i]] = gen_rule_name() ++ field[i] = rule[field[i]] ++ } ++ ++ # If this zone supersedes an earlier one, delete the earlier one ++ # from the saved output lines. ++ startdef = "" ++ if (field[1] == "Z") ++ zonename = startdef = field[2] ++ else if (field[1] == "Li") ++ zonename = startdef = field[3] ++ else if (field[1] == "R") ++ zonename = "" ++ if (startdef) { ++ i = zonedef[startdef] ++ if (i) { ++ do ++ output_line[i - 1] = "" ++ while (output_line[i++] ~ /^[-+0-9]/); ++ } ++ } ++ zonedef[zonename] = nout + 1 ++ ++ # Save the line for later output. ++ line = field[1] ++ for (i = 2; i <= n; i++) ++ line = line " " field[i] ++ output_line[nout++] = line ++} ++ ++function output_saved_lines(i) ++{ ++ for (i = 0; i < nout; i++) ++ if (output_line[i]) ++ print output_line[i] ++} ++ ++BEGIN { ++ print "# This zic input file is in the public domain." ++} ++ ++/^[[:space:]]*[^#[:space:]]/ { ++ process_input_line($0) ++} ++ ++END { ++ output_saved_lines() ++} ++native +\ No newline at end of property ++FreeBSD=%H +\ No newline at end of property ++text/plain +\ No newline at end of property +--- contrib/tzdata/zone.tab.orig ++++ contrib/tzdata/zone.tab +@@ -142,6 +142,7 @@ + CI +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 + CL -2709-10926 Pacific/Easter Easter Island + CM +0403+00942 Africa/Douala + CN +3114+12128 Asia/Shanghai Beijing Time +@@ -185,7 +186,7 @@ + GD +1203-06145 America/Grenada + GE +4143+04449 Asia/Tbilisi + GF +0456-05220 America/Cayenne +-GG +4927-00232 Europe/Guernsey ++GG +492717-0023210 Europe/Guernsey + GH +0533-00013 Africa/Accra + GI +3608-00521 Europe/Gibraltar + GL +6411-05144 America/Godthab Greenland (most areas) +@@ -220,7 +221,7 @@ + IR +3540+05126 Asia/Tehran + IS +6409-02151 Atlantic/Reykjavik + IT +4154+01229 Europe/Rome +-JE +4912-00207 Europe/Jersey ++JE +491101-0020624 Europe/Jersey + JM +175805-0764736 America/Jamaica + JO +3157+03556 Asia/Amman + JP +353916+1394441 Asia/Tokyo +@@ -239,7 +240,8 @@ + KZ +4315+07657 Asia/Almaty Kazakhstan (most areas) + KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda + KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe +-KZ +4431+05016 Asia/Aqtau Atyrau/Atirau/Gur'yev, Mangghystau/Mankistau ++KZ +4431+05016 Asia/Aqtau Mangghystau/Mankistau ++KZ +4707+05156 Asia/Atyrau Atyrau/Atirau/Gur'yev + KZ +5113+05121 Asia/Oral West Kazakhstan + LA +1758+10236 Asia/Vientiane + LB +3353+03530 Asia/Beirut +@@ -330,14 +332,15 @@ + RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad + RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area + RU +4457+03406 Europe/Simferopol MSK+00 - Crimea +-RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd, Saratov ++RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd + RU +5836+04939 Europe/Kirov MSK+00 - Kirov + RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan ++RU +5134+04602 Europe/Saratov MSK+01 - Saratov ++RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia +-RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals + RU +5500+07324 Asia/Omsk MSK+03 - Omsk +-RU +5502+08255 Asia/Novosibirsk MSK+03 - Novosibirsk ++RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk + RU +5322+08345 Asia/Barnaul MSK+04 - Altai + RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk + RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo +@@ -395,7 +398,6 @@ + UA +4837+02218 Europe/Uzhgorod Ruthenia + UA +4750+03510 Europe/Zaporozhye Zaporozh'ye/Zaporizhia; Lugansk/Luhansk (east) + UG +0019+03225 Africa/Kampala +-UM +1645-16931 Pacific/Johnston Johnston Atoll + UM +2813-17722 Pacific/Midway Midway Islands + UM +1917+16637 Pacific/Wake Wake Island + US +404251-0740023 America/New_York Eastern (most areas) +--- contrib/tzdata/zone1970.tab.orig ++++ contrib/tzdata/zone1970.tab +@@ -2,7 +2,7 @@ + # + # This file is in the public domain. + # +-# From Paul Eggert (2014-07-31): ++# From Paul Eggert (2017-10-01): + # This file contains a table where each row stands for a zone where + # civil time stamps have agreed since 1970. Columns are separated by + # a single tab. Lines beginning with '#' are comments. All text uses +@@ -16,7 +16,7 @@ + # either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS, + # first latitude (+ is north), then longitude (+ is east). + # 3. Zone name used in value of TZ environment variable. +-# Please see the 'Theory' file for how zone names are chosen. ++# Please see the theory.html file for how zone names are chosen. + # If multiple zones overlap a country, each has a row in the + # table, with each column 1 containing the country code. + # 4. Comments; present if and only if a country has multiple zones. +@@ -136,6 +136,7 @@ + CI,BF,GM,GN,ML,MR,SH,SL,SN,ST,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 + CL -2709-10926 Pacific/Easter Easter Island + CN +3114+12128 Asia/Shanghai Beijing Time + CN +4348+08735 Asia/Urumqi Xinjiang Time +@@ -211,8 +212,9 @@ + KR +3733+12658 Asia/Seoul + KZ +4315+07657 Asia/Almaty Kazakhstan (most areas) + KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda +-KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe +-KZ +4431+05016 Asia/Aqtau Atyrau/Atirau/Gur'yev, Mangghystau/Mankistau ++KZ +5017+05710 Asia/Aqtobe Aqtöbe/Aktobe ++KZ +4431+05016 Asia/Aqtau Mangghystaū/Mankistau ++KZ +4707+05156 Asia/Atyrau Atyraū/Atirau/Gur'yev + KZ +5113+05121 Asia/Oral West Kazakhstan + LB +3353+03530 Asia/Beirut + LK +0656+07951 Asia/Colombo +@@ -288,14 +290,15 @@ + RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad + RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area + RU +4457+03406 Europe/Simferopol MSK+00 - Crimea +-RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd, Saratov ++RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd + RU +5836+04939 Europe/Kirov MSK+00 - Kirov + RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan ++RU +5134+04602 Europe/Saratov MSK+01 - Saratov ++RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia +-RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk + RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals + RU +5500+07324 Asia/Omsk MSK+03 - Omsk +-RU +5502+08255 Asia/Novosibirsk MSK+03 - Novosibirsk ++RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk + RU +5322+08345 Asia/Barnaul MSK+04 - Altai + RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk + RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo +@@ -314,10 +317,11 @@ + SA,KW,YE +2438+04643 Asia/Riyadh + SB -0932+16012 Pacific/Guadalcanal + SC -0440+05528 Indian/Mahe +-SD,SS +1536+03232 Africa/Khartoum ++SD +1536+03232 Africa/Khartoum + SE +5920+01803 Europe/Stockholm + SG +0117+10351 Asia/Singapore + SR +0550-05510 America/Paramaribo ++SS +0451+03137 Africa/Juba + SV +1342-08912 America/El_Salvador + SY +3330+03618 Asia/Damascus + TC +2128-07108 America/Grand_Turk diff --git a/share/security/patches/EN-17:09/tzdata-11.0.patch.asc b/share/security/patches/EN-17:09/tzdata-11.0.patch.asc new file mode 100644 index 0000000000..4306636d6e --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-11.0.patch.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- + +iQKTBAABCgB9FiEEHPf/b631yp++G4yy7Wfs1l3PaucFAln7PXNfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFD +RjdGRjZGQURGNUNBOUZCRTFCOENCMkVENjdFQ0Q2NURDRjZBRTcACgkQ7Wfs1l3P +aufzVRAAwXKC4oBKgam/ixtN2mnnl7wfXyCT8cuDlfI/CboZeT/85ko2w1Md5SX9 +C4UOyfk78Lou2n4JFarC4dOtxXWUw3l2UidD/Hg0adqapwJMfssQE0ruE8W/U6yq +6Svku1smd16V+ek5nh3XbaLtbzUCH5o3v2O2wvQ0q0CxpfOe2zfyFq446pduoDKx +di2IDfgC+/Cejj+AKn/5d6o+oVO9uPYuzL2u466WRG/iz2sBwMU5B8dFBQUVv/12 +kY4ilnDf8NUQ+ABs4wjsXQnqWBS3t22SRIk/UUSK8socTXrzeN9+L00ibyPLdklr +hhmsD2GBuiv5rnByNsRbSAk16UhCMswxG578Xh05KDMLHnIllJxaKlg/YXBz1r+h +8+8ZTCP+ZZkNaT4RlCM4uNkrx7HK6URW0i0dUdmCW+WhcErn3RYRreqm8uLeYdQr +OIJtSaJxph+DsWzrh9vCIskpR11nFUQTzV/CDdqQ1AuBSVdR3yt5dPKcxcG7Fmp8 +DMCMGRDoxVkflhnD9Zxj97oz5aXCMLaPR4ZNu2YjKCTAk327ySQwFEyAxd31ntzZ +Ab6JBq1CbJJwGTJivSqBfvjtI5j4nAYj6q37xkFF7nuKPGbhysP7ejOWeFLsVvQs +PxIClqICc9IjmVeFqQ82R/dWmZXC+f7S7CObYbVcY/TgDvj/w3A= +=3wfa +-----END PGP SIGNATURE----- diff --git a/share/security/patches/EN-17:09/tzdata-11.1.patch b/share/security/patches/EN-17:09/tzdata-11.1.patch new file mode 100644 index 0000000000..029a330f03 --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-11.1.patch @@ -0,0 +1,5133 @@ +--- contrib/tzdata/CONTRIBUTING.orig ++++ contrib/tzdata/CONTRIBUTING +@@ -5,20 +5,26 @@ + warning, the data entries do not cover all of civil time before + 1970, and undoubtedly errors remain in the code and data. Feel + free to fill gaps or fix mistakes, and please email improvements +-to tz@iana.org for use in the future. ++to tz@iana.org for use in the future. In your email, please give ++reliable sources that reviewers can check. + ++----- ++ ++Developers can contribute technical changes to the source code and ++data as follows. ++ + To email small changes, please run a POSIX shell command like + 'diff -u old/europe new/europe >myfix.patch', and attach + myfix.patch to the email. + +-For more-elaborate changes, please read the Theory file and browse +-the mailing list archives for +-examples of patches that tend to work well. Ideally, additions to ++For more-elaborate changes, please read the theory.html file and browse ++the mailing list archives for ++examples of patches that tend to work well. Additions to + data should contain commentary citing reliable sources as +-justification. ++justification. Citations should use https: URLs if available. + + Please submit changes against either the latest release in +- or the master branch of the development ++ or the master branch of the development + repository. If you use Git the following workflow may be helpful: + + * Copy the development repository. +--- contrib/tzdata/LICENSE.orig ++++ contrib/tzdata/LICENSE +@@ -1,4 +1,5 @@ +-With a few exceptions, all files in the tz code and data (including +-this one) are in the public domain. The exceptions are date.c, +-newstrftime.3, and strftime.c, which contain material derived from BSD +-and which use the BSD 3-clause license. ++Unless specified below, all files in the tz code and data (including ++this LICENSE file) are in the public domain. ++ ++If the files date.c, newstrftime.3, and strftime.c are present, they ++contain material derived from BSD and use the BSD 3-clause license. +--- contrib/tzdata/Makefile.orig ++++ contrib/tzdata/Makefile +@@ -49,6 +49,7 @@ + # "Compiled" time zone information is placed in the "TZDIR" directory + # (and subdirectories). + # Use an absolute path name for TZDIR unless you're just testing the software. ++# TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty. + + TZDIR_BASENAME= zoneinfo + TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME) +@@ -75,7 +76,7 @@ + # If you want only POSIX time, with time values interpreted as + # seconds since the epoch (not counting leap seconds), use + # REDO= posix_only +-# below. If you want want only "right" time, with values interpreted ++# below. If you want only "right" time, with values interpreted + # as seconds since the epoch (counting leap seconds), use + # REDO= right_only + # below. If you want both sets of data available, with leap seconds not +@@ -92,6 +93,24 @@ + + REDO= posix_right + ++# To install data in text form that has all the information of the binary data, ++# (optionally incorporating leap second information), use ++# TZDATA_TEXT= tzdata.zi leapseconds ++# To install text data without leap second information (e.g., because ++# REDO='posix_only'), use ++# TZDATA_TEXT= tzdata.zi ++# To avoid installing text data, use ++# TZDATA_TEXT= ++ ++TZDATA_TEXT= leapseconds tzdata.zi ++ ++# For backward-compatibility links for old zone names, use ++# BACKWARD= backward pacificnew ++# To omit these links, use ++# BACKWARD= ++ ++BACKWARD= backward pacificnew ++ + # If you want out-of-scope and often-wrong data from the file 'backzone', use + # PACKRATDATA= backzone + # To omit this data, use +@@ -99,6 +118,11 @@ + + PACKRATDATA= + ++# The name of a locale using the UTF-8 encoding, used during self-tests. ++# The tests are skipped if the name does not appear to work on this system. ++ ++UTF8_LOCALE= en_US.utf8 ++ + # Since "." may not be in PATH... + + YEARISTYPE= ./yearistype +@@ -106,50 +130,53 @@ + # Non-default libraries needed to link. + LDLIBS= + +-# Add the following to the end of the "CFLAGS=" line as needed. ++# Add the following to the end of the "CFLAGS=" line as needed to override ++# defaults specified in the source code. "-DFOO" is equivalent to "-DFOO=1". + # -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c) ++# -DDEPRECATE_TWO_DIGIT_YEARS for optional runtime warnings about strftime ++# formats that generate only the last two digits of year numbers ++# -DEPOCH_LOCAL if the 'time' function returns local time not UT ++# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater ++# than what POSIX specifies, assuming local time is UT. ++# For example, N is 252460800 on AmigaOS. + # -DHAVE_DECL_ASCTIME_R=0 if does not declare asctime_r ++# -DHAVE_DECL_ENVIRON if declares 'environ' + # -DHAVE_DIRECT_H if mkdir needs (MS-Windows) +-# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS) +-# -DHAVE_GETTEXT=1 if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) +-# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares ++# -DHAVE_GENERIC=0 if _Generic does not work ++# -DHAVE_GETTEXT if 'gettext' works (e.g., GNU/Linux, FreeBSD, Solaris) ++# -DHAVE_INCOMPATIBLE_CTIME_R if your system's time.h declares + # ctime_r and asctime_r incompatibly with the POSIX standard + # (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined). +-# -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h" ++# -DHAVE_INTTYPES_H if you have a non-C99 compiler with + # -DHAVE_LINK=0 if your system lacks a link function + # -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 +-# This defaults to 1 if a working localtime_rz seems to be available. + # localtime_rz can make zdump significantly faster, but is nonstandard. + # -DHAVE_POSIX_DECLS=0 if your system's include files do not declare + # functions like 'link' or variables like 'tzname' required by POSIX +-# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h" +-# -DHAVE_STRFTIME_L=1 if declares locale_t and strftime_l +-# This defaults to 0 if _POSIX_VERSION < 200809, 1 otherwise. ++# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function ++# -DHAVE_STDBOOL_H if you have a non-C99 compiler with ++# -DHAVE_STDINT_H if you have a non-C99 compiler with ++# -DHAVE_STRFTIME_L if declares locale_t and strftime_l + # -DHAVE_STRDUP=0 if your system lacks the strdup 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_SYS_STAT_H=0 if your compiler lacks a ++# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a + # -DHAVE_TZSET=0 if your system lacks a tzset function +-# -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?) +-# -DEPOCH_LOCAL=1 if the 'time' function returns local time not UT +-# -DEPOCH_OFFSET=N if the 'time' function returns a value N greater +-# than what POSIX specifies, assuming local time is UT. +-# For example, N is 252460800 on AmigaOS. +-# -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1 +-# if you do not want run time warnings about formats that may cause +-# year 2000 grief +-# -Dssize_t=long on ancient hosts that lack ssize_t +-# -DTHREAD_SAFE=1 to make localtime.c thread-safe, as POSIX requires; ++# -DHAVE_UNISTD_H=0 if your compiler lacks a ++# -Dlocale_t=XXX if your system uses XXX instead of locale_t ++# -Dssize_t=long on hosts like MS-Windows that lack ssize_t ++# -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; + # not needed by the main-program tz code, which is single-threaded. + # Append other compiler flags as needed, e.g., -pthread on GNU/Linux. + # -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t ++# This is intended for internal use only; it mangles external names. + # -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" + # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; + # the default is system-supplied, typically "/usr/lib/locale" + # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified + # DST transitions if the time zone files cannot be accessed +-# -DUNINIT_TRAP=1 if reading uninitialized storage can cause problems ++# -DUNINIT_TRAP if reading uninitialized storage can cause problems + # other than simply getting garbage data + # -DUSE_LTZ=0 to build zdump with the system time zone library + # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. +@@ -157,27 +184,28 @@ + # (or some other number) to set the maximum time zone abbreviation length + # that zic will accept without a warning (the default is 6) + # $(GCC_DEBUG_FLAGS) if you are using recent GCC and want lots of checking +-GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-common -fstrict-aliasing \ +- -Wall -Wextra \ +- -Wbad-function-cast -Wcast-align -Wdate-time \ +- -Wdeclaration-after-statement \ +- -Wdouble-promotion \ +- -Wformat=2 -Winit-self -Wjump-misses-init \ +- -Wlogical-op -Wmissing-prototypes -Wnested-externs \ +- -Wold-style-definition -Woverlength-strings -Wpointer-arith \ +- -Wshadow -Wstrict-prototypes -Wsuggest-attribute=const \ +- -Wsuggest-attribute=format -Wsuggest-attribute=noreturn \ +- -Wsuggest-attribute=pure -Wtrampolines \ +- -Wundef -Wunused -Wwrite-strings \ +- -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ +- -Wno-type-limits -Wno-unused-parameter ++# Select instrumentation via "make GCC_INSTRUMENT='whatever'". ++GCC_INSTRUMENT = \ ++ -fsanitize=undefined -fsanitize-address-use-after-scope \ ++ -fsanitize-undefined-trap-on-error -fstack-protector ++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 -Wdate-time \ ++ -Wdeclaration-after-statement -Wdouble-promotion \ ++ -Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \ ++ -Winit-self -Wjump-misses-init -Wlogical-op \ ++ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ ++ -Wold-style-definition -Woverlength-strings -Wpointer-arith \ ++ -Wshadow -Wshift-overflow=2 -Wstrict-prototypes -Wstringop-overflow=5 \ ++ -Wsuggest-attribute=const -Wsuggest-attribute=format \ ++ -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \ ++ -Wtrampolines -Wundef -Wuninitialized -Wunused \ ++ -Wvariadic-macros -Wvla -Wwrite-strings \ ++ -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ ++ -Wno-type-limits -Wno-unused-parameter + # +-# If you want to use System V compatibility code, add +-# -DUSG_COMPAT +-# to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight" +-# variables to be kept up-to-date by the time conversion functions. Neither +-# "timezone" nor "daylight" is described in X3J11's work. +-# + # If your system has a "GMT offset" field in its "struct tm"s + # (or if you decide to add such a field in your system's "time.h" file), + # add the name to a define such as +@@ -189,6 +217,31 @@ + # and define NO_TM_ZONE to suppress any guessing. These two fields are not + # required by POSIX, but are widely available on GNU/Linux and BSD systems. + # ++# The next batch of options control support for external variables ++# exported by tzcode. In practice these variables are less useful ++# than TM_GMTOFF and TM_ZONE. However, most of them are standardized. ++# # ++# # To omit or support the external variable "tzname", add one of: ++# # -DHAVE_TZNAME=0 ++# # -DHAVE_TZNAME=1 ++# # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. ++# # If not defined, the code attempts to guess HAVE_TZNAME from other macros. ++# # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause ++# # crashes when combined with some platforms' standard libraries, ++# # presumably due to memory allocation issues. ++# # ++# # To omit or support the external variables "timezone" and "daylight", add ++# # -DUSG_COMPAT=0 ++# # -DUSG_COMPAT=1 ++# # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by ++# # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. ++# # If not defined, the code attempts to guess USG_COMPAT from other macros. ++# # ++# # To support the external variable "altzone", add ++# # -DALTZONE ++# # to the end of the "CFLAGS=" line; although "altzone" appeared in ++# # System V Release 3.1 it has not been standardized. ++# + # If you want functions that were inspired by early versions of X3J11's work, + # add + # -DSTD_INSPIRED +@@ -226,11 +279,6 @@ + # -DALL_STATE + # to the end of the "CFLAGS=" line. Storage is obtained by calling malloc. + # +-# If you want an "altzone" variable (a la System V Release 3.1), add +-# -DALTZONE +-# to the end of the "CFLAGS=" line. +-# This variable is not described in X3J11's work. +-# + # NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put + # out by the National Institute of Standards and Technology + # which claims to test C and Posix conformance. If you want to pass PCTS, add +@@ -240,8 +288,8 @@ + # If you want strict compliance with XPG4 as of 1994-04-09, add + # -DXPG4_1994_04_09 + # to the end of the "CFLAGS=" line. This causes "strftime" to always return +-# 53 as a week number (rather than 52 or 53) for those days in January that +-# before the first Monday in January when a "%V" format is used and January 1 ++# 53 as a week number (rather than 52 or 53) for January days before ++# January's first Monday when a "%V" format is used and January 1 + # falls on a Friday, Saturday, or Sunday. + + CFLAGS= +@@ -265,7 +313,7 @@ + + # How to use zic to install tz binary files. + +-ZIC_INSTALL= $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) ++ZIC_INSTALL= $(ZIC) -d $(DESTDIR)$(TZDIR) $(LEAPSECONDS) + + # The name of a Posix-compliant 'awk' on your system. + AWK= awk +@@ -289,6 +337,7 @@ + # The name, arguments and environment of a program to validate your web pages. + # See for a validator, and + # for a validation library. ++# Set VALIDATE=':' if you do not have such a program. + VALIDATE = nsgmls + VALIDATE_FLAGS = -s -B -wall -wno-unused-param + VALIDATE_ENV = \ +@@ -355,7 +404,7 @@ + RANLIB= : + + TZCOBJS= zic.o +-TZDOBJS= zdump.o localtime.o asctime.o ++TZDOBJS= zdump.o localtime.o asctime.o strftime.o + DATEOBJS= date.o localtime.o strftime.o asctime.o + LIBSRCS= localtime.c asctime.c difftime.c + LIBOBJS= localtime.o asctime.o difftime.o +@@ -370,20 +419,22 @@ + time2posix.3.txt \ + tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \ + date.1.txt +-COMMON= CONTRIBUTING LICENSE Makefile NEWS README Theory version ++COMMON= calendars CONTRIBUTING LICENSE Makefile \ ++ NEWS README theory.html version + WEB_PAGES= tz-art.htm tz-how-to.html tz-link.htm + DOCS= $(MANS) date.1 $(MANTXTS) $(WEB_PAGES) + PRIMARY_YDATA= africa antarctica asia australasia \ + europe northamerica southamerica +-YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward ++YDATA= $(PRIMARY_YDATA) etcetera $(BACKWARD) + NDATA= systemv factory + TDATA= $(YDATA) $(NDATA) + ZONETABLES= zone1970.tab zone.tab +-TABDATA= iso3166.tab leapseconds $(ZONETABLES) ++TABDATA= iso3166.tab $(TZDATA_TEXT) $(ZONETABLES) + LEAP_DEPS= leapseconds.awk leap-seconds.list +-DATA= $(YDATA) $(NDATA) backzone $(TABDATA) \ +- leap-seconds.list yearistype.sh +-AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk ++TZDATA_ZI_DEPS= zishrink.awk $(TDATA) $(PACKRATDATA) ++DATA= $(YDATA) $(NDATA) backzone iso3166.tab leap-seconds.list \ ++ leapseconds yearistype.sh $(ZONETABLES) ++AWK_SCRIPTS= checklinks.awk checktab.awk leapseconds.awk zishrink.awk + MISC= $(AWK_SCRIPTS) zoneinfo2tdf.pl + TZS_YEAR= 2050 + TZS= to$(TZS_YEAR).tzs +@@ -390,13 +441,13 @@ + TZS_NEW= to$(TZS_YEAR)new.tzs + TZS_DEPS= $(PRIMARY_YDATA) asctime.c localtime.c \ + private.h tzfile.h zdump.c zic.c +-ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) ++ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) $(TZS) tzdata.zi + + # Consult these files when deciding whether to rebuild the 'version' file. + # This list is not the same as the output of 'git ls-files', since + # .gitignore is not distributed. + VERSION_DEPS= \ +- CONTRIBUTING LICENSE Makefile NEWS README Theory \ ++ calendars CONTRIBUTING LICENSE Makefile NEWS README \ + africa antarctica asctime.c asia australasia \ + backward backzone \ + checklinks.awk checktab.awk \ +@@ -405,7 +456,7 @@ + leap-seconds.list leapseconds.awk localtime.c \ + newctime.3 newstrftime.3 newtzset.3 northamerica \ + pacificnew private.h \ +- southamerica strftime.c systemv \ ++ southamerica strftime.c systemv theory.html \ + time2posix.3 tz-art.htm tz-how-to.html tz-link.htm \ + tzfile.5 tzfile.h tzselect.8 tzselect.ksh \ + workman.sh yearistype.sh \ +@@ -427,7 +478,7 @@ + $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \ + $(DESTDIR)$(MANDIR)/man8 + $(ZIC_INSTALL) -l $(LOCALTIME) -p $(POSIXRULES) +- cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/. ++ cp -f $(TABDATA) $(DESTDIR)$(TZDIR)/. + cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/. + cp libtz.a $(DESTDIR)$(LIBDIR)/. + $(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a +@@ -448,6 +499,11 @@ + printf '%s\n' "$$V" >$@.out + mv $@.out $@ + ++# This file can be tailored by setting BACKWARD, PACKRATDATA, etc. ++tzdata.zi: $(TZDATA_ZI_DEPS) ++ LC_ALL=C $(AWK) -f zishrink.awk $(TDATA) $(PACKRATDATA) >$@.out ++ mv $@.out $@ ++ + version.h: version + VERSION=`cat version` && printf '%s\n' \ + 'static char const PKGVERSION[]="($(PACKAGE)) ";' \ +@@ -473,6 +529,7 @@ + # Arguments to pass to submakes of install_data. + # They can be overridden by later submake arguments. + INSTALLARGS = \ ++ BACKWARD=$(BACKWARD) \ + DESTDIR=$(DESTDIR) \ + LEAPSECONDS='$(LEAPSECONDS)' \ + PACKRATDATA='$(PACKRATDATA)' \ +@@ -481,10 +538,8 @@ + ZIC='$(ZIC)' + + # 'make install_data' installs one set of tz binary files. +-# It can be tailored by setting LEAPSECONDS, PACKRATDATA, etc. +-install_data: zic leapseconds yearistype $(PACKRATDATA) $(TDATA) +- $(ZIC_INSTALL) $(TDATA) +- $(AWK) '/^Rule/' $(TDATA) | $(ZIC_INSTALL) - $(PACKRATDATA) ++install_data: zic leapseconds yearistype tzdata.zi ++ $(ZIC_INSTALL) tzdata.zi + + posix_only: + $(MAKE) $(INSTALLARGS) LEAPSECONDS= install_data +@@ -521,14 +576,14 @@ + + zones: $(REDO) + +-$(TZS_NEW): $(TDATA) zdump zic ++$(TZS_NEW): tzdata.zi zdump zic + mkdir -p tzs.dir +- $(zic) -d tzs.dir $(TDATA) +- $(AWK) '/^Link/{print $$1 "\t" $$2 "\t" $$3}' \ +- $(TDATA) | LC_ALL=C sort >$@.out ++ $(zic) -d tzs.dir tzdata.zi ++ $(AWK) '/^L/{print "Link\t" $$2 "\t" $$3}' \ ++ tzdata.zi | LC_ALL=C sort >$@.out + wd=`pwd` && \ + zones=`$(AWK) -v wd="$$wd" \ +- '/^Zone/{print wd "/tzs.dir/" $$2}' $(TDATA) \ ++ '/^Z/{print wd "/tzs.dir/" $$2}' tzdata.zi \ + | LC_ALL=C sort` && \ + ./zdump -i -c $(TZS_YEAR) $$zones >>$@.out + sed 's,^TZ=".*tzs\.dir/,TZ=",' $@.out >$@.sed.out +@@ -564,18 +619,24 @@ + chmod +x $@.out + mv $@.out $@ + +-check: check_character_set check_white_space check_links check_sorted \ +- check_tables check_tzs check_web ++check: check_character_set check_white_space check_links \ ++ check_name_lengths check_sorted \ ++ check_tables check_web check_zishrink check_tzs + + check_character_set: $(ENCHILADA) +- LC_ALL=en_US.utf8 && export LC_ALL && \ ++ test ! '$(UTF8_LOCALE)' || \ ++ ! printf 'A\304\200B\n' | \ ++ LC_ALL='$(UTF8_LOCALE)' grep -q '^A.B$$' >/dev/null 2>&1 || { \ ++ LC_ALL='$(UTF8_LOCALE)' && export LC_ALL && \ + sharp='#' && \ + ! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \ + $(MISC) $(SOURCES) $(WEB_PAGES) \ +- CONTRIBUTING LICENSE Makefile README version && \ ++ CONTRIBUTING LICENSE Makefile README \ ++ version tzdata.zi && \ + ! grep -Env $(SAFE_SHARP_LINE) $(TDATA) backzone \ + leapseconds yearistype.sh zone.tab && \ +- ! grep -Env $(OK_LINE) $(ENCHILADA) ++ ! grep -Env $(OK_LINE) $(ENCHILADA); \ ++ } + + check_white_space: $(ENCHILADA) + patfmt=' \t|[\f\r\v]' && pat=`printf "$$patfmt\\n"` && \ +@@ -582,6 +643,13 @@ + ! grep -En "$$pat" $(ENCHILADA) + ! grep -n '[[:space:]]$$' $(ENCHILADA) + ++PRECEDES_FILE_NAME = ^(Zone|Link[[:space:]]+[^[:space:]]+)[[:space:]]+ ++FILE_NAME_COMPONENT_TOO_LONG = \ ++ $(PRECEDES_FILE_NAME)[^[:space:]]*[^/[:space:]]{15} ++ ++check_name_lengths: $(TDATA) backzone ++ ! grep -En '$(FILE_NAME_COMPONENT_TOO_LONG)' $(TDATA) backzone ++ + CHECK_CC_LIST = { n = split($$1,a,/,/); for (i=2; i<=n; i++) print a[1], a[i]; } + + check_sorted: backward backzone iso3166.tab zone.tab zone1970.tab +@@ -596,6 +664,7 @@ + + check_links: checklinks.awk $(TDATA) + $(AWK) -f checklinks.awk $(TDATA) ++ $(AWK) -f checklinks.awk tzdata.zi + + check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES) + for tab in $(ZONETABLES); do \ +@@ -606,14 +675,32 @@ + check_tzs: $(TZS) $(TZS_NEW) + diff -u $(TZS) $(TZS_NEW) + +-check_web: $(WEB_PAGES) +- $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES) ++# This checks only the HTML 4.01 strict page. ++# To check the the other pages, use . ++check_web: tz-how-to.html ++ $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) tz-how-to.html + ++# Check that tzdata.zi generates the same binary data that its sources do. ++check_zishrink: tzdata.zi zic leapseconds $(PACKRATDATA) $(TDATA) ++ for type in posix right; do \ ++ mkdir -p time_t.dir/$$type time_t.dir/$$type-shrunk && \ ++ case $$type in \ ++ right) leap='-L leapseconds';; \ ++ *) leap=;; \ ++ esac && \ ++ $(ZIC) $$leap -d time_t.dir/$$type $(TDATA) && \ ++ $(AWK) '/^Rule/' $(TDATA) | \ ++ $(ZIC) $$leap -d time_t.dir/$$type - $(PACKRATDATA) && \ ++ $(ZIC) $$leap -d time_t.dir/$$type-shrunk tzdata.zi && \ ++ diff -r time_t.dir/$$type time_t.dir/$$type-shrunk || exit; \ ++ done ++ rm -fr time_t.dir ++ + clean_misc: + rm -f core *.o *.out \ + date tzselect version.h zdump zic yearistype libtz.a + clean: clean_misc +- rm -fr *.dir tzdb-*/ $(TZS_NEW) ++ rm -fr *.dir tzdata.zi tzdb-*/ $(TZS_NEW) + + maintainer-clean: clean + @echo 'This command is intended for maintainers to use; it' +@@ -667,6 +754,7 @@ + touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \ + exit; \ + done ++ touch -cmr `ls -t $(TZDATA_ZI_DEPS) | sed 1q` tzdata.zi + touch -cmr `ls -t $(TZS_DEPS) | sed 1q` $(TZS) + touch -cmr `ls -t $(VERSION_DEPS) | sed 1q` version + touch $@ +@@ -678,7 +766,7 @@ + $(MAKE) maintainer-clean + $(MAKE) "CFLAGS=$(GCC_DEBUG_FLAGS)" ALL + mkdir -p public.dir +- for i in $(TDATA) ; do \ ++ for i in $(TDATA) tzdata.zi; do \ + $(zic) -v -d public.dir $$i 2>&1 || exit; \ + done + $(zic) -v -d public.dir $(TDATA) +@@ -772,8 +860,8 @@ + $(MAKE) clean ; \ + done + +-zonenames: $(TDATA) +- @$(AWK) '/^Zone/ { print $$2 } /^Link/ { print $$3 }' $(TDATA) ++zonenames: tzdata.zi ++ @$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi + + asctime.o: private.h tzfile.h + date.o: private.h +@@ -789,6 +877,7 @@ + .PHONY: check check_character_set check_links + .PHONY: check_public check_sorted check_tables + .PHONY: check_time_t_alternatives check_tzs check_web check_white_space ++.PHONY: check_zishrink + .PHONY: clean clean_misc force_tzs + .PHONY: install install_data maintainer-clean names + .PHONY: posix_only posix_packrat posix_right +--- contrib/tzdata/NEWS.orig ++++ contrib/tzdata/NEWS +@@ -1,5 +1,169 @@ + News for the tz database + ++Release 2017c - 2017-10-20 14:49:34 -0700 ++ ++ Briefly: ++ Northern Cyprus switches from +03 to +02/+03 on 2017-10-29. ++ Fiji ends DST 2018-01-14, not 2018-01-21. ++ Namibia switches from +01/+02 to +02 on 2018-04-01. ++ Sudan switches from +03 to +02 on 2017-11-01. ++ Tonga likely switches from +13/+14 to +13 on 2017-11-05. ++ Turks & Caicos switches from -04 to -05/-04 on 2018-11-04. ++ A new file tzdata.zi now holds a small text copy of all data. ++ The zic input format has been regularized slightly. ++ ++ Changes to future time stamps ++ ++ Northern Cyprus has decided to resume EU rules starting ++ 2017-10-29, thus reinstituting winter time. ++ ++ Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously ++ predicted. (Thanks to Dominic Fok.) Adjust future predictions ++ accordingly. ++ ++ Namibia will switch from +01 with DST to +02 all year on ++ 2017-09-03 at 02:00. This affects UT offsets starting 2018-04-01 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Sudan will switch from +03 to +02 on 2017-11-01. (Thanks to Ahmed ++ Atyya and Yahia Abdalla.) South Sudan is not switching, so ++ Africa/Juba is no longer a link to Africa/Khartoum. ++ ++ Tonga has likely ended its experiment with DST, and will not ++ adjust its clocks on 2017-11-05. Although Tonga has not announced ++ whether it will continue to observe DST, the IATA is assuming that ++ it will not. (Thanks to David Wade.) ++ ++ Turks & Caicos will switch from -04 all year to -05 with US DST on ++ 2018-03-11 at 03:00. This affects UT offsets starting 2018-11-04 ++ at 02:00. (Thanks to Steffen Thorsen.) ++ ++ Changes to past time stamps ++ ++ Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03. ++ (Thanks to Arthur David Olson.) ++ ++ Detroit did not observe DST in 1967. ++ ++ Use railway time for Asia/Kolkata before 1941, by switching to ++ Madras local time (UT +052110) in 1870, then to IST (UT +0530) in ++ 1906. Also, treat 1941-2's +0630 as DST, like 1942-5. ++ ++ Europe/Dublin's 1946 and 1947 fallback transitions occurred at ++ 02:00 standard time, not 02:00 DST. (Thanks to Michael Deckers.) ++ ++ Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to ++ American time in 1892, not 1879. (Thanks to Michael Deckers.) ++ ++ Adjust the 1867 transition in Alaska to better reflect the ++ historical record, by changing it to occur on 1867-10-18 at 15:30 ++ Sitka time rather than at the start of 1867-10-17 local time. ++ Although strictly speaking this is accurate only for Sitka, ++ the rest of Alaska's blanks need to be filled in somehow. ++ ++ Fix off-by-one errors in UT offsets for Adak and Nome before 1867. ++ (Thanks to Michael Deckers.) ++ ++ Add 7 s to the UT offset in Asia/Yangon before 1920. ++ ++ Changes to zone names ++ ++ Remove Canada/East-Saskatchewan from the 'backward' file, as it ++ exceeded the 14-character limit and was an unused misnomer anyway. ++ ++ Changes to build procedure ++ ++ To support applications that prefer to read time zone data in text ++ form, two zic input files tzdata.zi and leapseconds are now ++ installed by default. The commands 'zic tzdata.zi' and 'zic -L ++ leapseconds tzdata.zi' can reproduce the tzdata binary files ++ without and with leap seconds, respectively. To prevent these two ++ new files from being installed, use 'make TZDATA_TEXT=', and to ++ suppress leap seconds from the tzdata text installation, use 'make ++ TZDATA_TEXT=tzdata.zi'. ++ ++ 'make BACKWARD=' now suppresses backward-compatibility names ++ like 'US/Pacific' that are defined in the 'backward' and ++ 'pacificnew' files. ++ ++ 'make check' now works on systems that lack a UTF-8 locale, ++ or that lack the nsgmls program. Set UTF8_LOCALE to configure ++ the name of a UTF-8 locale, if you have one. ++ ++ Y2K runtime checks are no longer enabled by default. Add ++ -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of ++ adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU ++ to disable them. (New name suggested by Brian Inglis.) ++ ++ The build procedure for zdump now works on AIX 7.1. ++ (Problem reported by Kees Dekker.) ++ ++ Changes to code ++ ++ zic and the reference runtime now reject multiple leap seconds ++ within 28 days of each other, or leap seconds before the Epoch. ++ As a result, support for double leap seconds, which was ++ obsolescent and undocumented, has been removed. Double leap ++ seconds were an error in the C89 standard; they have never existed ++ in civil timekeeping. (Thanks to Robert Elz and Bradley White for ++ noticing glitches in the code that uncovered this problem.) ++ ++ zic now warns about use of the obsolescent and undocumented -y ++ option, and about use of the obsolescent TYPE field of Rule lines. ++ ++ zic now allows unambiguous abbreviations like "Sa" and "Su" for ++ weekdays; formerly it rejected them due to a bug. Conversely, zic ++ no longer considers non-prefixes to be abbreviations; for example, ++ it no longer accepts "lF" as an abbreviation for "lastFriday". ++ Also, zic warns about the undocumented usage with a "last-" ++ prefix, e.g., "last-Fri". ++ ++ Similarly, zic now accepts the unambiguous abbreviation "L" for ++ "Link" in ordinary context and for "Leap" in leap-second context. ++ Conversely, zic no longer accepts non-prefixes such as "La" as ++ abbreviations for words like "Leap". ++ ++ zic no longer accepts leap second lines in ordinary input, or ++ ordinary lines in leap second input. Formerly, zic sometimes ++ warned about this undocumented usage and handled it incorrectly. ++ ++ The new macro HAVE_TZNAME governs whether the tzname external ++ variable is exported, instead of USG_COMPAT. USG_COMPAT now ++ governs only the external variables "timezone" and "daylight". ++ This change is needed because the three variables are not in the ++ same category: although POSIX requires tzname, it specifies the ++ other two variables as optional. Also, USG_COMPAT is now 1 or 0: ++ if not defined, the code attempts to guess it from other macros. ++ ++ localtime.c and difftime.c no longer require stdio.h, and .c files ++ other than zic.c no longer require sys/wait.h. ++ ++ zdump.c no longer assumes snprintf. (Reported by Jonathan Leffler.) ++ ++ Calculation of time_t extrema works around a bug in GCC 4.8.4 ++ (Reported by Stan Shebs and Joseph Myers.) ++ ++ zic.c no longer mistranslates formats of line numbers in non-English ++ locales. (Problem reported by Benno Schulenberg.) ++ ++ Several minor changes have been made to the code to make it a ++ bit easier to port to MS-Windows and Solaris. (Thanks to Kees ++ Dekker for reporting the problems.) ++ ++ Changes to documentation and commentary ++ ++ The two new files 'theory.html' and 'calendars' contain the ++ contents of the removed file 'Theory'. The goal is to document ++ tzdb theory more accessibly. ++ ++ The zic man page now documents abbreviation rules. ++ ++ tz-link.htm now covers how to apply tzdata changes to clients. ++ (Thanks to Jorge Fábregas for the AIX link.) It also mentions MySQL. ++ ++ The leap-seconds.list URL has been updated to something that is ++ more reliable for tzdb. (Thanks to Tim Parenti and Brian Inglis.) ++ + Release 2017b - 2017-03-17 07:30:38 -0700 + + Briefly: Haiti has resumed DST. +@@ -15,7 +179,17 @@ + Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430" + is one byte over the POSIX limit. (Problem reported by Derick Rethans.) + ++ Changes to code + ++ The reference localtime implementation now falls back on the ++ current US daylight-saving transition rules rather than the ++ 1987-2006 rules. This fallback occurs only when (1) the TZ ++ environment variable's value has a name like "AST4ADT" that asks ++ for daylight saving time but does not specify the rules, (2) there ++ is no file by that name, and (3) the TZDEFRULES file cannot be ++ loaded. (Thanks to Tom Lane.) ++ ++ + Release 2017a - 2017-02-28 00:05:36 -0800 + + Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia +@@ -1981,7 +2155,7 @@ + + The 'leapseconds' file is now generated automatically from a + new file 'leap-seconds.list', which is a copy of +- . ++ + A new source file 'leapseconds.awk' implements this. + The goal is simplification of the future maintenance of 'leapseconds'. + +@@ -2187,7 +2361,7 @@ + + Many changes affect historical timestamps before 1940. + These were deduced from: Milne J. Civil time. Geogr J. 1899 +- Feb;13(2):173-94 . ++ Feb;13(2):173-94 . + + Changes affecting the code: + +--- contrib/tzdata/Theory.orig ++++ contrib/tzdata/Theory +@@ -1,870 +0,0 @@ +-Theory and pragmatics of the tz code and data +- +- +------ Outline ----- +- +- Scope of the tz database +- Names of time zone rules +- Time zone abbreviations +- Accuracy of the tz database +- Time and date functions +- Interface stability +- Calendrical issues +- Time and time zones on Mars +- +- +------ Scope of the tz database ----- +- +-The tz database attempts to record the history and predicted future of +-all computer-based clocks that track civil time. To represent this +-data, the world is partitioned into regions whose clocks all agree +-about time stamps that occur after the somewhat-arbitrary cutoff point +-of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, +-the database records all known clock transitions, and labels the region +-with a notable 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. +- +-Clock transitions before 1970 are recorded for each such location, +-because most systems support time stamps 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 +-applications requiring accurate handling of all past times everywhere, +-as it would take far too much effort and guesswork to record all +-details of pre-1970 civil timekeeping. +- +-As described below, reference source code for using the tz database is +-also available. The tz code is upwards compatible with POSIX, an +-international standard for UNIX-like systems. As of this writing, the +-current edition of POSIX is: +- +- The Open Group Base Specifications Issue 7 +- IEEE Std 1003.1-2008, 2016 Edition +- +- +- +- +------ Names of time zone rules ----- +- +-Each of the database's time zone rules has a unique name. +-Inexperienced users are not expected to select these names unaided. +-Distributors should provide documentation and/or a simple selection +-interface that explains the names; for one example, see the 'tzselect' +-program in the tz code. The Unicode Common Locale Data Repository +- contains data that may be useful for other +-selection interfaces. +- +-The time zone rule naming conventions attempt to strike a balance +-among the following goals: +- +- * Uniquely identify every region where clocks have agreed since 1970. +- This is essential for the intended use: static clocks keeping local +- civil time. +- +- * Indicate to experts where that region is. +- +- * Be robust in the presence of political changes. For example, names +- of countries are ordinarily not used, to avoid incompatibilities +- when countries change their name (e.g. Zaire->Congo) or when +- locations change countries (e.g. Hong Kong from UK colony to +- China). +- +- * Be portable to a wide variety of implementations. +- +- * Use a consistent naming conventions over the entire world. +- +-Names normally have the form AREA/LOCATION, where AREA is the name +-of a continent or ocean, and LOCATION is the name of a specific +-location within that region. North and South America share the same +-area, 'America'. Typical names are 'Africa/Cairo', 'America/New_York', +-and 'Pacific/Honolulu'. +- +-Here are the general rules used for choosing location names, +-in decreasing order of importance: +- +- Use only valid POSIX file name components (i.e., the parts of +- names other than '/'). Do not use the file name +- components '.' and '..'. Within a file name component, +- use only ASCII letters, '.', '-' and '_'. Do not use +- digits, as that might create an ambiguity with POSIX +- TZ strings. A file name component must not exceed 14 +- characters or start with '-'. E.g., prefer 'Brunei' +- to 'Bandar_Seri_Begawan'. Exceptions: see the discussion +- of legacy names below. +- A name must not be empty, or contain '//', or start or end with '/'. +- Do not use names that differ only in case. Although the reference +- implementation is case-sensitive, some other implementations +- are not, and they would mishandle names differing only in case. +- If one name A is an initial prefix of another name AB (ignoring case), +- then B must not start with '/', as a regular file cannot have +- the same name as a directory in POSIX. For example, +- 'America/New_York' precludes 'America/New_York/Bronx'. +- Uninhabited regions like the North Pole and Bouvet Island +- do not need locations, since local time is not defined there. +- There should typically be at least one name for each ISO 3166-1 +- officially assigned two-letter code for an inhabited country +- or territory. +- If all the clocks in a region have agreed since 1970, +- don't bother to include more than one location +- even if subregions' clocks disagreed before 1970. +- Otherwise these tables would become annoyingly large. +- If a name is ambiguous, use a less ambiguous alternative; +- e.g. many cities are named San José and Georgetown, so +- prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. +- Keep locations compact. Use cities or small islands, not countries +- or regions, so that any future time zone changes do not split +- locations into different time zones. E.g. prefer 'Paris' +- to 'France', since France has had multiple time zones. +- Use mainstream English spelling, e.g. prefer 'Rome' to 'Roma', and +- prefer 'Athens' to the Greek 'Αθήνα' or the Romanized 'Athína'. +- The POSIX file name restrictions encourage this rule. +- Use the most populous among locations in a zone, +- e.g. prefer 'Shanghai' to 'Beijing'. Among locations with +- similar populations, pick the best-known location, +- e.g. prefer 'Rome' to 'Milan'. +- Use the singular form, e.g. prefer 'Canary' to 'Canaries'. +- Omit common suffixes like '_Islands' and '_City', unless that +- would lead to ambiguity. E.g. prefer 'Cayman' to +- 'Cayman_Islands' and 'Guatemala' to 'Guatemala_City', +- but prefer 'Mexico_City' to 'Mexico' because the country +- of Mexico has several time zones. +- Use '_' to represent a space. +- Omit '.' from abbreviations in names, e.g. prefer 'St_Helena' +- to 'St._Helena'. +- Do not change established names if they only marginally +- violate the above rules. For example, don't change +- the existing name 'Rome' to 'Milan' merely because +- Milan's population has grown to be somewhat greater +- than Rome's. +- If a name is changed, put its old spelling in the 'backward' file. +- This means old spellings will continue to work. +- +-The file 'zone1970.tab' lists geographical locations used to name time +-zone rules. It is intended to be an exhaustive list of names for +-geographic regions as described above; this is a subset of the names +-in the data. Although a 'zone1970.tab' location's longitude +-corresponds to its LMT offset with one hour for every 15 degrees east +-longitude, this relationship is not exact. +- +-Older versions of this package used a different naming scheme, +-and these older names are still supported. +-See the file 'backward' for most of these older names +-(e.g., 'US/Eastern' instead of 'America/New_York'). +-The other old-fashioned names still supported are +-'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). +- +-Older versions of this package defined legacy names that are +-incompatible with the first rule of location names, but which are +-still supported. These legacy names are mostly defined in the file +-'etcetera'. Also, the file 'backward' defines the legacy names +-'GMT0', 'GMT-0', 'GMT+0' and 'Canada/East-Saskatchewan', and the file +-'northamerica' defines the legacy names 'EST5EDT', 'CST6CDT', +-'MST7MDT', and 'PST8PDT'. +- +-Excluding 'backward' should not affect the other data. If +-'backward' is excluded, excluding 'etcetera' should not affect the +-remaining data. +- +- +------ Time zone abbreviations ----- +- +-When this package is installed, it generates time zone abbreviations +-like 'EST' to be compatible with human tradition and POSIX. +-Here are the general rules used for choosing time zone abbreviations, +-in decreasing order of importance: +- +- Use three or more characters that are ASCII alphanumerics or '+' or '-'. +- Previous editions of this database also used characters like +- ' ' and '?', but these characters have a special meaning to +- the shell and cause commands like +- set `date` +- to have unexpected effects. +- Previous editions of this rule required upper-case letters, +- but the Congressman who introduced Chamorro Standard Time +- preferred "ChST", so lower-case letters are now allowed. +- Also, POSIX from 2001 on relaxed the rule to allow '-', '+', +- and alphanumeric characters from the portable character set +- in the current locale. In practice ASCII alphanumerics and +- '+' and '-' are safe in all locales. +- +- In other words, in the C locale the POSIX extended regular +- expression [-+[:alnum:]]{3,} should match the abbreviation. +- This guarantees that all abbreviations could have been +- specified by a POSIX TZ string. +- +- Use abbreviations that are in common use among English-speakers, +- e.g. 'EST' for Eastern Standard Time in North America. +- We assume that applications translate them to other languages +- as part of the normal localization process; for example, +- a French application might translate 'EST' to 'HNE'. +- +- For zones whose times are taken from a city's longitude, use the +- traditional xMT notation, e.g. 'PMT' for Paris Mean Time. +- The only name like this in current use is 'GMT'. +- +- Use 'LMT' for local mean time of locations before the introduction +- of standard time; see "Scope of the tz database". +- +- If there is no common English abbreviation, use numeric offsets like +- -05 and +0830 that are generated by zic's %z notation. +- +- Use current abbreviations for older timestamps to avoid confusion. +- For example, in 1910 a common English abbreviation for UT +01 +- in central Europe was 'MEZ' (short for both "Middle European +- Zone" and for "Mitteleuropäische Zeit" in German). Nowadays +- 'CET' ("Central European Time") is more common in English, and +- the database uses 'CET' even for circa-1910 timestamps as this +- is less confusing for modern users and avoids the need for +- determining when 'CET' supplanted 'MEZ' in common usage. +- +- Use a consistent style in a zone's history. For example, if a zone's +- history tends to use numeric abbreviations and a particular +- entry could go either way, use a numeric abbreviation. +- +- [The remaining guidelines predate the introduction of %z. +- They are problematic as they mean tz data entries invent +- notation rather than record it. These guidelines are now +- deprecated and the plan is to gradually move to %z for +- inhabited locations and to "-00" for uninhabited locations.] +- +- If there is no common English abbreviation, abbreviate the English +- translation of the usual phrase used by native speakers. +- If this is not available or is a phrase mentioning the country +- (e.g. "Cape Verde Time"), then: +- +- When a country is identified with a single or principal zone, +- append 'T' to the country's ISO code, e.g. 'CVT' for +- Cape Verde Time. For summer time append 'ST'; +- for double summer time append 'DST'; etc. +- Otherwise, take the first three letters of an English place +- name identifying each zone and append 'T', 'ST', etc. +- as before; e.g. 'CHAST' for CHAtham Summer Time. +- +- Use UT (with time zone abbreviation '-00') for locations while +- uninhabited. The leading '-' is a flag that the time +- zone is in some sense undefined; this notation is +- derived from Internet RFC 3339. +- +-Application writers should note that these abbreviations are ambiguous +-in practice: e.g. 'CST' has a different meaning in China than +-it does in the United States. In new applications, it's often better +-to use numeric UT offsets like '-0600' instead of time zone +-abbreviations like 'CST'; this avoids the ambiguity. +- +- +------ Accuracy of the tz database ----- +- +-The tz database is not authoritative, and it surely has errors. +-Corrections are welcome and encouraged; see the file CONTRIBUTING. +-Users requiring authoritative data should consult national standards +-bodies and the references cited in the database's comments. +- +-Errors in the tz database arise from many sources: +- +- * The tz database predicts future time stamps, and current predictions +- will be incorrect after future governments change the rules. +- For example, if today someone schedules a meeting for 13:00 next +- October 1, Casablanca time, and tomorrow Morocco changes its +- daylight saving rules, software can mess up after the rule change +- if it blithely relies on conversions made before the change. +- +- * The pre-1970 entries in this database cover only a tiny sliver of how +- clocks actually behaved; the vast majority of the necessary +- information was lost or never recorded. Thousands more zones would +- be needed if the tz database's scope were extended to cover even +- just the known or guessed history of standard time; for example, +- the current single entry for France would need to split into dozens +- of entries, perhaps hundreds. And in most of the world even this +- approach would be misleading due to widespread disagreement or +- indifference about what times should be observed. In her 2015 book +- "The Global Transformation of Time, 1870-1950", Vanessa Ogle writes +- "Outside of Europe and North America there was no system of time +- zones at all, often not even a stable landscape of mean times, +- prior to the middle decades of the twentieth century". See: +- Timothy Shenk, Booked: A Global History of Time. Dissent 2015-12-17 +- https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle +- +- * Most of the pre-1970 data entries come from unreliable sources, often +- astrology books that lack citations and whose compilers evidently +- invented entries when the true facts were unknown, without +- reporting which entries were known and which were invented. +- These books often contradict each other or give implausible entries, +- and on the rare occasions when they are checked they are +- typically found to be incorrect. +- +- * For the UK the tz database relies on years of first-class work done by +- Joseph Myers and others; see . +- Other countries are not done nearly as well. +- +- * Sometimes, different people in the same city would maintain clocks +- that differed significantly. Railway time was used by railroad +- companies (which did not always agree with each other), +- church-clock time was used for birth certificates, etc. +- Often this was merely common practice, but sometimes it was set by law. +- For example, from 1891 to 1911 the UT offset in France was legally +- 0:09:21 outside train stations and 0:04:21 inside. +- +- * Although a named location in the tz database stands for the +- containing region, its pre-1970 data entries are often accurate for +- only a small subset of that region. For example, Europe/London +- stands for the United Kingdom, but its pre-1847 times are valid +- only for locations that have London's exact meridian, and its 1847 +- transition to GMT is known to be valid only for the L&NW and the +- Caledonian railways. +- +- * The tz database does not record the earliest time for which a zone's +- data entries are thereafter valid for every location in the region. +- For example, Europe/London is valid for all locations in its +- region after GMT was made the standard time, but the date of +- standardization (1880-08-02) is not in the tz database, other than +- in commentary. For many zones the earliest time of validity is +- unknown. +- +- * The tz database does not record a region's boundaries, and in many +- cases the boundaries are not known. For example, the zone +- America/Kentucky/Louisville represents a region around the city of +- Louisville, the boundaries of which are unclear. +- +- * Changes that are modeled as instantaneous transitions in the tz +- database were often spread out over hours, days, or even decades. +- +- * Even if the time is specified by law, locations sometimes +- deliberately flout the law. +- +- * Early timekeeping practices, even assuming perfect clocks, were +- often not specified to the accuracy that the tz database requires. +- +- * Sometimes historical timekeeping was specified more precisely +- than what the tz database can handle. For example, from 1909 to +- 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz +- database cannot represent the fractional second. +- +- * Even when all the timestamp transitions recorded by the tz database +- are correct, the tz rules that generate them may not faithfully +- reflect the historical rules. For example, from 1922 until World +- War II the UK moved clocks forward the day following the third +- Saturday in April unless that was Easter, in which case it moved +- clocks forward the previous Sunday. Because the tz database has no +- way to specify Easter, these exceptional years are entered as +- separate tz Rule lines, even though the legal rules did not change. +- +- * The tz database models pre-standard time using the proleptic Gregorian +- calendar and local mean time (LMT), but many people used other +- calendars and other timescales. For example, the Roman Empire used +- the Julian calendar, and had 12 varying-length daytime hours with a +- non-hour-based system at night. +- +- * Early clocks were less reliable, and data entries do not represent +- clock error. +- +- * The tz database assumes Universal Time (UT) as an origin, even +- though UT is not standardized for older time stamps. In the tz +- database commentary, UT denotes a family of time standards that +- includes Coordinated Universal Time (UTC) along with other variants +- such as UT1 and GMT, with days starting at midnight. Although UT +- equals UTC for modern time stamps, UTC was not defined until 1960, +- so commentary uses the more-general abbreviation UT for time stamps +- that might predate 1960. Since UT, UT1, etc. disagree slightly, +- and since pre-1972 UTC seconds varied in length, interpretation of +- older time stamps can be problematic when subsecond accuracy is +- needed. +- +- * Civil time was not based on atomic time before 1972, and we don't +- know the history of earth's rotation accurately enough to map SI +- seconds to historical solar time to more than about one-hour +- accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY. +- Measurement of the Earth's rotation: 720 BC to AD 2015. +- Proc Royal Soc A. 2016 Dec 7;472:20160404. +- http://dx.doi.org/10.1098/rspa.2016.0404 +- Also see: Espenak F. Uncertainty in Delta T (ΔT). +- http://eclipse.gsfc.nasa.gov/SEhelp/uncertainty2004.html +- +- * The relationship between POSIX time (that is, UTC but ignoring leap +- seconds) and UTC is not agreed upon after 1972. Although the POSIX +- clock officially stops during an inserted leap second, at least one +- proposed standard has it jumping back a second instead; and in +- practice POSIX clocks more typically either progress glacially during +- a leap second, or are slightly slowed while near a leap second. +- +- * The tz database does not represent how uncertain its information is. +- Ideally it would contain information about when data entries are +- incomplete or dicey. Partial temporal knowledge is a field of +- active research, though, and it's not clear how to apply it here. +- +-In short, many, perhaps most, of the tz database's pre-1970 and future +-time stamps are either wrong or misleading. Any attempt to pass the +-tz database off as the definition of time should be unacceptable to +-anybody who cares about the facts. In particular, the tz database's +-LMT offsets should not be considered meaningful, and should not prompt +-creation of zones merely because two locations differ in LMT or +-transitioned to standard time at different dates. +- +- +------ Time and date functions ----- +- +-The tz code contains time and date functions that are upwards +-compatible with those of POSIX. +- +-POSIX has the following properties and limitations. +- +-* In POSIX, time display in a process is controlled by the +- environment variable TZ. Unfortunately, the POSIX TZ string takes +- a form that is hard to describe and is error-prone in practice. +- Also, POSIX TZ strings can't deal with other (for example, Israeli) +- daylight saving time rules, or situations where more than two +- time zone abbreviations are used in an area. +- +- The POSIX TZ string takes the following form: +- +- stdoffset[dst[offset][,date[/time],date[/time]]] +- +- where: +- +- std and dst +- are 3 or more characters specifying the standard +- and daylight saving time (DST) zone names. +- Starting with POSIX.1-2001, std and dst may also be +- in a quoted form like ""; this allows +- "+" and "-" in the names. +- offset +- is of the form '[+-]hh:[mm[:ss]]' and specifies the +- offset west of UT. 'hh' may be a single digit; 0<=hh<=24. +- The default DST offset is one hour ahead of standard time. +- date[/time],date[/time] +- specifies the beginning and end of DST. If this is absent, +- the system supplies its own rules for DST, and these can +- differ from year to year; typically US DST rules are used. +- time +- takes the form 'hh:[mm[:ss]]' and defaults to 02:00. +- This is the same format as the offset, except that a +- leading '+' or '-' is not allowed. +- date +- takes one of the following forms: +- Jn (1<=n<=365) +- origin-1 day number not counting February 29 +- n (0<=n<=365) +- origin-0 day number counting February 29 if present +- Mm.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12) +- for the dth day of week n of month m of the year, +- where week 1 is the first week in which day d appears, +- and '5' stands for the last week in which day d appears +- (which may be either the 4th or 5th week). +- Typically, this is the only useful form; +- the n and Jn forms are rarely used. +- +- Here is an example POSIX TZ string, for US Pacific time using rules +- appropriate from 1987 through 2006: +- +- TZ='PST8PDT,M4.1.0/02:00,M10.5.0/02:00' +- +- This POSIX TZ string is hard to remember, and mishandles time stamps +- before 1987 and after 2006. With this package you can use this +- instead: +- +- TZ='America/Los_Angeles' +- +-* POSIX does not define the exact meaning of TZ values like "EST5EDT". +- Typically the current US DST rules are used to interpret such values, +- but this means that the US DST rules are compiled into each program +- that does time conversion. This means that when US time conversion +- rules change (as in the United States in 1987), all programs that +- do time conversion must be recompiled to ensure proper results. +- +-* The TZ environment variable is process-global, which makes it hard +- to write efficient, thread-safe applications that need access +- to multiple time zones. +- +-* In POSIX, there's no tamper-proof way for a process to learn the +- system's best idea of local wall clock. (This is important for +- applications that an administrator wants used only at certain times - +- without regard to whether the user has fiddled the "TZ" environment +- variable. While an administrator can "do everything in UTC" to get +- around the problem, doing so is inconvenient and precludes handling +- daylight saving time shifts - as might be required to limit phone +- calls to off-peak hours.) +- +-* POSIX provides no convenient and efficient way to determine the UT +- offset and time zone abbreviation of arbitrary time stamps, +- particularly for time zone settings that do not fit into the +- POSIX model. +- +-* POSIX requires that systems ignore leap seconds. +- +-* The tz code attempts to support all the time_t implementations +- allowed by POSIX. The time_t type represents a nonnegative count of +- seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. +- In practice, time_t is usually a signed 64- or 32-bit integer; 32-bit +- signed time_t values stop working after 2038-01-19 03:14:07 UTC, so +- new implementations these days typically use a signed 64-bit integer. +- Unsigned 32-bit integers are used on one or two platforms, +- and 36-bit and 40-bit integers are also used occasionally. +- Although earlier POSIX versions allowed time_t to be a +- floating-point type, this was not supported by any practical +- systems, and POSIX.1-2013 and the tz code both require time_t +- to be an integer type. +- +-These are the extensions that have been made to the POSIX functions: +- +-* The "TZ" environment variable is used in generating the name of a file +- from which time zone information is read (or is interpreted a la +- POSIX); "TZ" is no longer constrained to be a three-letter time zone +- name followed by a number of hours and an optional three-letter +- daylight time zone name. The daylight saving time rules to be used +- for a particular time zone are encoded in the time zone file; +- the format of the file allows U.S., Australian, and other rules to be +- encoded, and allows for situations where more than two time zone +- abbreviations are used. +- +- It was recognized that allowing the "TZ" environment variable to +- take on values such as "America/New_York" might cause "old" programs +- (that expect "TZ" to have a certain form) to operate incorrectly; +- consideration was given to using some other environment variable +- (for example, "TIMEZONE") to hold the string used to generate the +- time zone information file name. In the end, however, it was decided +- to continue using "TZ": it is widely used for time zone purposes; +- separately maintaining both "TZ" and "TIMEZONE" seemed a nuisance; +- and systems where "new" forms of "TZ" might cause problems can simply +- use TZ values such as "EST5EDT" which can be used both by +- "new" programs (a la POSIX) and "old" programs (as zone names and +- offsets). +- +-* The code supports platforms with a UT offset member in struct tm, +- e.g., tm_gmtoff. +- +-* The code supports platforms with a time zone abbreviation member in +- struct tm, e.g., tm_zone. +- +-* Since the "TZ" environment variable can now be used to control time +- conversion, the "daylight" and "timezone" variables are no longer +- needed. (These variables are defined and set by "tzset"; however, their +- values will not be used by "localtime.") +- +-* Functions tzalloc, tzfree, localtime_rz, and mktime_z for +- more-efficient thread-safe applications that need to use +- multiple time zones. The tzalloc and tzfree functions +- allocate and free objects of type timezone_t, and localtime_rz +- and mktime_z are like localtime_r and mktime with an extra +- timezone_t argument. The functions were inspired by NetBSD. +- +-* A function "tzsetwall" has been added to arrange for the system's +- best approximation to local wall clock time to be delivered by +- subsequent calls to "localtime." Source code for portable +- applications that "must" run on local wall clock time should call +- "tzsetwall();" if such code is moved to "old" systems that don't +- provide tzsetwall, you won't be able to generate an executable program. +- (These time zone functions also arrange for local wall clock time to be +- used if tzset is called - directly or indirectly - and there's no "TZ" +- environment variable; portable applications should not, however, rely +- on this behavior since it's not the way SVR2 systems behave.) +- +-* Negative time_t values are supported, on systems where time_t is signed. +- +-* These functions can account for leap seconds, thanks to Bradley White. +- +-Points of interest to folks with other systems: +- +-* Code compatible with this package is already part of many platforms, +- including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, +- BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. +- On such hosts, the primary use of this package +- is to update obsolete time zone rule tables. +- To do this, you may need to compile the time zone compiler +- 'zic' supplied with this package instead of using the system 'zic', +- since the format of zic's input is occasionally extended, +- and a platform may still be shipping an older zic. +- +-* The UNIX Version 7 "timezone" function is not present in this package; +- it's impossible to reliably map timezone's arguments (a "minutes west +- of GMT" value and a "daylight saving time in effect" flag) to a +- time zone abbreviation, and we refuse to guess. +- Programs that in the past used the timezone function may now examine +- tzname[localtime(&clock)->tm_isdst] to learn the correct time +- zone abbreviation to use. Alternatively, use +- localtime(&clock)->tm_zone if this has been enabled. +- +-* The 4.2BSD gettimeofday function is not used in this package. +- This formerly let users obtain the current UTC offset and DST flag, +- but this functionality was removed in later versions of BSD. +- +-* In SVR2, time conversion fails for near-minimum or near-maximum +- time_t values when doing conversions for places that don't use UT. +- This package takes care to do these conversions correctly. +- A comment in the source code tells how to get compatibly wrong +- results. +- +-The functions that are conditionally compiled if STD_INSPIRED is defined +-should, at this point, be looked on primarily as food for thought. They are +-not in any sense "standard compatible" - some are not, in fact, specified in +-*any* standard. They do, however, represent responses of various authors to +-standardization proposals. +- +-Other time conversion proposals, in particular the one developed by folks at +-Hewlett Packard, offer a wider selection of functions that provide capabilities +-beyond those provided here. The absence of such functions from this package +-is not meant to discourage the development, standardization, or use of such +-functions. Rather, their absence reflects the decision to make this package +-contain valid extensions to POSIX, to ensure its broad acceptability. If +-more powerful time conversion functions can be standardized, so much the +-better. +- +- +------ Interface stability ----- +- +-The tz code and data supply the following interfaces: +- +- * A set of zone names as per "Names of time zone rules" above. +- +- * Library functions described in "Time and date functions" above. +- +- * The programs tzselect, zdump, and zic, documented in their man pages. +- +- * The format of zic input files, documented in the zic man page. +- +- * The format of zic output files, documented in the tzfile man page. +- +- * The format of zone table files, documented in zone1970.tab. +- +- * The format of the country code file, documented in iso3166.tab. +- +- * The version number of the code and data, as the first line of +- the text file 'version' in each release. +- +-Interface changes in a release attempt to preserve compatibility with +-recent releases. For example, tz data files typically do not rely on +-recently-added zic features, so that users can run older zic versions +-to process newer data files. The tz-link.htm file describes how +-releases are tagged and distributed. +- +-Interfaces not listed above are less stable. For example, users +-should not rely on particular UT offsets or abbreviations for time +-stamps, as data entries are often based on guesswork and these guesses +-may be corrected or improved. +- +- +------ Calendrical issues ----- +- +-Calendrical issues are a bit out of scope for a time zone database, +-but they indicate the sort of problems that we would run into if we +-extended the time zone database further into the past. An excellent +-resource in this area is Nachum Dershowitz and Edward M. Reingold, +-Calendrical Calculations: Third Edition, Cambridge University Press (2008) +-. +-Other information and sources are given below. They sometimes disagree. +- +- +-France +- +-Gregorian calendar adopted 1582-12-20. +-French Revolutionary calendar used 1793-11-24 through 1805-12-31, +-and (in Paris only) 1871-05-06 through 1871-05-23. +- +- +-Russia +- +-From Chris Carrier (1996-12-02): +-On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" +-with 30-day months plus 5 holidays, with a 5-day week. +-On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the +-Gregorian calendar while retaining the 6-day week; on 1940-06-27 it +-reverted to the 7-day week. With the 6-day week the usual days +-off were the 6th, 12th, 18th, 24th and 30th of the month. +-(Source: Evitiar Zerubavel, _The Seven Day Circle_) +- +- +-Mark Brader reported a similar story in "The Book of Calendars", edited +-by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: +- +-From: Petteri Sulonen (via Usenet) +-Date: 14 Jan 1999 00:00:00 GMT +-... +- +-If your source is correct, how come documents between 1929 and 1940 were +-still dated using the conventional, Gregorian calendar? +- +-I can post a scan of a document dated December 1, 1934, signed by +-Yenukidze, the secretary, on behalf of Kalinin, the President of the +-Executive Committee of the Supreme Soviet, if you like. +- +- +- +-Sweden (and Finland) +- +-From: Mark Brader +-Subject: Re: Gregorian reform - a part of locale? +- +-Date: 1996-07-06 +- +-In 1700, Denmark made the transition from Julian to Gregorian. Sweden +-decided to *start* a transition in 1700 as well, but rather than have one of +-those unsightly calendar gaps :-), they simply decreed that the next leap +-year after 1696 would be in 1744 - putting the whole country on a calendar +-different from both Julian and Gregorian for a period of 40 years. +- +-However, in 1704 something went wrong and the plan was not carried through; +-they did, after all, have a leap year that year. And one in 1708. In 1712 +-they gave it up and went back to Julian, putting 30 days in February that +-year!... +- +-Then in 1753, Sweden made the transition to Gregorian in the usual manner, +-getting there only 13 years behind the original schedule. +- +-(A previous posting of this story was challenged, and Swedish readers +-produced the following references to support it: "Tideräkning och historia" +-by Natanael Beckman (1924) and "Tid, en bok om tideräkning och +-kalenderväsen" by Lars-Olof Lodén (1968). +- +- +-Grotefend's data +- +-From: "Michael Palmer" [with one obvious typo fixed] +-Subject: Re: Gregorian Calendar (was Re: Another FHC related question +-Newsgroups: soc.genealogy.german +-Date: Tue, 9 Feb 1999 02:32:48 -800 +-... +- +-The following is a(n incomplete) listing, arranged chronologically, of +-European states, with the date they converted from the Julian to the +-Gregorian calendar: +- +-04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman +- Catholics and Danzig only) +-09/20 Dec 1582 - France, Lorraine +- +-21 Dec 1582/ +- 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau +-10/21 Feb 1583 - bishopric of Liege (Lüttich) +-13/24 Feb 1583 - bishopric of Augsburg +-04/15 Oct 1583 - electorate of Trier +-05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, +- Salzburg, Brixen +-13/24 Oct 1583 - Austrian Oberelsaß and Breisgau +-20/31 Oct 1583 - bishopric of Basel +-02/13 Nov 1583 - duchy of Jülich-Berg +-02/13 Nov 1583 - electorate and city of Köln +-04/15 Nov 1583 - bishopric of Würzburg +-11/22 Nov 1583 - electorate of Mainz +-16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden +-17/28 Nov 1583 - bishopric of Münster and duchy of Cleve +-14/25 Dec 1583 - Steiermark +- +-06/17 Jan 1584 - Austria and Bohemia +-11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn +-12/23 Jan 1584 - Silesia and the Lausitz +-22 Jan/ +- 02 Feb 1584 - Hungary (legally on 21 Oct 1587) +- Jun 1584 - Unterwalden +-01/12 Jul 1584 - duchy of Westfalen +- +-16/27 Jun 1585 - bishopric of Paderborn +- +-14/25 Dec 1590 - Transylvania +- +-22 Aug/ +- 02 Sep 1612 - duchy of Prussia +- +-13/24 Dec 1614 - Pfalz-Neuburg +- +- 1617 - duchy of Kurland (reverted to the Julian calendar in +- 1796) +- +- 1624 - bishopric of Osnabrück +- +- 1630 - bishopric of Minden +- +-15/26 Mar 1631 - bishopric of Hildesheim +- +- 1655 - Kanton Wallis +- +-05/16 Feb 1682 - city of Strassburg +- +-18 Feb/ +- 01 Mar 1700 - Protestant Germany (including Swedish possessions in +- Germany), Denmark, Norway +-30 Jun/ +- 12 Jul 1700 - Gelderland, Zutphen +-10 Nov/ +- 12 Dec 1700 - Utrecht, Overijssel +- +-31 Dec 1700/ +- 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, +- Turgau, and Schaffhausen +- +- 1724 - Glarus, Appenzell, and the city of St. Gallen +- +-01 Jan 1750 - Pisa and Florence +- +-02/14 Sep 1752 - Great Britain +- +-17 Feb/ +- 01 Mar 1753 - Sweden +- +-1760-1812 - Graubünden +- +-The Russian empire (including Finland and the Baltic states) did not +-convert to the Gregorian calendar until the Soviet revolution of 1917. +- +-Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen +-Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend +-(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. +- +- +------ Time and time zones on Mars ----- +- +-Some people's work schedules use Mars time. Jet Propulsion Laboratory +-(JPL) coordinators have kept Mars time on and off at least since 1997 +-for the Mars Pathfinder mission. Some of their family members have +-also adapted to Mars time. Dozens of special Mars watches were built +-for JPL workers who kept Mars time during the Mars Exploration +-Rovers mission (2004). These timepieces look like normal Seikos and +-Citizens but use Mars seconds rather than terrestrial seconds. +- +-A Mars solar day is called a "sol" and has a mean period equal to +-about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is +-divided into a conventional 24-hour clock, so each Mars second equals +-about 1.02749125 terrestrial seconds. +- +-The prime meridian of Mars goes through the center of the crater +-Airy-0, named in honor of the British astronomer who built the +-Greenwich telescope that defines Earth's prime meridian. Mean solar +-time on the Mars prime meridian is called Mars Coordinated Time (MTC). +- +-Each landed mission on Mars has adopted a different reference for +-solar time keeping, so there is no real standard for Mars time zones. +-For example, the Mars Exploration Rover project (2004) defined two +-time zones "Local Solar Time A" and "Local Solar Time B" for its two +-missions, each zone designed so that its time equals local true solar +-time at approximately the middle of the nominal mission. Such a "time +-zone" is not particularly suited for any application other than the +-mission itself. +- +-Many calendars have been proposed for Mars, but none have achieved +-wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a +-sequential count of Mars solar days elapsed since about 1873-12-29 +-12:00 GMT. +- +-The tz database does not currently support Mars time, but it is +-documented here in the hopes that support will be added eventually. +- +-Sources: +- +-Michael Allison and Robert Schmunk, +-"Technical Notes on Mars Solar Time as Adopted by the Mars24 Sunclock" +- (2012-08-08). +- +-Jia-Rui Chong, "Workdays Fit for a Martian", Los Angeles Times +- +-(2004-01-14), pp A1, A20-A21. +- +-Tom Chmielewski, "Jet Lag Is Worse on Mars", The Atlantic (2015-02-26) +- +- +------ +- +-This file is in the public domain, so clarified as of 2009-05-17 by +-Arthur David Olson. +- +------ +-Local Variables: +-coding: utf-8 +-End: +--- contrib/tzdata/africa.orig ++++ contrib/tzdata/africa +@@ -26,7 +26,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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). +@@ -218,7 +218,7 @@ + # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07. + # From Jesper Nørgaard Welen (2007-08-15): [The following agree:] + # http://www.nentjes.info/Bill/bill5.htm +-# http://www.timeanddate.com/worldclock/city.html?n=53 ++# https://www.timeanddate.com/worldclock/city.html?n=53 + # From Steffen Thorsen (2007-09-04): The official information...: + # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm + Rule Egypt 2007 only - Sep Thu>=1 24:00 0 - +@@ -256,8 +256,8 @@ + # timeanddate[2] and another site I've found[3] also support that. + # + # [1] https://bugzilla.redhat.com/show_bug.cgi?id=492263 +-# [2] http://www.timeanddate.com/worldclock/clockchange.html?n=53 +-# [3] http://wwp.greenwichmeantime.com/time-zone/africa/egypt/ ++# [2] https://www.timeanddate.com/worldclock/clockchange.html?n=53 ++# [3] https://wwp.greenwichmeantime.com/time-zone/africa/egypt/ + + # From Arthur David Olson (2009-04-20): + # In 2009 (and for the next several years), Ramadan ends before the fourth +@@ -267,10 +267,10 @@ + # From Steffen Thorsen (2009-08-11): + # We have been able to confirm the August change with the Egyptian Cabinet + # Information and Decision Support Center: +-# http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html ++# https://www.timeanddate.com/news/time/egypt-dst-ends-2009.html + # + # The Middle East News Agency +-# http://www.mena.org.eg/index.aspx ++# https://www.mena.org.eg/index.aspx + # also reports "Egypt starts winter time on August 21" + # today in article numbered "71, 11/08/2009 12:25 GMT." + # Only the title above is available without a subscription to their service, +@@ -320,7 +320,7 @@ + # Thursday of April.... Clocks will still be turned back for Ramadan, but + # dates not yet announced.... + # http://almogaz.com/news/weird-news/2015/04/05/1947105 ... +-# http://www.timeanddate.com/news/time/egypt-starts-dst-2015.html ++# https://www.timeanddate.com/news/time/egypt-starts-dst-2015.html + + # From Ahmed Nazmy (2015-04-20): + # Egypt's ministers cabinet just announced ... that it will cancel DST at +@@ -447,11 +447,11 @@ + + # From Even Scharning (2012-11-10): + # Libya set their time one hour back at 02:00 on Saturday November 10. +-# http://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ ++# https://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/ + # Here is an official source [in Arabic]: http://ls.ly/fb6Yc + # + # Steffen Thorsen forwarded a translation (2012-11-10) in +-# http://mm.icann.org/pipermail/tz/2012-November/018451.html ++# https://mm.icann.org/pipermail/tz/2012-November/018451.html + # + # From Tim Parenti (2012-11-11): + # Treat the 2012-11-10 change as a zone change from UTC+2 to UTC+1. +@@ -462,7 +462,7 @@ + # From Even Scharning (2013-10-25): + # The scheduled end of DST in Libya on Friday, October 25, 2013 was + # cancelled yesterday.... +-# http://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ ++# https://www.libyaherald.com/2013/10/24/correction-no-time-change-tomorrow/ + # + # From Paul Eggert (2013-10-25): + # For now, assume they're reverting to the pre-2012 rules of permanent UT +02. +@@ -515,7 +515,7 @@ + # basis.... + # It seems that Mauritius observed daylight saving time from 1982-10-10 to + # 1983-03-20 as well, but that was not successful.... +-# http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html ++# https://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html + + # From Alex Krivenyshev (2008-06-25): + # http://economicdevelopment.gov.mu/portal/site/Mainhomepage/menuitem.a42b24128104d9845dabddd154508a0c/?content_id=0a7cee8b5d69a110VgnVCM1000000a04a8c0RCRD +@@ -583,7 +583,7 @@ + # http://lexpress.mu/Story/3398~Beebeejaun---Les-objectifs-d-%C3%A9conomie-d-%C3%A9nergie-de-l-heure-d-%C3%A9t%C3%A9-ont-%C3%A9t%C3%A9-atteints- + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html ++# https://www.timeanddate.com/news/time/mauritius-dst-will-not-repeat.html + + # From Arthur David Olson (2009-07-11): + # The "mauritius-dst-will-not-repeat" wrapup includes this: +@@ -615,7 +615,7 @@ + # be one hour ahead of GMT between 1 June and 27 September, according to + # Communication Minister and Government Spokesman, Khalid Naciri...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_morocco01.html ++# http://www.worldtimezone.com/dst_news/dst_news_morocco01.html + # http://en.afrik.com/news11892.html + + # From Alex Krivenyshev (2008-05-09): +@@ -628,7 +628,7 @@ + + # From Patrice Scattolin (2008-05-09): + # According to this article: +-# http://www.avmaroc.com/actualite/heure-dete-comment-a127896.html ++# https://www.avmaroc.com/actualite/heure-dete-comment-a127896.html + # (and republished here: ) + # the changes occur at midnight: + # +@@ -650,7 +650,7 @@ + # posted in English). + # + # The following Google query will generate many relevant hits: +-# http://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search ++# https://www.google.com/search?hl=en&q=Conseil+de+gouvernement+maroc+heure+avance&btnG=Search + + # From Steffen Thorsen (2008-08-27): + # Morocco will change the clocks back on the midnight between August 31 +@@ -661,7 +661,7 @@ + # http://www.menara.ma/fr/Actualites/Maroc/Societe/ci.retour_a_l_heure_gmt_a_partir_du_dimanche_31_aout_a_minuit_officiel_.default + # + # We have some further details posted here: +-# http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html ++# https://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html + + # From Steffen Thorsen (2009-03-17): + # Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according +@@ -671,7 +671,7 @@ + # (French) + # + # Our summary: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to official document from Royaume du Maroc Premier Ministre, +@@ -694,7 +694,7 @@ + # http://www.lavieeco.com/actualites/4099-le-maroc-passera-a-l-heure-d-ete-gmt1-le-2-mai.html + # (French) + # Our page: +-# http://www.timeanddate.com/news/time/morocco-starts-dst-2010.html ++# https://www.timeanddate.com/news/time/morocco-starts-dst-2010.html + + # From Dan Abitol (2011-03-30): + # ...Rules for Africa/Casablanca are the following (24h format) +@@ -711,7 +711,7 @@ + # They said that the decision was already taken. + # + # More articles in the press +-# http://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html ++# https://www.yabiladi.com/articles/details/5058/secret-l-heure-d-ete-maroc-leve.html + # http://www.lematin.ma/Actualite/Express/Article.asp?id=148923 + # http://www.lavieeco.com/actualite/Le-Maroc-passe-sur-GMT%2B1-a-partir-de-dim + +@@ -803,7 +803,7 @@ + # 1433 (18 April 2012) and the decision of the Head of Government of + # 16 N. 3-29-15 Chaaban 1435 (4 June 2015). + # Source (french): +-# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ ++# https://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/ + # + # From Milamber (2015-06-09): + # http://www.mmsp.gov.ma/fr/actualites.aspx?id=863 +@@ -812,7 +812,7 @@ + # [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go + # from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch.... + # I think the patch is correct and the quoted text is wrong; the text in +-# agrees ++# agrees + # with the patch. + + # From Paul Eggert (2015-06-08): +@@ -937,10 +937,18 @@ + Link Africa/Maputo Africa/Lubumbashi # E Dem. Rep. of Congo + Link Africa/Maputo Africa/Lusaka # Zambia + ++ + # Namibia +-# The 1994-04-03 transition is from Shanks & Pottenger. +-# Shanks & Pottenger report no DST after 1998-04; go with IATA. + ++# From Arthur David Olson (2017-08-09): ++# The text of the "Namibia Time Act, 1994" is available online at ++# www.lac.org.na/laws/1994/811.pdf ++# and includes this nugget: ++# Notwithstanding the provisions of subsection (2) of section 1, the ++# first winter period after the commencement of this Act shall ++# commence at OOhOO on Monday 21 March 1994 and shall end at 02h00 on ++# Sunday 4 September 1994. ++ + # From Petronella Sibeene (2007-03-30): + # http://allafrica.com/stories/200703300178.html + # While the entire country changes its time, Katima Mulilo and other +@@ -955,11 +963,21 @@ + # observes Botswana time, we have no details about historical practice. + # In the meantime people there can use Africa/Gaborone. + # See: Immanuel S. The Namibian. 2017-02-23. +-# http://www.namibian.com.na/51480/read/Time-change-divides-lawmakers ++# https://www.namibian.com.na/51480/read/Time-change-divides-lawmakers + ++# From Steffen Thorsen (2017-08-09): ++# Namibia is going to change their time zone to what is now their DST: ++# https://www.newera.com.na/2017/02/23/namibias-winter-time-might-be-repealed/ ++# This video is from the government decision: ++# https://www.nbc.na/news/na-passes-namibia-time-bill-repealing-1994-namibia-time-act.8665 ++# We have made the assumption so far that they will change their time zone at ++# the same time they would normally start DST, the first Sunday in September: ++# https://www.timeanddate.com/news/time/namibia-new-time-zone.html ++ + # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S +-Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S +-Rule Namibia 1995 max - Apr Sun>=1 2:00 0 - ++Rule Namibia 1994 only - Mar 21 0:00 0 - ++Rule Namibia 1994 2016 - Sep Sun>=1 2:00 1:00 S ++Rule Namibia 1995 2017 - Apr Sun>=1 2:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Windhoek 1:08:24 - LMT 1892 Feb 8 + 1:30 - +0130 1903 Mar +@@ -966,8 +984,9 @@ + 2:00 - SAST 1942 Sep 20 2:00 + 2:00 1:00 SAST 1943 Mar 21 2:00 + 2:00 - SAST 1990 Mar 21 # independence +- 2:00 - CAT 1994 Apr 3 +- 1:00 Namibia WA%sT ++ 2:00 - CAT 1994 Mar 21 0:00 ++ 1:00 Namibia WA%sT 2017 Sep 3 2:00 ++ 2:00 - CAT + + # Niger + # See Africa/Lagos. +@@ -1054,7 +1073,7 @@ + # no information + + # Sudan +-# ++ + # From + # Sudan News Agency (2000-01-13), + # also reported by Michaël De Beukelaer-Dossche via Steffen Thorsen: +@@ -1061,7 +1080,17 @@ + # Clocks will be moved ahead for 60 minutes all over the Sudan as of noon + # Saturday.... This was announced Thursday by Caretaker State Minister for + # Manpower Abdul-Rahman Nur-Eddin. ++ ++# From Ahmed Atyya, National Telecommunications Corp. (NTC), Sudan (2017-10-17): ++# ... the Republic of Sudan is going to change the time zone from (GMT+3:00) ++# to (GMT+ 2:00) starting from Wednesday 1 November 2017. + # ++# From Paul Eggert (2017-10-18): ++# A scanned copy (in Arabic) of Cabinet Resolution No. 352 for the ++# year 2017 can be found as an attachment in email today from Yahia ++# Abdalla of NTC, archived at: ++# https://mm.icann.org/pipermail/tz/2017-October/025333.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Sudan 1970 only - May 1 0:00 1:00 S + Rule Sudan 1970 1985 - Oct 15 0:00 0 - +@@ -1070,10 +1099,14 @@ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Africa/Khartoum 2:10:08 - LMT 1931 + 2:00 Sudan CA%sT 2000 Jan 15 12:00 +- 3:00 - EAT ++ 3:00 - EAT 2017 Nov 1 ++ 2:00 - CAT + + # South Sudan +-Link Africa/Khartoum Africa/Juba ++# Zone NAME GMTOFF RULES FORMAT [UNTIL] ++Zone Africa/Juba 2:06:28 - LMT 1931 ++ 2:00 Sudan CA%sT 2000 Jan 15 12:00 ++ 3:00 - EAT + + # Swaziland + # See Africa/Johannesburg. +@@ -1111,11 +1144,11 @@ + # According to several news sources, Tunisia will not observe DST this year. + # (Arabic) + # http://www.elbashayer.com/?page=viewn&nid=42546 +-# http://www.babnet.net/kiwidetail-15295.asp ++# https://www.babnet.net/kiwidetail-15295.asp + # + # We have also confirmed this with the US embassy in Tunisia. + # We have a wrap-up about this on the following page: +-# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html ++# https://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html + + # From Alexander Krivenyshev (2009-03-17): + # Here is a link to Tunis Afrique Presse News Agency +--- contrib/tzdata/antarctica.orig ++++ contrib/tzdata/antarctica +@@ -26,7 +26,7 @@ + # Heard Island, McDonald Islands (uninhabited) + # previously sealers and scientific personnel wintered + # Margaret Turner reports +-# http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html ++# https://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html + # (1999-09-30) that they're UT +05, with no DST; + # presumably this is when they have visitors. + # +@@ -47,7 +47,7 @@ + # http://www.aad.gov.au/default.asp?casid=37079 + # + # We have more background information here: +-# http://www.timeanddate.com/news/time/antarctica-new-times.html ++# https://www.timeanddate.com/news/time/antarctica-new-times.html + + # From Steffen Thorsen (2010-03-10): + # We got these changes from the Australian Antarctic Division: ... +@@ -62,7 +62,7 @@ + # - Mawson station stays on UTC+5. + # + # Background: +-# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html ++# https://www.timeanddate.com/news/time/antartica-time-changes-2010.html + + # From Steffen Thorsen (2016-10-28): + # Australian Antarctica Division informed us that Casey changed time +@@ -145,7 +145,7 @@ + # + # year-round base in the main continent + # Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11 +-# (2005-12-05) ++# (2005-12-05) + # + # Another base at Port-Martin, 50km east, began operation in 1947. + # It was destroyed by fire on 1952-01-14. +--- contrib/tzdata/asia.orig ++++ contrib/tzdata/asia +@@ -26,7 +26,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # + # For Russian data circa 1919, a source is: + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. +@@ -75,8 +75,8 @@ + Rule RussiaAsia 1981 1984 - Apr 1 0:00 1:00 S + Rule RussiaAsia 1981 1983 - Oct 1 0:00 0 - + Rule RussiaAsia 1984 1995 - Sep lastSun 2:00s 0 - +-Rule RussiaAsia 1985 2011 - Mar lastSun 2:00s 1:00 S +-Rule RussiaAsia 1996 2011 - Oct lastSun 2:00s 0 - ++Rule RussiaAsia 1985 2010 - Mar lastSun 2:00s 1:00 S ++Rule RussiaAsia 1996 2010 - Oct lastSun 2:00s 0 - + + # Afghanistan + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +@@ -109,6 +109,9 @@ + # or + # (brief) + # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html ++# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ++Rule Armenia 2011 only - Mar lastSun 2:00s 1:00 S ++Rule Armenia 2011 only - Oct lastSun 2:00s 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 + 3:00 - +03 1957 Mar +@@ -115,7 +118,8 @@ + 4:00 RussiaAsia +04/+05 1991 Mar 31 2:00s + 3:00 RussiaAsia +03/+04 1995 Sep 24 2:00s + 4:00 - +04 1997 +- 4:00 RussiaAsia +04/+05 ++ 4:00 RussiaAsia +04/+05 2011 ++ 4:00 Armenia +04/+05 + + # Azerbaijan + +@@ -127,7 +131,7 @@ + # From Steffen Thorsen (2016-03-17): + # ... the Azerbaijani Cabinet of Ministers has cancelled switching to + # daylight saving time.... +-# http://www.azernews.az/azerbaijan/94137.html ++# https://www.azernews.az/azerbaijan/94137.html + # http://vestnikkavkaza.net/news/Azerbaijani-Cabinet-of-Ministers-cancels-daylight-saving-time.html + # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html + +@@ -168,11 +172,11 @@ + # the 19th and 20th, and they have not set the end date yet. + # + # Some sources: +-# http://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 ++# https://in.reuters.com/article/southAsiaNews/idINIndia-40017620090601 + # http://bdnews24.com/details.php?id=85889&cid=2 + # + # Our wrap-up: +-# http://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html ++# https://www.timeanddate.com/news/time/bangladesh-daylight-saving-2009.html + + # From A. N. M. Kamrus Saadat (2009-06-15): + # Finally we've got the official mail regarding DST start time where DST start +@@ -258,9 +262,15 @@ + + # Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon. + ++# From Paul Eggert (2017-04-20): ++# Page 27 of Reed & Low (cited for Asia/Kolkata) says "Rangoon local time is ++# used upon the railways and telegraphs of Burma, and is 6h. 24m. 47s. ahead ++# of Greenwich." This refers to the period before Burma's transition to +0630, ++# a transition for which Shanks is the only source. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Yangon 6:24:40 - LMT 1880 # or Rangoon +- 6:24:40 - RMT 1920 # Rangoon Mean Time? ++Zone Asia/Yangon 6:24:47 - LMT 1880 # or Rangoon ++ 6:24:47 - RMT 1920 # Rangoon local time + 6:30 - +0630 1942 May + 9:00 - +09 1945 May 3 + 6:30 - +0630 +@@ -317,7 +327,7 @@ + # + # From Jesper Nørgaard Welen (2006-07-14): + # I have investigated the timezones around 1970 on the +-# http://www.astro.com/atlas site [with provinces and county ++# https://www.astro.com/atlas site [with provinces and county + # boundaries summarized below].... A few other exceptions were two + # counties on the Sichuan side of the Xizang-Sichuan border, + # counties Dege and Baiyu which lies on the Sichuan side and are +@@ -469,7 +479,7 @@ + + # From David Cochrane (2014-03-26): + # Just a confirmation that Ürümqi time was implemented in Ürümqi on 1 Feb 1986: +-# http://content.time.com/time/magazine/article/0,9171,960684,00.html ++# https://content.time.com/time/magazine/article/0,9171,960684,00.html + + # From Luther Ma (2014-04-22): + # I have interviewed numerous people of various nationalities and from +@@ -626,7 +636,7 @@ + # (both in Okinawa) adopt the Western Standard Time which is based on + # 120E. The adoption began from Jan 1, 1896. The original text can be + # found on Wikisource: +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # ... This could be the first adoption of time zone in Taiwan, because + # during the Qing Dynasty, it seems that there was no time zone + # declared officially. +@@ -639,7 +649,7 @@ + # territory, including later occupations, adopt Japan Central Time + # (UTC+9). The adoption began on Oct 1, 1937. The original text can + # be found on Wikisource: +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + # + # That is, the time zone of Taipei switched to UTC+9 on Oct 1, 1937. + +@@ -775,6 +785,12 @@ + # Looks like the time zone split in Cyprus went through last night. + # http://cyprus-mail.com/2016/10/30/cyprus-new-division-two-time-zones-now-reality/ + ++# From Paul Eggert (2017-10-18): ++# Northern Cyprus will reinstate winter time on October 29, thus ++# staying in sync with the rest of Cyprus. See: Anastasiou A. ++# Cyprus to remain united in time. Cyprus Mail 2017-10-17. ++# https://cyprus-mail.com/2017/10/17/cyprus-remain-united-time/ ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Cyprus 1975 only - Apr 13 0:00 1:00 S + Rule Cyprus 1975 only - Oct 12 0:00 0 - +@@ -792,7 +808,8 @@ + Zone Asia/Famagusta 2:15:48 - LMT 1921 Nov 14 + 2:00 Cyprus EE%sT 1998 Sep + 2:00 EUAsia EE%sT 2016 Sep 8 +- 3:00 - +03 ++ 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. +@@ -852,7 +869,7 @@ + + # From João Carrascalão, brother of the former governor of East Timor, in + # East Timor may be late for its millennium +-# (1999-12-26/31): ++# (1999-12-26/31): + # Portugal tried to change the time forward in 1974 because the sun + # rises too early but the suggestion raised a lot of problems with the + # Timorese and I still don't think it would work today because it +@@ -880,7 +897,7 @@ + # India + + # From Ian P. Beacock, in "A brief history of (modern) time", The Atlantic +-# http://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ ++# https://www.theatlantic.com/technology/archive/2015/12/the-creation-of-modern-time/421419/ + # (2015-12-22): + # In January 1906, several thousand cotton-mill workers rioted on the + # outskirts of Bombay.... They were protesting the proposed abolition of +@@ -887,14 +904,55 @@ + # local time in favor of Indian Standard Time.... Journalists called this + # dispute the "Battle of the Clocks." It lasted nearly half a century. + ++# From Paul Eggert (2017-04-20): ++# Good luck trying to nail down old timekeeping records in India. ++# "... in the nineteenth century ... Madras Observatory took its magnetic ++# measurements on Göttingen time, its meteorological measurements on Madras ++# (local) time, dropped its time ball on Greenwich (ocean navigator's) time, ++# and distributed civil (local time)." -- Bartky IR. Selling the true time: ++# 19th-century timekeeping in america. Stanford U Press (2000), 247 note 19. ++# "A more potent cause of resistance to the general adoption of the present ++# standard time lies in the fact that it is Madras time. The citizen of ++# Bombay, proud of being 'primus in Indis' and of Calcutta, equally proud of ++# his city being the Capital of India, and - for a part of the year - the Seat ++# of the Supreme Government, alike look down on Madras, and refuse to change ++# the time they are using, for that of what they regard as a benighted ++# Presidency; while Madras, having for long given the standard time to the ++# rest of India, would resist the adoption of any other Indian standard in its ++# place." -- Oldham RD. On Time in India: a suggestion for its improvement. ++# Proceedings of the Asiatic Society of Bengal (April 1899), 49-55. ++# ++# "In 1870 ... Madras time - 'now used by the telegraph and regulated from the ++# only government observatory' - was suggested as a standard railway time, ++# first to be adopted on the Great Indian Peninsular Railway (GIPR).... ++# Calcutta, Bombay, and Karachi, were to be allowed to continue with their ++# local time for civil purposes." - Prasad R. Tracks of Change: Railways and ++# Everyday Life in Colonial India. Cambridge University Press (2016), 145. ++# ++# Reed S, Low F. The Indian Year Book 1936-37. Bennett, Coleman, pp 27-8. ++# https://archive.org/details/in.ernet.dli.2015.282212 ++# This lists +052110 as Madras local time used in railways, and says that on ++# 1906-01-01 railways and telegraphs in India switched to +0530. Some ++# municipalities retained their former time, and the time in Calcutta ++# continued to depend on whether you were at the railway station or at ++# government offices. Government time was at +055320 (according to Shanks) or ++# at +0554 (according to the Indian Year Book). Railway time is more ++# appropriate for our purposes, as it was better documented, it is what we do ++# elsewhere (e.g., Europe/London before 1880), and after 1906 it was ++# consistent in the region now identified by Asia/Kolkata. So, use railway ++# time for 1870-1941. Shanks is our only (and dubious) source for the ++# 1941-1945 data. ++ + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata +- 5:53:20 - HMT 1941 Oct # Howrah Mean Time? +- 6:30 - +0630 1942 May 15 ++Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata ++ 5:53:20 - HMT 1870 # Howrah Mean Time? ++ 5:21:10 - MMT 1906 Jan 1 # Madras local time ++ 5:30 - IST 1941 Oct ++ 5:30 1:00 +0630 1942 May 15 + 5:30 - IST 1942 Sep + 5:30 1:00 +0630 1945 Oct 15 + 5:30 - IST +-# The following are like Asia/Kolkata: ++# Since 1970 the following are like Asia/Kolkata: + # Andaman Is + # Lakshadweep (Laccadive, Minicoy and Amindivi Is) + # Nicobar Is +@@ -1036,7 +1094,7 @@ + # From Reuters (2007-09-16), with a heads-up from Jesper Nørgaard Welen: + # ... the Guardian Council ... approved a law on Sunday to re-introduce + # daylight saving time ... +-# http://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 ++# https://uk.reuters.com/article/oilRpt/idUKBLA65048420070916 + # + # From Roozbeh Pournader (2007-11-05): + # This is quoted from Official Gazette of the Islamic Republic of +@@ -1135,7 +1193,7 @@ + # http://www.aswataliraq.info/look/article.tpl?id=2047&IdLanguage=17&IdPublication=4&NrArticle=71743&NrIssue=1&NrSection=10 + # + # We have published a short article in English about the change: +-# http://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html ++# https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Iraq 1982 only - May 1 0:00 1:00 D +@@ -1443,12 +1501,12 @@ + # From Yu-Cheng Chuang (2013-07-12): + # ...the Meiji Emperor announced Ordinance No. 167 of Meiji Year 28 "The clause + # about standard time" ... The adoption began from Jan 1, 1896. +-# http://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) ++# https://ja.wikisource.org/wiki/標準時ニ關スル件_(公布時) + # + # ...the Showa Emperor announced Ordinance No. 529 of Showa Year 12 ... which + # means the whole Japan territory, including later occupations, adopt Japan + # Central Time (UTC+9). The adoption began on Oct 1, 1937. +-# http://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 ++# https://ja.wikisource.org/wiki/明治二十八年勅令第百六十七號標準時ニ關スル件中改正ノ件 + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 31 15:00u +@@ -1510,7 +1568,7 @@ + # Official, in Arabic: + # http://www.petra.gov.jo/public_news/Nws_NewsDetails.aspx?Menu_ID=&Site_Id=2&lang=1&NewsID=133230&CatID=14 + # ... Our background/permalink about it +-# http://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html ++# https://www.timeanddate.com/news/time/jordan-reverses-dst-decision.html + # ... + # http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?lang=2&site_id=1&NewsID=133313&Type=P + # ... says midnight for the coming one and 1:00 for the ones in the future +@@ -1868,9 +1926,9 @@ + # between 1987 and 1988 ... + + # From Sanghyuk Jung (2014-10-29): +-# http://mm.icann.org/pipermail/tz/2014-October/021830.html ++# https://mm.icann.org/pipermail/tz/2014-October/021830.html + # According to the Korean Wikipedia +-# http://ko.wikipedia.org/wiki/한국_표준시 ++# https://ko.wikipedia.org/wiki/한국_표준시 + # [oldid=12896437 2014-09-04 08:03 UTC] + # DST in Republic of Korea was as follows.... And I checked old + # newspapers in Korean, all articles correspond with data in Wikipedia. +@@ -2092,7 +2150,7 @@ + # +08:00 instead. Different sources appear to disagree with the tz + # database on this, e.g.: + # +-# http://www.timeanddate.com/worldclock/city.html?n=1026 ++# https://www.timeanddate.com/worldclock/city.html?n=1026 + # http://www.worldtimeserver.com/current_time_in_MN.aspx + # + # both say GMT+08:00. +@@ -2222,7 +2280,7 @@ + # help reduce load shedding by approving the closure of commercial centres at + # 9pm and moving clocks forward by one hour for the next three months. ...." + # +-# http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html ++# http://www.worldtimezone.com/dst_news/dst_news_pakistan01.html + # http://www.dailytimes.com.pk/default.asp?page=2008%5C05%5C15%5Cstory_15-5-2008_pg1_4 + + # From Arthur David Olson (2008-05-19): +@@ -2288,7 +2346,7 @@ + # + # We have confirmed this year's end date with both with the Ministry of + # Water and Power and the Pakistan Electric Power Company: +-# http://www.timeanddate.com/news/time/pakistan-ends-dst09.html ++# https://www.timeanddate.com/news/time/pakistan-ends-dst09.html + + # From Christoph Göhre (2009-10-01): + # [T]he German Consulate General in Karachi reported me today that Pakistan +@@ -2470,7 +2528,7 @@ + # + # We are not sure if Gaza will do the same, last year they had a different + # end date, we will keep this page updated: +-# http://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html ++# https://www.timeanddate.com/news/time/westbank-gaza-dst-2009.html + + # From Alexander Krivenyshev (2009-09-02): + # Seems that Gaza Strip will go back to Winter Time same date as West Bank. +@@ -2508,7 +2566,7 @@ + # the clocks were set back one hour at 2010-08-11 00:00:00 local time in + # Gaza and the West Bank. + # Some more background info: +-# http://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html ++# https://www.timeanddate.com/news/time/westbank-gaza-end-dst-2010.html + + # From Steffen Thorsen (2011-08-26): + # Gaza and the West Bank did go back to standard time in the beginning of +@@ -2518,7 +2576,7 @@ + # + # http://www.maannews.net/eng/ViewDetails.aspx?ID=416217 + # Additional info: +-# http://www.timeanddate.com/news/time/palestine-dst-2011.html ++# https://www.timeanddate.com/news/time/palestine-dst-2011.html + + # From Alexander Krivenyshev (2011-08-27): + # According to the article in The Jerusalem Post: +@@ -2528,7 +2586,7 @@ + # The Hamas government said on Saturday that it won't observe summertime after + # the Muslim feast of Id al-Fitr, which begins on Tuesday..." + # ... +-# http://www.jpost.com/MiddleEast/Article.aspx?id=235650 ++# https://www.jpost.com/MiddleEast/Article.aspx?id=235650 + # http://www.worldtimezone.com/dst_news/dst_news_gazastrip05.html + # The rules for Egypt are stolen from the 'africa' file. + +@@ -2549,7 +2607,7 @@ + # http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html ++# https://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html + + # From Steffen Thorsen (2013-03-26): + # The following news sources tells that Palestine will "start daylight saving +@@ -2569,11 +2627,11 @@ + + # From Steffen Thorsen (2015-03-03): + # Sources such as http://www.alquds.com/news/article/view/id/548257 +-# and http://www.raya.ps/ar/news/890705.html say Palestine areas will ++# and https://www.raya.ps/ar/news/890705.html say Palestine areas will + # start DST on 2015-03-28 00:00 which is one day later than expected. + # + # From Paul Eggert (2015-03-03): +-# http://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 ++# https://www.timeanddate.com/time/change/west-bank/ramallah?year=2014 + # says that the fall 2014 transition was Oct 23 at 24:00. + + # From Hannah Kreitem (2016-03-09): +@@ -2597,8 +2655,8 @@ + # + # From Paul Eggert (2016-10-19): + # It's also consistent with predictions in the following URLs today: +-# http://www.timeanddate.com/time/change/gaza-strip/gaza +-# http://www.timeanddate.com/time/change/west-bank/hebron ++# https://www.timeanddate.com/time/change/gaza-strip/gaza ++# https://www.timeanddate.com/time/change/west-bank/hebron + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule EgyptAsia 1957 only - May 10 0:00 1:00 S +@@ -2661,7 +2719,7 @@ + # Philippines, issued a proclamation announcing that 1844-12-30 was to + # be immediately followed by 1845-01-01; see R.H. van Gent's + # History of the International Date Line +-# http://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm ++# https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm + # The rest of the data entries are from Shanks & Pottenger. + + # From Jesper Nørgaard Welen (2006-04-26): +@@ -2925,7 +2983,7 @@ + # We have not found any sources saying anything about when DST ends this year. + # + # Our summary +-# http://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html ++# https://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html + + # From Steffen Thorsen (2009-10-27): + # The Syrian Arab News Network on 2009-09-29 reported that Syria will +@@ -2952,7 +3010,7 @@ + # http://www.sana.sy/ara/2/2012/03/26/408215.htm + # + # Our brief summary: +-# http://www.timeanddate.com/news/time/syria-dst-2012.html ++# https://www.timeanddate.com/news/time/syria-dst-2012.html + + # From Arthur David Olson (2012-03-27): + # Assume last Friday in March going forward XXX. +@@ -3035,7 +3093,7 @@ + # is quoted verbatim in: + # http://www.thoigian.com.vn/?mPage=P80D01 + # is translated by Brian Inglis in: +-# http://mm.icann.org/pipermail/tz/2014-October/021654.html ++# https://mm.icann.org/pipermail/tz/2014-October/021654.html + # and is the basis for the information below. + # + # The 1906 transition was effective July 1 and standardized Indochina to +--- contrib/tzdata/australasia.orig ++++ contrib/tzdata/australasia +@@ -293,7 +293,7 @@ + # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166 + # + # A bit more background info here: +-# http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html ++# https://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html + + # From Alexander Krivenyshev (2010-10-24): + # According to Radio Fiji and Fiji Times online, Fiji will end DST 3 +@@ -357,9 +357,12 @@ + # clocks go forward an hour at 2am to 3am.... Daylight Saving will + # end at 3.00am on Sunday 15th January 2017." + +-# From Paul Eggert (2016-10-03): +-# For now, guess DST from 02:00 the first Sunday in November to +-# 03:00 the third Sunday in January. Although ad hoc, it matches ++# From Paul Eggert (2017-08-21): ++# Dominic Fok writes (2017-08-20) that DST ends 2018-01-14, citing ++# Extraordinary Government of Fiji Gazette Supplement No. 21 (2017-08-27), ++# [Legal Notice No. 41] of an order of the previous day by J Usamate. ++# For now, guess DST from 02:00 the first Sunday in November to 03:00 ++# the first Sunday on or after January 14. Although ad hoc, it matches + # transitions since late 2014 and seems more likely to match future + # practice than guessing no DST. + +@@ -373,7 +376,7 @@ + Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - + Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - + Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S +-Rule Fiji 2015 max - Jan Sun>=15 3:00 0 - ++Rule Fiji 2015 max - Jan Sun>=14 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva + 12:00 Fiji +12/+13 +@@ -557,7 +560,7 @@ + # The World War II entries below are instead based on Arawa-Kieta. + # The Japanese occupied Kieta in July 1942, + # according to the Pacific War Online Encyclopedia +-# http://pwencycl.kgbudge.com/B/o/Bougainville.htm ++# https://pwencycl.kgbudge.com/B/o/Bougainville.htm + # and seem to have controlled it until their 1945-08-21 surrender. + # + # The Autonomous Region of Bougainville switched from UT +10 to +11 +@@ -579,7 +582,7 @@ + -8:00 - -08 + + # American Samoa +-Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5 ++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 +@@ -595,7 +598,7 @@ + # Sunday of April 2011." + # + # Background info: +-# http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html ++# https://www.timeanddate.com/news/time/samoa-dst-plan-2009.html + # + # Samoa's Daylight Saving Time Act 2009 is available here, but does not + # contain any dates: +@@ -659,7 +662,7 @@ + Rule WS 2012 max - Apr Sun>=1 4:00 0 S + Rule WS 2012 max - Sep lastSun 3:00 1 D + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5 ++Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 + -11:26:56 - LMT 1911 + -11:30 - -1130 1950 + -11:00 WS -11/-10 2011 Dec 29 24:00 +@@ -686,7 +689,7 @@ + # From Paul Eggert (2012-07-25) + # A Google Books snippet of Appendix to the Journals of the House of + # Representatives of New Zealand, Session 1948, +-# , page 65, says Tokelau ++# , page 65, says Tokelau + # was "11 hours slow on G.M.T." Go with Thorsen and assume Shanks & Pottenger + # are off by an hour starting in 1901. + +@@ -701,8 +704,8 @@ + Rule Tonga 2000 only - Mar 19 2:00s 0 - + Rule Tonga 2000 2001 - Nov Sun>=1 2:00 1:00 S + Rule Tonga 2001 2002 - Jan lastSun 2:00 0 - +-Rule Tonga 2016 max - Nov Sun>=1 2:00 1:00 S +-Rule Tonga 2017 max - Jan Sun>=15 3:00 0 - ++Rule Tonga 2016 only - Nov Sun>=1 2:00 1:00 S ++Rule Tonga 2017 only - Jan Sun>=15 3:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Pacific/Tongatapu 12:19:20 - LMT 1901 + 12:20 - +1220 1941 +@@ -756,7 +759,7 @@ + # Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, + # "The United States High-Altitude Test Experience: A Review Emphasizing the + # Impact on the Environment", Los Alamos LA-6405, Oct 1976. +-# http://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf ++# https://www.fas.org/sgp/othergov/doe/lanl/docs1/00322994.pdf + # See the table on page 4 where he lists GMT and local times for the tests; a + # footnote for the JI tests reads that local time is "JI time = Hawaii Time + # Minus One Hour". +@@ -822,7 +825,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# 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). +@@ -969,7 +972,7 @@ + # AEST ACST AWST AEDT ACDT + # + # Parliamentary Library (2008-11-10) +-# http://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf ++# https://www.aph.gov.au/binaries/library/pubs/rp/2008-09/09rp14.pdf + # EST CST WST preferred for standard time; AEST AEDT ACST ACDT also used + # + # The Transport Safety Bureau has an extensive series of accident reports, +@@ -1005,13 +1008,13 @@ + # + # NSW (including LHI and Broken Hill): + # Standard Time Act 1987 (updated 1995-04-04) +-# http://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html ++# https://www.austlii.edu.au/au/legis/nsw/consol_act/sta1987137/index.html + # ACT + # Standard Time and Summer Time Act 1972 +-# http://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html ++# https://www.austlii.edu.au/au/legis/act/consol_act/stasta1972279/index.html + # SA + # Standard Time Act, 1898 +-# http://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html ++# https://www.austlii.edu.au/au/legis/sa/consol_act/sta1898137/index.html + + # From David Grosz (2005-06-13): + # It was announced last week that Daylight Saving would be extended by +@@ -1306,7 +1309,7 @@ + # http://abc.net.au/news/regionals/neweng/monthly/regeng-22jul1999-1.htm + # (1999-07-22). For now, we'll wait to see if this really happens. + # +-# Victoria will following NSW. See: ++# Victoria will follow NSW. See: + # Vic to extend daylight saving (1999-07-28) + # http://abc.net.au/local/news/olympics/1999/07/item19990728112314_1.htm + # +@@ -1409,7 +1412,7 @@ + # the ACT for all 52 weeks of the year... + # + # We have a wrap-up here: +-# http://www.timeanddate.com/news/time/south-australia-extends-dst.html ++# https://www.timeanddate.com/news/time/south-australia-extends-dst.html + ############################################################################### + + # New Zealand +@@ -1463,7 +1466,7 @@ + # From Paul Eggert (2014-07-14): + # Chatham Island time was formally standardized on 1957-01-01 by + # New Zealand's Standard Time Amendment Act 1956 (1956-10-26). +-# http://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf ++# https://www.austlii.edu.au/nz/legis/hist_act/staa19561956n100244.pdf + # According to Google Books snippet view, a speaker in the New Zealand + # parliamentary debates in 1956 said "Clause 78 makes provision for standard + # time in the Chatham Islands. The time there is 45 minutes in advance of New +@@ -1578,7 +1581,7 @@ + # the Norfolk Island Museum and the Australian Bureau of Meteorology's + # Norfolk Island station, and found no record of Norfolk observing DST + # other than in 1974/5. See: +-# http://www.timeanddate.com/time/australia/norfolk-island.html ++# https://www.timeanddate.com/time/australia/norfolk-island.html + + # Pitcairn + +@@ -1606,11 +1609,13 @@ + + # (Western) Samoa and American Samoa + +-# Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald) +-# that in 1879 the King of Samoa decided to change ++# Howse writes (p 153) that after the 1879 standardization on Antipodean ++# time by the British governor of Fiji, the King of Samoa decided to change + # "the date in his kingdom from the Antipodean to the American system, + # ordaining - by a masterpiece of diplomatic flattery - that + # the Fourth of July should be celebrated twice in that year." ++# This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. ++# https://www.staff.science.uu.nl/~gent0113/idl/idl.htm + + # Although Shanks & Pottenger says they both switched to UT -11:30 + # in 1911, and to -11 in 1950. many earlier sources give -11 +@@ -1621,6 +1626,7 @@ + # day in 2011. Assume also that the Samoas follow the US and New + # Zealand's "ST"/"DT" style of daylight-saving abbreviations. + ++ + # Tonga + + # From Paul Eggert (1996-01-22): +@@ -1715,6 +1721,15 @@ + # Assume Tonga will observe DST from the first Sunday in November at 02:00 + # through the third Sunday in January at 03:00, like Fiji, for now. + ++# From David Wade (2017-10-18): ++# In August government was disolved by the King. The current prime minister ++# continued in office in care taker mode. It is easy to see that few ++# decisions will be made until elections 16th November. ++# ++# From Paul Eggert (2017-10-18): ++# For now, guess that DST is discontinued. That's what the IATA is guessing. ++ ++ + # Wake + + # From Vernice Anderson, Personal Secretary to Philip Jessup, +@@ -1727,7 +1742,7 @@ + # making calculation of time in Washington difficult if not almost + # impossible. + # +-# http://www.trumanlibrary.org/wake/meeting.htm ++# https://www.trumanlibrary.org/oralhist/andrsonv.htm + + # From Paul Eggert (2003-03-23): + # We have no other report of DST in Wake Island, so omit this info for now. +@@ -1755,7 +1770,7 @@ + # an international standard, there are some places on the high seas where the + # correct date is ambiguous. + +-# From Wikipedia (2005-08-31): ++# From Wikipedia (2005-08-31): + # Before 1920, all ships kept local apparent time on the high seas by setting + # their clocks at night or at the morning sight so that, given the ship's + # speed and direction, it would be 12 o'clock when the Sun crossed the ship's +--- contrib/tzdata/backward.orig ++++ contrib/tzdata/backward +@@ -61,7 +61,9 @@ + Link America/Manaus Brazil/West + Link America/Halifax Canada/Atlantic + Link America/Winnipeg Canada/Central +-Link America/Regina Canada/East-Saskatchewan ++# This line is commented out, as the name exceeded the 14-character limit ++# and was an unused misnomer. ++#Link America/Regina Canada/East-Saskatchewan + Link America/Toronto Canada/Eastern + Link America/Edmonton Canada/Mountain + Link America/St_Johns Canada/Newfoundland +--- contrib/tzdata/backzone.orig ++++ contrib/tzdata/backzone +@@ -181,7 +181,7 @@ + # with the date that it took effect, namely 1912-01-01. + # + Zone Africa/Luanda 0:52:56 - LMT 1892 +- 0:52:04 - +005204 1912 Jan 1 ++ 0:52:04 - LMT 1912 Jan 1 # Luanda Mean Time? + 1:00 - WAT + + # Democratic Republic of the Congo (east) +@@ -540,10 +540,10 @@ + + # Guernsey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.27N -2.33E - St.Peter Port +-Zone Europe/Guernsey -0:09:19 - LMT 1913 Jun 18 ++# LMT is for Town Church, St. Peter Port, 49 degrees 27'17"N 2 degrees 32'10"W ++Zone Europe/Guernsey -0:10:09 - LMT 1913 Jun 18 + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +@@ -555,11 +555,11 @@ + # + # From Lester Caine (2013-09-04): + # The Isle of Man legislation is now on-line at +-# , starting with the original Statutory ++# , starting with the original Statutory + # Time Act in 1883 and including additional confirmation of some of + # the dates of the 'Summer Time' orders originating at + # Westminster. There is a little uncertainty as to the starting date +-# of the first summer time in 1916 which may have be announced a ++# of the first summer time in 1916 which may have been announced a + # couple of days late. There is still a substantial number of + # documents to work through, but it is thought that every GB change + # was also implemented on the island. +@@ -574,10 +574,10 @@ + + # Jersey + # Data from Joseph S. Myers +-# http://mm.icann.org/pipermail/tz/2013-September/019883.html ++# https://mm.icann.org/pipermail/tz/2013-September/019883.html + # References to be added +-# LMT Location - 49.187N -2.107E - St. Helier +-Zone Europe/Jersey -0:08:25 - LMT 1898 Jun 11 16:00u ++# LMT is for Parish Church, St. Helier, 49 degrees 11'0.57"N 2 degrees 6'24.33"W ++Zone Europe/Jersey -0:08:26 - LMT 1898 Jun 11 16:00u + 0:00 GB-Eire %s 1940 Jul 2 + 1:00 C-Eur CE%sT 1945 May 8 + 0:00 GB-Eire %s 1968 Oct 27 +--- contrib/tzdata/calendars.orig ++++ contrib/tzdata/calendars +@@ -0,0 +1,173 @@ ++----- Calendrical issues ----- ++ ++As mentioned in Theory.html, although calendrical issues are out of ++scope for tzdb, they indicate the sort of problems that we would run ++into if we extended tzdb further into the past. The following ++information and sources go beyond Theory.html's brief discussion. ++They sometimes disagree. ++ ++ ++France ++ ++Gregorian calendar adopted 1582-12-20. ++French Revolutionary calendar used 1793-11-24 through 1805-12-31, ++and (in Paris only) 1871-05-06 through 1871-05-23. ++ ++ ++Russia ++ ++From Chris Carrier (1996-12-02): ++On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" ++with 30-day months plus 5 holidays, with a 5-day week. ++On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the ++Gregorian calendar while retaining the 6-day week; on 1940-06-27 it ++reverted to the 7-day week. With the 6-day week the usual days ++off were the 6th, 12th, 18th, 24th and 30th of the month. ++(Source: Evitiar Zerubavel, _The Seven Day Circle_) ++ ++ ++Mark Brader reported a similar story in "The Book of Calendars", edited ++by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But: ++ ++From: Petteri Sulonen (via Usenet) ++Date: 14 Jan 1999 00:00:00 GMT ++... ++ ++If your source is correct, how come documents between 1929 and 1940 were ++still dated using the conventional, Gregorian calendar? ++ ++I can post a scan of a document dated December 1, 1934, signed by ++Yenukidze, the secretary, on behalf of Kalinin, the President of the ++Executive Committee of the Supreme Soviet, if you like. ++ ++ ++ ++Sweden (and Finland) ++ ++From: Mark Brader ++Subject: Re: Gregorian reform - a part of locale? ++ ++Date: 1996-07-06 ++ ++In 1700, Denmark made the transition from Julian to Gregorian. Sweden ++decided to *start* a transition in 1700 as well, but rather than have one of ++those unsightly calendar gaps :-), they simply decreed that the next leap ++year after 1696 would be in 1744 - putting the whole country on a calendar ++different from both Julian and Gregorian for a period of 40 years. ++ ++However, in 1704 something went wrong and the plan was not carried through; ++they did, after all, have a leap year that year. And one in 1708. In 1712 ++they gave it up and went back to Julian, putting 30 days in February that ++year!... ++ ++Then in 1753, Sweden made the transition to Gregorian in the usual manner, ++getting there only 13 years behind the original schedule. ++ ++(A previous posting of this story was challenged, and Swedish readers ++produced the following references to support it: "Tideräkning och historia" ++by Natanael Beckman (1924) and "Tid, en bok om tideräkning och ++kalenderväsen" by Lars-Olof Lodén (1968). ++ ++ ++Grotefend's data ++ ++From: "Michael Palmer" [with one obvious typo fixed] ++Subject: Re: Gregorian Calendar (was Re: Another FHC related question ++Newsgroups: soc.genealogy.german ++Date: Tue, 9 Feb 1999 02:32:48 -800 ++... ++ ++The following is a(n incomplete) listing, arranged chronologically, of ++European states, with the date they converted from the Julian to the ++Gregorian calendar: ++ ++04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman ++ Catholics and Danzig only) ++09/20 Dec 1582 - France, Lorraine ++ ++21 Dec 1582/ ++ 01 Jan 1583 - Holland, Brabant, Flanders, Hennegau ++10/21 Feb 1583 - bishopric of Liege (Lüttich) ++13/24 Feb 1583 - bishopric of Augsburg ++04/15 Oct 1583 - electorate of Trier ++05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg, ++ Salzburg, Brixen ++13/24 Oct 1583 - Austrian Oberelsaß and Breisgau ++20/31 Oct 1583 - bishopric of Basel ++02/13 Nov 1583 - duchy of Jülich-Berg ++02/13 Nov 1583 - electorate and city of Köln ++04/15 Nov 1583 - bishopric of Würzburg ++11/22 Nov 1583 - electorate of Mainz ++16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden ++17/28 Nov 1583 - bishopric of Münster and duchy of Cleve ++14/25 Dec 1583 - Steiermark ++ ++06/17 Jan 1584 - Austria and Bohemia ++11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn ++12/23 Jan 1584 - Silesia and the Lausitz ++22 Jan/ ++ 02 Feb 1584 - Hungary (legally on 21 Oct 1587) ++ Jun 1584 - Unterwalden ++01/12 Jul 1584 - duchy of Westfalen ++ ++16/27 Jun 1585 - bishopric of Paderborn ++ ++14/25 Dec 1590 - Transylvania ++ ++22 Aug/ ++ 02 Sep 1612 - duchy of Prussia ++ ++13/24 Dec 1614 - Pfalz-Neuburg ++ ++ 1617 - duchy of Kurland (reverted to the Julian calendar in ++ 1796) ++ ++ 1624 - bishopric of Osnabrück ++ ++ 1630 - bishopric of Minden ++ ++15/26 Mar 1631 - bishopric of Hildesheim ++ ++ 1655 - Kanton Wallis ++ ++05/16 Feb 1682 - city of Strassburg ++ ++18 Feb/ ++ 01 Mar 1700 - Protestant Germany (including Swedish possessions in ++ Germany), Denmark, Norway ++30 Jun/ ++ 12 Jul 1700 - Gelderland, Zutphen ++10 Nov/ ++ 12 Dec 1700 - Utrecht, Overijssel ++ ++31 Dec 1700/ ++ 12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva, ++ Turgau, and Schaffhausen ++ ++ 1724 - Glarus, Appenzell, and the city of St. Gallen ++ ++01 Jan 1750 - Pisa and Florence ++ ++02/14 Sep 1752 - Great Britain ++ ++17 Feb/ ++ 01 Mar 1753 - Sweden ++ ++1760-1812 - Graubünden ++ ++The Russian empire (including Finland and the Baltic states) did not ++convert to the Gregorian calendar until the Soviet revolution of 1917. ++ ++Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen ++Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend ++(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28. ++ ++----- ++ ++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++ ++----- ++Local Variables: ++coding: utf-8 ++End: +--- contrib/tzdata/checklinks.awk.orig ++++ contrib/tzdata/checklinks.awk +@@ -9,7 +9,7 @@ + Zone = "\n" + } + +-/^Zone/ { ++/^Z/ { + if (defined[$2]) { + if (defined[$2] == Zone) { + printf "%s: Zone has duplicate definition\n", $2 +@@ -21,7 +21,7 @@ + defined[$2] = Zone + } + +-/^Link/ { ++/^L/ { + if (defined[$3]) { + if (defined[$3] == Zone) { + printf "%s: Link with same name as Zone\n", $3 +--- contrib/tzdata/europe.orig ++++ contrib/tzdata/europe +@@ -37,7 +37,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . He writes: ++# . He writes: + # "It is requested that corrections and additions to these tables + # may be sent to Mr. John Milne, Royal Geographical Society, + # Savile Row, London." Nowadays please email them to tz@iana.org. +@@ -44,7 +44,7 @@ + # + # Byalokoz EL. New Counting of Time in Russia since July 1, 1919. + # This Russian-language source was consulted by Vladimir Karpinsky; see +-# http://mm.icann.org/pipermail/tz/2014-August/021320.html ++# https://mm.icann.org/pipermail/tz/2014-August/021320.html + # The full Russian citation is: + # Бялокоз, Евгений Людвигович. Новый счет времени в течении суток + # введенный декретом Совета народных комиссаров для всей России с 1-го +@@ -187,7 +187,7 @@ + # foundations of civilization throughout the world. + # -- "A Silent Toast to William Willett", Pictorial Weekly; + # republished in Finest Hour (Spring 2002) 1(114):26 +-# http://www.winstonchurchill.org/images/finesthour/Vol.01%20No.114.pdf ++# https://www.winstonchurchill.org/publications/finest-hour/finest-hour-114/a-silent-toast-to-william-willett-by-winston-s-churchill + + # From Paul Eggert (2015-08-08): + # The OED Supplement says that the English originally said "Daylight Saving" +@@ -225,8 +225,8 @@ + # official designation; the reply of the 21st was that there wasn't + # but he couldn't think of anything better than the "Double British + # Summer Time" that the BBC had been using informally. +-# http://www.polyomino.org.uk/british-time/bbc-19410418.png +-# http://www.polyomino.org.uk/british-time/ho-19410421.png ++# https://www.polyomino.org.uk/british-time/bbc-19410418.png ++# https://www.polyomino.org.uk/british-time/ho-19410421.png + + # From Sir Alexander Maxwell in the above-mentioned letter (1941-04-21): + # [N]o official designation has as far as I know been adopted for the time +@@ -243,13 +243,13 @@ + # the history of summer time legislation in the United Kingdom. + # Since 1998 Joseph S. Myers has been updating + # and extending this list, which can be found in +-# http://www.polyomino.org.uk/british-time/ ++# https://www.polyomino.org.uk/british-time/ + + # From Joseph S. Myers (1998-01-06): + # + # The legal time in the UK outside of summer time is definitely GMT, not UTC; + # see Lord Tanlaw's speech +-# http://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 ++# https://www.publications.parliament.uk/pa/ld199798/ldhansrd/vo970611/text/70611-10.htm#70611-10_head0 + # (Lords Hansard 11 June 1997 columns 964 to 976). + + # From Paul Eggert (2006-03-22): +@@ -295,7 +295,7 @@ + # Irish 'public feeling (was) outraged by forcing of English time on us'." + # -- Parsons M. Dublin lost its time zone - and 25 minutes - after 1916 Rising. + # Irish Times 2014-10-27. +-# http://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 ++# https://www.irishtimes.com/news/politics/dublin-lost-its-time-zone-and-25-minutes-after-1916-rising-1.1977411 + + # From Joseph S. Myers (2005-01-26): + # Irish laws are available online at . +@@ -348,6 +348,12 @@ + # Justice (tel +353 1 678 9711) who confirmed to me that the correct name is + # "Irish Summer Time", abbreviated to "IST". + ++# Michael Deckers (2017-06-01) gave the following URLs for Ireland's ++# Summer Time Act, 1925 and Summer Time Orders, 1926 and 1947: ++# http://www.irishstatutebook.ie/eli/1925/act/8/enacted/en/print.html ++# http://www.irishstatutebook.ie/eli/1926/sro/919/made/en/print.html ++# http://www.irishstatutebook.ie/eli/1947/sro/71/made/en/print.html ++ + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + # Summer Time Act, 1916 + Rule GB-Eire 1916 only - May 21 2:00s 1:00 BST +@@ -472,14 +478,14 @@ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2 +- -0:25:21 - DMT 1916 May 21 2:00 # Dublin MT ++ -0:25:21 - DMT 1916 May 21 2:00s # Dublin MT + -0:25:21 1:00 IST 1916 Oct 1 2:00s + 0:00 GB-Eire %s 1921 Dec 6 # independence +- 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00 +- 0:00 1:00 IST 1946 Oct 6 2:00 +- 0:00 - GMT 1947 Mar 16 2:00 +- 0:00 1:00 IST 1947 Nov 2 2:00 +- 0:00 - GMT 1948 Apr 18 2:00 ++ 0:00 GB-Eire GMT/IST 1940 Feb 25 2:00s ++ 0:00 1:00 IST 1946 Oct 6 2:00s ++ 0:00 - GMT 1947 Mar 16 2:00s ++ 0:00 1:00 IST 1947 Nov 2 2:00s ++ 0:00 - GMT 1948 Apr 18 2:00s + 0:00 GB-Eire GMT/IST 1968 Oct 27 + 1:00 - IST 1971 Oct 31 2:00u + 0:00 GB-Eire GMT/IST 1996 +@@ -625,7 +631,7 @@ + # Council of Ministers of the USSR from 1989-03-14 No. 227. + # + # I did not find full texts of these acts. For the 1989 one we have +-# title at http://base.garant.ru/70754136/ : ++# title at https://base.garant.ru/70754136/ : + # "About change in calculation of time on the territories of + # Lithuanian SSR, Latvian SSR and Estonian SSR, Astrakhan, + # Kaliningrad, Kirov, Kuybyshev, Ulyanovsk and Uralsk oblasts". +@@ -656,7 +662,7 @@ + # http://bmockbe.ru/events/?ID=7583 + # + # Medvedev signed a law on the calculation of the time (in russian): +-# http://www.regnum.ru/news/polit/1413906.html ++# https://www.regnum.ru/news/polit/1413906.html + + # From Arthur David Olson (2011-06-15): + # Take "abolishing daylight saving time" to mean that time is now considered +@@ -783,7 +789,7 @@ + # Sources (Russian language): + # http://www.belta.by/ru/all_news/society/V-Belarusi-otmenjaetsja-perexod-na-sezonnoe-vremja_i_572952.html + # http://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/ +-# http://news.tut.by/society/250578.html ++# https://news.tut.by/society/250578.html + # + # From Alexander Bokovoy (2014-10-09): + # Belarussian government decided against changing to winter time.... +@@ -1104,7 +1110,7 @@ + # for their standard and summer times. He says no, they use "suveaeg" + # (summer time) and "talveaeg" (winter time). + +-# From The Baltic Times (1999-09-09) ++# From The Baltic Times (1999-09-09) + # via Steffen Thorsen: + # This year will mark the last time Estonia shifts to summer time, + # a council of the ruling coalition announced Sept. 6.... +@@ -1156,7 +1162,7 @@ + # This is documented in Heikki Oja: Aikakirja 2007, published by The Almanac + # Office of University of Helsinki, ISBN 952-10-3221-9, available online (in + # Finnish) at +-# http://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf ++# https://almanakka.helsinki.fi/aikakirja/Aikakirja2007kokonaan.pdf + # + # Page 105 (56 in PDF version) has a handy table of all past daylight savings + # transitions. It is easy enough to interpret without Finnish skills. +@@ -1169,7 +1175,7 @@ + + # From Konstantin Hyppönen (2014-06-13): + # [Heikki Oja's book Aikakirja 2013] +-# http://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf ++# https://almanakka.helsinki.fi/images/aikakirja/Aikakirja2013kokonaan.pdf + # pages 104-105, including a scan from a newspaper published on Apr 2 1942 + # say that ... [o]n Apr 2 1942, 24 o'clock (which means Apr 3 1942, + # 00:00), clocks were moved one hour forward. The newspaper +@@ -1299,7 +1305,7 @@ + + # From Jörg Schilling (2002-10-23): + # In 1945, Berlin was switched to Moscow Summer time (GMT+4) by +-# http://www.dhm.de/lemo/html/biografien/BersarinNikolai/ ++# https://www.dhm.de/lemo/html/biografien/BersarinNikolai/ + # General [Nikolai] Bersarin. + + # From Paul Eggert (2003-03-08): +@@ -1524,7 +1530,7 @@ + # From Paul Eggert (2016-10-27): + # Go with INRiM for DST rules, except as corrected by Inglis for 1944 + # for the Kingdom of Italy. This is consistent with Renzo Baldini. +-# Model Rome's occupation by using using C-Eur rules from 1943-09-10 ++# Model Rome's occupation by using C-Eur rules from 1943-09-10 + # to 1944-06-04; although Rome was an open city during this period, it + # was effectively controlled by Germany. + # +@@ -1839,7 +1845,7 @@ + # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)- + # Tiraspol will go back to winter time on October 30, 2011. + # News from Moldova (in russian): +-# http://ru.publika.md/link_317061.html ++# https://ru.publika.md/link_317061.html + + # From Roman Tudos (2015-07-02): + # http://lex.justice.md/index.php?action=view&view=doc&lang=1&id=355077 +@@ -1846,7 +1852,7 @@ + # From Paul Eggert (2015-07-01): + # The abovementioned official link to IGO1445-868/2014 states that + # 2014-10-26's fallback transition occurred at 03:00 local time. Also, +-# http://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara ++# https://www.trm.md/en/social/la-30-martie-vom-trece-la-ora-de-vara + # says the 2014-03-30 spring-forward transition was at 02:00 local time. + # Guess that since 1997 Moldova has switched one hour before the EU. + +@@ -1918,7 +1924,7 @@ + # Amsterdam mean time. + + # The data entries before 1945 are taken from +-# http://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm ++# https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule Neth 1916 only - May 1 0:00 1:00 NST # Netherlands Summer Time +@@ -1999,7 +2005,7 @@ + # so it must have diverged from Oslo time during the war, as Oslo was + # keeping Berlin time. + # +-# says that the meteorologists ++# says that the meteorologists + # burned down their station in 1940 and left the island, but returned in + # 1941 with a small Norwegian garrison and continued operations despite + # frequent air attacks from Germans. In 1943 the Americans established a +@@ -2037,7 +2043,7 @@ + Rule Poland 1945 only - Nov 1 0:00 0 - + # For 1946 on the source is Kazimierz Borkowski, + # Toruń Center for Astronomy, Dept. of Radio Astronomy, Nicolaus Copernicus U., +-# http://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 ++# https://www.astro.uni.torun.pl/~kb/Artykuly/U-PA/Czas2.htm#tth_tAb1 + # Thanks to Przemysław Augustyniak (2005-05-28) for this reference. + # He also gives these further references: + # Mon Pol nr 13, poz 162 (1995) +@@ -2071,7 +2077,7 @@ + # + # From Paul Eggert (2014-08-11), after a heads-up from Stephen Colebourne: + # According to a Portuguese decree (1911-05-26) +-# http://dre.pt/pdf1sdip/1911/05/12500/23132313.pdf ++# https://dre.pt/application/dir/pdf1sdip/1911/05/12500/23132313.pdf + # Lisbon was at -0:36:44.68, but switched to GMT on 1912-01-01 at 00:00. + # Round the old offset to -0:36:45. This agrees with Willett but disagrees + # with Shanks, who says the transition occurred on 1911-05-24 at 00:00 for +@@ -2253,7 +2259,7 @@ + # 2011 No. 725" and contains no other dates or "effective date" information. + # + # Another source is +-# http://www.rg.ru/2011/09/06/chas-zona-dok.html ++# https://rg.ru/2011/09/06/chas-zona-dok.html + # which, according to translate.google.com, begins "Resolution of the + # Government of the Russian Federation on August 31, 2011 N 725" and also + # contains "Date first official publication: September 6, 2011 Posted on: +@@ -2261,7 +2267,7 @@ + # does not contain any "effective date" information. + # + # Another source is +-# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 ++# https://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7 + # which, in note 8, contains "Resolution No. 725 of August 31, 2011... + # Effective as of after 7 days following the day of the official publication" + # but which does not contain any reference to September 6, 2011. +@@ -2297,7 +2303,7 @@ + # http://itar-tass.com/obschestvo/1333711 + # http://www.pravo.gov.ru:8080/page.aspx?111660 + # http://www.kremlin.ru/acts/46279 +-# From October 26, 2014 the new Russian time zone map will looks like this: ++# From October 26, 2014 the new Russian time zone map will look like this: + # http://www.worldtimezone.com/dst_news/dst_news_russia-map-2014-07.html + + # From Paul Eggert (2006-03-22): +@@ -2344,7 +2350,7 @@ + # with maintenance only and represent our best guesses as to which regions + # are covered by each zone. They are not meant to be taken as an authoritative + # listing. The region codes listed come from +-# http://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 ++# https://en.wikipedia.org/w/?title=Federal_subjects_of_Russia&oldid=611810498 + # and are used for convenience only; no guarantees are made regarding their + # future stability. ISO 3166-2:RU codes are also listed for first-level + # divisions where available. +@@ -2509,7 +2515,7 @@ + # http://www.kaliningradka.ru/site_pc/cherez/index.php?ELEMENT_ID=40091 + # says that Kaliningrad decided not to be an exception 2 days before the + # 1991-03-31 switch and one person at +-# http://izhevsk.ru/forum_light_message/50/682597-m8369040.html ++# https://izhevsk.ru/forum_light_message/50/682597-m8369040.html + # says he remembers that Samara opted out of the 1992-01-19 exception + # 2 days before the switch. + # +@@ -2581,7 +2587,7 @@ + 3:00 - MSK 1997 Mar lastSun 1:00u + # From Alexander Krivenyshev (2014-03-17): + # time change at 2:00 (2am) on March 30, 2014 +-# http://vz.ru/news/2014/3/17/677464.html ++# https://vz.ru/news/2014/3/17/677464.html + # From Paul Eggert (2014-03-30): + # Simferopol and Sevastopol reportedly changed their central town clocks + # late the previous day, but this appears to have been ceremonial +@@ -2764,7 +2770,7 @@ + # suggests that Altai Republic transitioned to Moscow+3 on + # 1995-05-28. + # +-# http://regnum.ru/news/society/1957270.html ++# https://regnum.ru/news/society/1957270.html + # has some historical data for Altai Krai: + # before 1957: west part on UTC+6, east on UTC+7 + # after 1957: UTC+7 +@@ -3138,8 +3144,8 @@ + # districts, but have very similar populations. In fact, Wikipedia currently + # lists them both as having 3528 people, exactly 1668 males and 1860 females + # each! (Yikes!) +-# http://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 +-# http://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 ++# https://en.wikipedia.org/w/?title=Srednekolymsky_District&oldid=603435276 ++# https://en.wikipedia.org/w/?title=Verkhnekolymsky_District&oldid=594378493 + # Assume this is a mistake, albeit an amusing one. + # + # Looking at censuses, the populations of the two municipalities seem to have +@@ -3460,7 +3466,7 @@ + # + # From Alois Treindl (2013-09-11): + # The Federal regulations say +-# http://www.admin.ch/opc/de/classified-compilation/20071096/index.html ++# https://www.admin.ch/opc/de/classified-compilation/20071096/index.html + # ... the meridian for Bern mean time ... is 7 degrees 26' 22.50". + # Expressed in time, it is 0h29m45.5s. + +@@ -3537,9 +3543,9 @@ + # According to the articles linked below, Turkey will change into summer + # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27. + # This change is due to a nationwide exam on 27th. +-# http://www.worldbulletin.net/?aType=haber&ArticleID=70872 ++# https://www.worldbulletin.net/?aType=haber&ArticleID=70872 + # Turkish: +-# http://www.hurriyet.com.tr/ekonomi/17230464.asp?gid=373 ++# https://www.hurriyet.com.tr/yaz-saati-uygulamasi-bir-gun-ileri-alindi-17230464 + + # From Faruk Pasin (2014-02-14): + # The DST for Turkey has been changed for this year because of the +@@ -3675,7 +3681,7 @@ + # http://www.segodnya.ua/news/14290482.html + # + # Deputies cancelled the winter time (in Russian) +-# http://www.pravda.com.ua/rus/news/2011/09/20/6600616/ ++# https://www.pravda.com.ua/rus/news/2011/09/20/6600616/ + # + # From Philip Pizzey (2011-10-18): + # Today my Ukrainian colleagues have informed me that the +--- contrib/tzdata/leap-seconds.list.orig ++++ contrib/tzdata/leap-seconds.list +@@ -199,10 +199,10 @@ + # current -- the update time stamp, the data and the name of the file + # will not change. + # +-# Updated through IERS Bulletin C53 +-# File expires on: 28 December 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 + # +-#@ 3723408000 ++#@ 3739132800 + # + 2272060800 10 # 1 Jan 1972 + 2287785600 11 # 1 Jul 1972 +@@ -247,4 +247,4 @@ + # the hash line is also ignored in the + # computation. + # +-#h 62cf8c5d 8bbb6dcc c61e3b56 c308343 869bb80d ++#h 5101445a 69948b51 9153e2b 2086e3d8 d54561a3 +--- contrib/tzdata/leapseconds.orig ++++ contrib/tzdata/leapseconds +@@ -3,19 +3,18 @@ + # This file is in the public domain. + + # This file is generated automatically from the data in the public-domain +-# leap-seconds.list file available from most NIST time servers. +-# If the URL does not work, +-# you should be able to pick up leap-seconds.list from a secondary NIST server. +-# See for a list of secondary servers. ++# leap-seconds.list file, which is copied from: ++# ftp://ftp.nist.gov/pub/time/leap-seconds.list + # For more about leap-seconds.list, please see + # The NTP Timescale and Leap Seconds +-# http://www.eecis.udel.edu/~mills/leap.html ++# https://www.eecis.udel.edu/~mills/leap.html + + # The International Earth Rotation and Reference Systems Service + # periodically uses leap seconds to keep UTC to within 0.9 s of UT1 + # (which measures the true angular orientation of the earth in space); see +-# Terry J Quinn, The BIPM and the accurate measure of time, +-# Proc IEEE 79, 7 (July 1991), 894-905 . ++# Levine J. Coordinated Universal Time and the leap second. ++# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995 ++# http://ieeexplore.ieee.org/document/7909995/ + # There were no leap seconds before 1972, because the official mechanism + # accounting for the discrepancy between atomic time and the earth's rotation + # did not exist until the early 1970s. +@@ -58,5 +57,5 @@ + Leap 2015 Jun 30 23:59:60 + S + Leap 2016 Dec 31 23:59:60 + S + +-# Updated through IERS Bulletin C53 +-# File expires on: 28 December 2017 ++# Updated through IERS Bulletin C54 ++# File expires on: 28 June 2018 +--- contrib/tzdata/leapseconds.awk.orig ++++ contrib/tzdata/leapseconds.awk +@@ -8,19 +8,18 @@ + print "# This file is in the public domain." + print "" + print "# This file is generated automatically from the data in the public-domain" +- print "# leap-seconds.list file available from most NIST time servers." +- print "# If the URL does not work," +- print "# you should be able to pick up leap-seconds.list from a secondary NIST server." +- print "# See for a list of secondary servers." ++ print "# leap-seconds.list file, which is copied from:" ++ print "# ftp://ftp.nist.gov/pub/time/leap-seconds.list" + print "# For more about leap-seconds.list, please see" + print "# The NTP Timescale and Leap Seconds" +- print "# http://www.eecis.udel.edu/~mills/leap.html" ++ print "# https://www.eecis.udel.edu/~mills/leap.html" + print "" + print "# The International Earth Rotation and Reference Systems Service" + print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1" + print "# (which measures the true angular orientation of the earth in space); see" +- print "# Terry J Quinn, The BIPM and the accurate measure of time," +- print "# Proc IEEE 79, 7 (July 1991), 894-905 ." ++ print "# Levine J. Coordinated Universal Time and the leap second." ++ print "# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995" ++ print "# http://ieeexplore.ieee.org/document/7909995/" + print "# There were no leap seconds before 1972, because the official mechanism" + print "# accounting for the discrepancy between atomic time and the earth's rotation" + print "# did not exist until the early 1970s." +--- contrib/tzdata/northamerica.orig ++++ contrib/tzdata/northamerica +@@ -105,10 +105,13 @@ + # Last night I heard part of a rebroadcast of a 1945 Arch Oboler radio drama. + # In the introduction, Oboler spoke of "Eastern Peace Time." + # An AltaVista search turned up: +-# http://rowayton.org/rhs/hstaug45.html ++# https://web.archive.org/web/20000926032210/http://rowayton.org/rhs/hstaug45.html + # "When the time is announced over the radio now, it is 'Eastern Peace + # Time' instead of the old familiar 'Eastern War Time.' Peace is wonderful." + # (August 1945) by way of confirmation. ++# ++# From Paul Eggert (2017-09-23): ++# This was the V-J Day issue of the Clamdigger, a Rowayton, CT newsletter. + + # From Joseph Gallant citing + # George H. Douglas, _The Early Days of Radio Broadcasting_ (1987): +@@ -257,7 +260,7 @@ + # HST and HDT are standardized abbreviations for Hawaii-Aleutian + # standard and daylight times. See section 9.47 (p 234) of the + # U.S. Government Printing Office Style Manual (2008) +-# http://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf ++# https://www.gpo.gov/fdsys/pkg/GPO-STYLEMANUAL-2008/pdf/GPO-STYLEMANUAL-2008.pdf + + # From Arthur David Olson, 2005-08-09 + # The following was signed into law on 2005-08-08. +@@ -346,7 +349,7 @@ + # western Tennessee, most of Texas, Wisconsin + + # From Larry M. Smith (2006-04-26) re Wisconsin: +-# http://www.legis.state.wi.us/statutes/Stat0175.pdf ... ++# https://docs.legis.wisconsin.gov/statutes/statutes/175.pdf + # is currently enforced at the 01:00 time of change. Because the local + # "bar time" in the state corresponds to 02:00, a number of citations + # are issued for the "sale of class 'B' alcohol after prohibited +@@ -355,7 +358,7 @@ + # From Douglas R. Bomberg (2007-03-12): + # Wisconsin has enacted (nearly eleventh-hour) legislation to get WI + # Statue 175 closer in synch with the US Congress' intent.... +-# http://www.legis.state.wi.us/2007/data/acts/07Act3.pdf ++# https://docs.legis.wisconsin.gov/2007/related/acts/3 + + # From an email administrator of the City of Fort Pierre, SD (2015-12-21): + # Fort Pierre is technically located in the Mountain time zone as is +@@ -402,7 +405,7 @@ + # ...it appears that Mercer County, North Dakota, changed from the + # mountain time zone to the central time zone at the last transition from + # daylight-saving to standard time (on Nov. 7, 2010): +-# http://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm ++# https://www.gpo.gov/fdsys/pkg/FR-2010-09-29/html/2010-24376.htm + # http://www.bismarcktribune.com/news/local/article_1eb1b588-c758-11df-b472-001cc4c03286.html + + # From Andy Lipscomb (2011-01-24): +@@ -453,7 +456,7 @@ + # legal time, and is not part of the data here.) See: + # Ross SA. An energy crisis from the past: Northern California in 1948. + # Working Paper No. 8, Institute of Governmental Studies, UC Berkeley, +-# 1973-11. http://escholarship.org/uc/item/8x22k30c ++# 1973-11. https://escholarship.org/uc/item/8x22k30c + # + # In another measure to save electricity, DST was instituted from 1948-03-14 + # at 02:01 to 1949-01-16 at 02:00, with the governor having the option to move +@@ -474,8 +477,8 @@ + # which established DST from April's last Sunday at 01:00 until September's + # last Sunday at 02:00. This was amended by 1962's Proposition 6, which changed + # the fall-back date to October's last Sunday. See: +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props +-# http://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props ++# https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props + # + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule CA 1948 only - Mar 14 2:01 1:00 D +@@ -492,20 +495,31 @@ + # Alaska + # AK%sT is the modern abbreviation for -09 per USNO. + # +-# From Paul Eggert (2001-05-30): ++# From Paul Eggert (2017-06-15): + # Howse writes that Alaska switched from the Julian to the Gregorian calendar, + # and from east-of-GMT to west-of-GMT days, when the US bought it from Russia. +-# This was on 1867-10-18, a Friday; the previous day was 1867-10-06 Julian, +-# also a Friday. Include only the time zone part of this transition, +-# ignoring the switch from Julian to Gregorian, since we can't represent +-# the Julian calendar. ++# On Friday, 1867-10-18 (Gregorian), at precisely 15:30 local time, the ++# Russian forts and fleet at Sitka fired salutes to mark the ceremony of ++# formal transfer. See the Sacramento Daily Union (1867-11-14), p 3, col 2. ++# https://cdnc.ucr.edu/cgi-bin/cdnc?a=d&d=SDU18671114.2.12.1 ++# Sitka workers did not change their calendars until Sunday, 1867-10-20, ++# and so celebrated two Sundays that week. See: Ahllund T (tr Hallamaa P). ++# From the memoirs of a Finnish workman. Alaska History. 2006 Fall;21(2):1-25. ++# http://alaskahistoricalsociety.org/wp-content/uploads/2016/12/Ahllund-2006-Memoirs-of-a-Finnish-Workman.pdf ++# Include only the time zone part of this transition, ignoring the switch ++# from Julian to Gregorian, since we can't represent the Julian calendar. + # +-# As far as we know, none of the exact locations mentioned below were ++# As far as we know, of the locations mentioned below only Sitka was + # permanently inhabited in 1867 by anyone using either calendar. +-# (Yakutat was colonized by the Russians in 1799, but the settlement +-# was destroyed in 1805 by a Yakutat-kon war party.) However, there +-# were nearby inhabitants in some cases and for our purposes perhaps +-# it's best to simply use the official transition. ++# (Yakutat was colonized by the Russians in 1799, but the settlement was ++# destroyed in 1805 by a Yakutat-kon war party.) Many of Alaska's inhabitants ++# were unaware of the US acquisition of Alaska, much less of any calendar or ++# time change. However, the Russian-influenced part of Alaska did observe ++# Russian time, and it is more accurate to model this than to ignore it. ++# The database format requires an exact transition time; use the Russian ++# salute as a somewhat-arbitrary time for the formal transfer of control for ++# all of Alaska. Sitka's UTC offset is -9:01:13; adjust its 15:30 to the ++# local times of other Alaskan locations so that they change simultaneously. + + # From Paul Eggert (2014-07-18): + # One opinion of the early-1980s turmoil in Alaska over time zones and +@@ -558,10 +572,10 @@ + # It seems Metlakatla did go off PST on Sunday, November 1, changing + # their time to AKST and are going to follow Alaska's DST, switching + # between AKST and AKDT from now on.... +-# http://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ ++# https://www.krbd.org/2015/10/30/annette-island-times-they-are-a-changing/ + + # Zone NAME GMTOFF RULES FORMAT [UNTIL] +-Zone America/Juneau 15:02:19 - LMT 1867 Oct 18 ++Zone America/Juneau 15:02:19 - LMT 1867 Oct 19 15:33:32 + -8:57:41 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -571,7 +585,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Sitka 14:58:47 - LMT 1867 Oct 18 ++Zone America/Sitka 14:58:47 - LMT 1867 Oct 19 15:30 + -9:01:13 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -579,7 +593,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 18 ++Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 19 15:44:55 + -8:46:18 - LMT 1900 Aug 20 12:00 + -8:00 - PST 1942 + -8:00 US P%sT 1946 +@@ -587,7 +601,7 @@ + -8:00 US P%sT 1983 Oct 30 2:00 + -8:00 - PST 2015 Nov 1 2:00 + -9:00 US AK%sT +-Zone America/Yakutat 14:41:05 - LMT 1867 Oct 18 ++Zone America/Yakutat 14:41:05 - LMT 1867 Oct 19 15:12:18 + -9:18:55 - LMT 1900 Aug 20 12:00 + -9:00 - YST 1942 + -9:00 US Y%sT 1946 +@@ -594,7 +608,7 @@ + -9:00 - YST 1969 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Anchorage 14:00:24 - LMT 1867 Oct 18 ++Zone America/Anchorage 14:00:24 - LMT 1867 Oct 19 14:31:37 + -9:59:36 - LMT 1900 Aug 20 12:00 + -10:00 - AST 1942 + -10:00 US A%sT 1967 Apr +@@ -602,7 +616,7 @@ + -10:00 US AH%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Nome 12:58:21 - LMT 1867 Oct 18 ++Zone America/Nome 12:58:22 - LMT 1867 Oct 19 13:29:35 + -11:01:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -611,7 +625,7 @@ + -11:00 US B%sT 1983 Oct 30 2:00 + -9:00 US Y%sT 1983 Nov 30 + -9:00 US AK%sT +-Zone America/Adak 12:13:21 - LMT 1867 Oct 18 ++Zone America/Adak 12:13:22 - LMT 1867 Oct 19 12:44:35 + -11:46:38 - LMT 1900 Aug 20 12:00 + -11:00 - NST 1942 + -11:00 US N%sT 1946 +@@ -647,7 +661,7 @@ + # "Hawaiian Time" by Robert C. Schmitt and Doak C. Cox appears on pages 207-225 + # of volume 26 of The Hawaiian Journal of History (1992). As of 2010-12-09, + # the article is available at +-# http://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf ++# https://evols.library.manoa.hawaii.edu/bitstream/10524/239/2/JL26215.pdf + # and indicates that standard time was adopted effective noon, January + # 13, 1896 (page 218), that in "1933, the Legislature decreed daylight + # saving for the period between the last Sunday of each April and the +@@ -746,7 +760,7 @@ + # Indiana + # + # For a map of Indiana's time zone regions, see: +-# http://en.wikipedia.org/wiki/Time_in_Indiana ++# https://en.wikipedia.org/wiki/Time_in_Indiana + # + # From Paul Eggert (2007-08-17): + # Since 1970, most of Indiana has been like America/Indiana/Indianapolis, +@@ -973,7 +987,7 @@ + # From Paul Eggert (2001-07-16): + # The final rule was published in the + # Federal Register 65, 160 (2000-08-17), pp 50154-50158. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=2000_register&docid=fr17au00-22 ++# https://www.gpo.gov/fdsys/pkg/FR-2000-08-17/html/00-20854.htm + # + Zone America/Kentucky/Monticello -5:39:24 - LMT 1883 Nov 18 12:20:36 + -6:00 US C%sT 1946 +@@ -999,7 +1013,7 @@ + # West Wendover, NV officially switched from Pacific to mountain time on + # 1999-10-31. See the + # Federal Register 64, 203 (1999-10-21), pp 56705-56707. +-# http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=1999_register&docid=fr21oc99-15 ++# https://www.gpo.gov/fdsys/pkg/FR-1999-10-21/html/99-27240.htm + # However, the Federal Register says that West Wendover already operated + # on mountain time, and the rule merely made this official; + # hence a separate tz entry is not needed. +@@ -1029,12 +1043,23 @@ + # one hour in 1914." This change is not in Shanks. We have no more + # info, so omit this for now. + # ++# From Paul Eggert (2017-07-26): ++# Although Shanks says Detroit observed DST in 1967 from 06-14 00:01 ++# until 10-29 00:01, I now see multiple reports that this is incorrect. ++# For example, according to a 50-year anniversary report about the 1967 ++# Detroit riots and a major-league doubleheader on 1967-07-23, "By the time ++# the last fly ball of the doubleheader settled into the glove of leftfielder ++# Lenny Green, it was after 7 p.m. Detroit did not observe daylight saving ++# time, so light was already starting to fail. Twilight was made even deeper ++# by billowing columns of smoke that ascended in an unbroken wall north of the ++# ballpark." See: Dow B. Detroit '67: As violence unfolded, Tigers played two ++# at home vs. Yankees. Detroit Free Press 2017-07-23. ++# https://www.freep.com/story/sports/mlb/tigers/2017/07/23/detroit-tigers-1967-riot-new-york-yankees/499951001/ ++# + # Most of Michigan observed DST from 1973 on, but was a bit late in 1975. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER + Rule Detroit 1948 only - Apr lastSun 2:00 1:00 D + Rule Detroit 1948 only - Sep lastSun 2:00 0 S +-Rule Detroit 1967 only - Jun 14 2:00 1:00 D +-Rule Detroit 1967 only - Oct lastSun 2:00 0 S + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Detroit -5:32:11 - LMT 1905 + -6:00 - CST 1915 May 15 2:00 +@@ -1098,7 +1123,7 @@ + # [PDF] (1914-03) + # + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94 +-# . ++# . + # + # See the 'europe' file for Greenland. + +@@ -1144,19 +1169,19 @@ + # The British Columbia government announced yesterday that it will + # adjust daylight savings next year to align with changes in the + # U.S. and the rest of Canada.... +-# http://www2.news.gov.bc.ca/news_releases_2005-2009/2006AG0014-000330.htm ++# https://archive.news.gov.bc.ca/releases/news_releases_2005-2009/2006AG0014-000330.htm + # ... + # Nova Scotia + # Daylight saving time will be extended by four weeks starting in 2007.... +-# http://www.gov.ns.ca/just/regulations/rg2/2006/ma1206.pdf ++# https://www.novascotia.ca/just/regulations/rg2/2006/ma1206.pdf + # + # [For New Brunswick] the new legislation dictates that the time change is to + # be done at 02:00 instead of 00:01. +-# http://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf ++# https://www.gnb.ca/0062/acts/BBA-2006/Chap-19.pdf + # ... + # Manitoba has traditionally changed the clock every fall at 03:00. + # As of 2006, the transition is to take place one hour earlier at 02:00. +-# http://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php ++# https://web2.gov.mb.ca/laws/statutes/ccsm/o030e.php + # ... + # [Alberta, Ontario, Quebec] will follow US rules. + # http://www.qp.gov.ab.ca/documents/spring/CH03_06.CFM +@@ -1170,7 +1195,7 @@ + # http://www.hoa.gov.nl.ca/hoa/bills/Bill0634.htm + # ... + # Yukon +-# http://www.gov.yk.ca/legislation/regs/oic2006_127.pdf ++# https://www.gov.yk.ca/legislation/regs/oic2006_127.pdf + # ... + # N.W.T. will follow US rules. Whoever maintains the government web site + # does not seem to believe in bookmarks. To see the news release, click the +@@ -1191,8 +1216,8 @@ + # time and daylight saving time arrangements in Canada circa 1998. + # + # National Research Council Canada maintains info about time zones and DST. +-# http://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html +-# http://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 ++# https://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html ++# https://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 + # Its unofficial information is often taken from Matthews and Vincent. + + # From Paul Eggert (2006-06-27): +@@ -1229,11 +1254,13 @@ + + # Newfoundland and Labrador + +-# From Paul Eggert (2000-10-02): +-# Matthews and Vincent (1998) write that Labrador should use NST/NDT, +-# but the only part of Labrador that follows the rules is the +-# southeast corner, including Port Hope Simpson and Mary's Harbour, +-# but excluding, say, Black Tickle. ++# From Paul Eggert (2017-10-14): ++# Legally Labrador should observe Newfoundland time; see: ++# McLeod J. Labrador time - legal or not? St. John's Telegram, 2017-10-07 ++# http://www.thetelegram.com/news/local/labrador-time--legal-or-not-154860/ ++# Matthews and Vincent (1998) write that the only part of Labrador ++# that follows the rules is the southeast corner, including Port Hope ++# Simpson and Mary's Harbour, but excluding, say, Black Tickle. + + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S + Rule StJohns 1917 only - Apr 8 2:00 1:00 D +@@ -1433,7 +1460,7 @@ + # http://www.justice.gouv.qc.ca/english/publications/generale/temps-minganie-a.htm + # that the coastal strip from just east of Natashquan to Blanc-Sablon + # observes Atlantic standard time all year round. +-# http://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en ++# https://www.assnat.qc.ca/Media/Process.aspx?MediaId=ANQ.Vigie.Bll.DocumentGenerique_8845en + # says this common practice was codified into law as of 2007. + # For lack of better info, guess this practice began around 1970, contra to + # Shanks & Pottenger who have this region observing AST/ADT. +@@ -1465,6 +1492,11 @@ + # earlier in June). + # + # Kenora, Ontario, was to abandon DST on 1914-06-01 (-05-21). ++# ++# From Paul Eggert (2017-07-08): ++# For more on Orillia, see: Daubs K. Bold attempt at daylight saving ++# 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 +@@ -1956,7 +1988,7 @@ + # * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68, + # c. 7 defines Yukon standard time as UTC-9.... + # see Interpretation Act, R.S.C. 1985, c. I-21, s. 35(1). +-# [http://canlii.ca/t/7vhg] ++# [https://www.canlii.org/en/ca/laws/stat/rsc-1985-c-i-21/latest/rsc-1985-c-i-21.html] + # * C.O. 1973/214 switched Yukon to PST on 1973-10-28 00:00. + # * O.I.C. 1980/02 established DST. + # * O.I.C. 1987/056 changed DST to Apr firstSun 2:00 to Oct lastSun 2:00. +@@ -2021,7 +2053,7 @@ + # hours behind Greenwich Time. + # + # * Yukon Standard Time defined as Pacific Standard Time, YCO 1973/214 +-# http://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html ++# https://www.canlii.org/en/yk/laws/regu/yco-1973-214/latest/yco-1973-214.html + # C.O. 1973/214 INTERPRETATION ACT ... + # + # 1. Effective October 28, 1973 Commissioner's Order 1967/59 is hereby +@@ -2036,7 +2068,7 @@ + # http://? - no online source found + # + # * Yukon Daylight Saving Time, YOIC 1987/56 +-# http://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-1987-56/latest/yoic-1987-56.html + # O.I.C. 1987/056 INTERPRETATION ACT ... + # + # In every year between +@@ -2048,7 +2080,7 @@ + # Dated ... 9th day of March, A.D., 1987. + # + # * Yukon Daylight Saving Time 2006, YOIC 2006/127 +-# http://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html ++# https://www.canlii.org/en/yk/laws/regu/yoic-2006-127/latest/yoic-2006-127.html + # O.I.C. 2006/127 INTERPRETATION ACT ... + # + # 1. In Yukon each year the time for general purposes shall be 7 hours +@@ -2062,7 +2094,7 @@ + # 3. This order comes into force January 1, 2007. + # + # * Interpretation Act, RSY 2002, c 125 +-# http://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html ++# https://www.canlii.org/en/yk/laws/stat/rsy-2002-c-125/latest/rsy-2002-c-125.html + + # From Rives McDow (1999-09-04): + # Nunavut ... moved ... to incorporate the whole territory into one time zone. +@@ -2105,7 +2137,7 @@ + + # From Michaela Rodrigue, writing in the + # Nunatsiaq News (1999-11-19): +-# http://www.nunatsiaq.com/archives/nunavut991130/nvt91119_17.html ++# http://www.nunatsiaqonline.ca/archives/nunavut991130/nvt91119_17.html + # Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones, + # central - or Nunavut time - for government offices, and eastern time + # for municipal offices and schools.... Igloolik [was similar but then] +@@ -2123,7 +2155,7 @@ + # Central Time and Southampton Island [in the Central zone] is not + # required to use daylight savings. + +-# From ++# From + # Nunavut now has two time zones (2000-11-10): + # The Nunavut government would allow its employees in Kugluktuk and + # Cambridge Bay to operate on central time year-round, putting them +@@ -2454,7 +2486,7 @@ + # http://gaceta.diputados.gob.mx/Gaceta/61/2009/dic/V2-101209.html + # + # Our page: +-# http://www.timeanddate.com/news/time/north-mexico-dst-change.html ++# https://www.timeanddate.com/news/time/north-mexico-dst-change.html + + # From Arthur David Olson (2010-01-20): + # The page +@@ -2873,7 +2905,7 @@ + # http://www.nnc.cubaweb.cu/marzo-2008/cien-1-11-3-08.htm + # + # Some more background information is posted here: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-march-16.html + # + # The article also says that Cuba has been observing DST since 1963, + # while Shanks (and tzdata) has 1965 as the first date (except in the +@@ -2920,7 +2952,7 @@ + # http://granma.co.cu/2011/03/08/nacional/artic01.html + # + # Our info: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2011.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2011.html + # + # From Steffen Thorsen (2011-10-30) + # Cuba will end DST two weeks later this year. Instead of going back +@@ -2930,7 +2962,7 @@ + # http://www.radioangulo.cu/noticias/cuba/17105-cuba-restablecera-el-horario-del-meridiano-de-greenwich.html + # + # Our page: +-# http://www.timeanddate.com/news/time/cuba-time-changes-2011.html ++# https://www.timeanddate.com/news/time/cuba-time-changes-2011.html + # + # From Steffen Thorsen (2012-03-01) + # According to Radio Reloj, Cuba will start DST on Midnight between March +@@ -2940,7 +2972,7 @@ + # http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril + # + # Our info on it: +-# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html ++# https://www.timeanddate.com/news/time/cuba-starts-dst-2012.html + + # From Steffen Thorsen (2012-11-03): + # Radio Reloj and many other sources report that Cuba is changing back +@@ -3135,8 +3167,8 @@ + # From Steffen Thorsen (2016-03-12): + # Jean Antoine, editor of www.haiti-reference.com informed us that Haiti + # are not going on DST this year. Several other resources confirm this: ... +-# http://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html +-# http://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ ++# https://www.radiotelevisioncaraibes.com/presse/heure_d_t_pas_de_changement_d_heure_pr_vu_pour_cet_ann_e.html ++# https://www.vantbefinfo.com/changement-dheure-pas-pour-haiti/ + # http://news.anmwe.com/haiti-lheure-nationale-ne-sera-ni-avancee-ni-reculee-cette-annee/ + + # From Steffen Thorsen (2017-03-12): +@@ -3335,7 +3367,7 @@ + # Turks and Caicos + # + # From Chris Dunn in +-# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=415007 ++# https://bugs.debian.org/415007 + # (2007-03-15): In the Turks & Caicos Islands (America/Grand_Turk) the + # daylight saving dates for time changes have been adjusted to match + # the recent U.S. change of dates. +@@ -3357,12 +3389,25 @@ + # "permanent daylight saving time" by one year.... + # http://tcweeklynews.com/time-change-to-go-ahead-this-november-p5437-127.htm + # ++# From the Turks & Caicos Cabinet (2017-07-20), heads-up from Steffen Thorsen: ++# ... agreed to the reintroduction in TCI of Daylight Saving Time (DST) ++# during the summer months and Standard Time, also known as Local ++# Time, during the winter months with effect from April 2018 ... ++# https://www.gov.uk/government/news/turks-and-caicos-post-cabinet-meeting-statement--3 ++# ++# From Paul Eggert (2017-08-26): ++# The date of effect of the spring 2018 change appears to be March 11, ++# which makes more sense. See: Hamilton D. Time change back ++# by March 2018 for TCI. Magnetic Media. 2017-08-25. ++# http://magneticmediatv.com/2017/08/time-change-back-by-march-2018-for-tci/ ++# + # Zone NAME GMTOFF RULES FORMAT [UNTIL] + Zone America/Grand_Turk -4:44:32 - LMT 1890 + -5:07:11 - KMT 1912 Feb # Kingston Mean Time + -5:00 - EST 1979 + -5:00 US E%sT 2015 Nov Sun>=1 2:00 +- -4:00 - AST ++ -4:00 - AST 2018 Mar 11 3:00 ++ -5:00 US E%sT + + # British Virgin Is + # Virgin Is +--- contrib/tzdata/southamerica.orig ++++ contrib/tzdata/southamerica +@@ -22,7 +22,7 @@ + # + # For data circa 1899, a common source is: + # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. +-# http://www.jstor.org/stable/1774359 ++# https://www.jstor.org/stable/1774359 + # + # These tables use numeric abbreviations like -03 and -0330 for + # integer hour and minute UTC offsets. Although earlier editions used +@@ -265,8 +265,8 @@ + # + # Es inminente que en San Luis atrasen una hora los relojes + # (It is imminent in San Luis clocks one hour delay) +-# http://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html +-# http://www.worldtimezone.net/dst_news/dst_news_argentina02.html ++# https://www.lagaceta.com.ar/nota/253414/Economia/Es-inminente-que-en-San-Luis-atrasen-una-hora-los-relojes.html ++# http://www.worldtimezone.com/dst_news/dst_news_argentina02.html + + # From Jesper Nørgaard Welen (2008-01-18): + # The page of the San Luis provincial government +@@ -385,7 +385,7 @@ + # Perhaps San Luis operates on the legal fiction that it is at -04 + # with perpetual summer time, but ordinary usage typically seems to + # just say it's at -03; see, for example, +-# http://es.wikipedia.org/wiki/Hora_oficial_argentina ++# https://es.wikipedia.org/wiki/Hora_oficial_argentina + # We've documented similar situations as being plain changes to + # standard time, so let's do that here too. This does not change UTC + # offsets, only tm_isdst and the time zone abbreviations. One minor +@@ -716,7 +716,7 @@ + # (Portuguese) + # + # We have a written a short article about it as well: +-# http://www.timeanddate.com/news/time/brazil-dst-2008-2009.html ++# https://www.timeanddate.com/news/time/brazil-dst-2008-2009.html + # + # From Alexander Krivenyshev (2011-10-04): + # State Bahia will return to Daylight savings time this year after 8 years off. +@@ -725,7 +725,7 @@ + + # In Portuguese: + # http://g1.globo.com/bahia/noticia/2011/10/governador-jaques-wagner-confirma-horario-de-verao-na-bahia.html +-# http://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI5390887-EI8139,00-Bahia+volta+a+ter+horario+de+verao+apos+oito+anos.html + + # From Guilherme Bernardes Rodrigues (2011-10-07): + # There is news in the media, however there is still no decree about it. +@@ -751,16 +751,16 @@ + + # From Rodrigo Severo (2012-10-16): + # Tocantins state will have DST. +-# http://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html ++# https://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html + + # From Steffen Thorsen (2013-09-20): + # Tocantins in Brazil is very likely not to observe DST from October.... + # http://conexaoto.com.br/2013/09/18/ministerio-confirma-que-tocantins-esta-fora-do-horario-de-verao-em-2013-mas-falta-publicacao-de-decreto + # We will keep this article updated when this is confirmed: +-# http://www.timeanddate.com/news/time/brazil-starts-dst-2013.html ++# https://www.timeanddate.com/news/time/brazil-starts-dst-2013.html + + # From Steffen Thorsen (2013-10-17): +-# http://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html ++# https://www.timeanddate.com/news/time/acre-amazonas-change-time-zone.html + # Senator Jorge Viana announced that Acre will change time zone on November 10. + # He did not specify the time of the change, nor if western parts of Amazonas + # will change as well. +@@ -1076,18 +1076,18 @@ + # the following source, cited by Oscar van Vlijmen (2006-10-08): + # [1] Chile Law + # http://www.webexhibits.org/daylightsaving/chile.html +-# This contains a copy of a this official table: ++# This contains a copy of this official table: + # Cambios en la hora oficial de Chile desde 1900 (retrieved 2008-03-30) +-# http://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm ++# https://web.archive.org/web/20080330200901/http://www.horaoficial.cl/cambio.htm + # [1] needs several corrections, though. + # + # The first set of corrections is from: + # [2] History of the Official Time of Chile + # http://www.horaoficial.cl/ing/horaof_ing.html (retrieved 2012-03-06). See: +-# http://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html ++# https://web.archive.org/web/20120306042032/http://www.horaoficial.cl/ing/horaof_ing.html + # This is an English translation of: + # Historia de la hora oficial de Chile (retrieved 2012-10-24). See: +-# http://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm ++# https://web.archive.org/web/20121024234627/http://www.horaoficial.cl/horaof.htm + # A fancier Spanish version (requiring mouse-clicking) is at: + # http://www.horaoficial.cl/historia_hora.html + # Conflicts between [1] and [2] were resolved as follows: +@@ -1363,10 +1363,10 @@ + # Milne says the Central and South American Telegraph Company used -5:24:15. + # + # From Alois Treindl (2016-12-15): +-# http://www.elcomercio.com/actualidad/hora-sixto-1993.html ++# https://www.elcomercio.com/actualidad/hora-sixto-1993.html + # ... Whether the law applied also to Galápagos, I do not know. + # From Paul Eggert (2016-12-15): +-# http://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html ++# https://www.elcomercio.com/afull/modificacion-husohorario-ecuador-presidentes-decreto.html + # This says President Sixto Durán Ballén signed decree No. 285, which + # established DST from 1992-11-28 to 1993-02-05; it does not give transition + # times. The people called it "hora de Sixto" ("Sixto hour"). The change did +@@ -1778,7 +1778,7 @@ + # hours of presidential broadcasts, hours of lines,' quipped comedian + # Jean Mary Curró ...". See: Cawthorne A, Kai D. Venezuela scraps + # half-hour time difference set by Chavez. Reuters 2016-04-15 14:50 -0400 +-# http://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE ++# https://www.reuters.com/article/us-venezuela-timezone-idUSKCN0XC2BE + # + # From Matt Johnson (2016-04-20): + # ... published in the official Gazette [2016-04-18], here: +--- contrib/tzdata/theory.html.orig ++++ contrib/tzdata/theory.html +@@ -0,0 +1,1034 @@ ++ ++ ++ ++ Theory and pragmatics of the tz code and data ++ ++ ++ ++ ++ ++ ++

Theory and pragmatics of the tz code and data

++

Outline

++ ++ ++ ++
++

Scope of the tz database

++

++The tz database attempts to record the history and predicted future of ++all computer-based clocks that track civil time. To represent this ++data, the world is partitioned into regions whose clocks all agree ++about timestamps that occur after the somewhat-arbitrary cutoff point ++of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, ++the database records all known clock transitions, and labels the region ++with a notable 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. ++

++ ++

++Clock transitions before 1970 are recorded for each such location, ++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 ++applications requiring accurate handling of all past times everywhere, ++as it would take far too much effort and guesswork to record all ++details of pre-1970 civil timekeeping. ++

++ ++

++As described below, reference source code for using the tz database is ++also available. The tz code is upwards compatible with POSIX, an ++international standard for UNIX-like systems. As of this writing, the ++current edition of POSIX is: ++ ++ The Open Group Base Specifications Issue 7, ++ IEEE Std 1003.1-2008, 2016 Edition. ++

++
++ ++ ++ ++
++

Names of time zone rules

++

++Each of the database's time zone rules has a unique name. ++Inexperienced users are not expected to select these names unaided. ++Distributors should provide documentation and/or a simple selection ++interface that explains the names; for one example, see the 'tzselect' ++program in the tz code. The ++Unicode Common Locale Data ++Repository contains data that may be useful for other ++selection interfaces. ++

++ ++

++The time zone rule naming conventions attempt to strike a balance ++among the following goals: ++

++
    ++
  • ++ Uniquely identify every region where clocks have agreed since 1970. ++ This is essential for the intended use: static clocks keeping local ++ civil time. ++
  • ++
  • ++ Indicate to experts where that region is. ++
  • ++
  • ++ Be robust in the presence of political changes. For example, names ++ of countries are ordinarily not used, to avoid incompatibilities ++ when countries change their name (e.g. Zaire→Congo) or when ++ locations change countries (e.g. Hong Kong from UK colony to ++ China). ++
  • ++
  • ++ Be portable to a wide variety of implementations. ++
  • ++
  • ++ Use a consistent naming conventions over the entire world. ++
  • ++
++

++Names normally have the ++form AREA/LOCATION, ++where AREA is the name of a continent or ocean, ++and LOCATION is the name of a specific ++location within that region. North and South America share the same ++area, 'America'. Typical names are ++'Africa/Cairo', 'America/New_York', and ++'Pacific/Honolulu'. ++

++ ++

++Here are the general rules used for choosing location names, ++in decreasing order of importance: ++

++
    ++
  • ++ Use only valid POSIX file name components (i.e., the parts of ++ names other than '/'). Do not use the file name ++ components '.' and '..'. ++ Within a file name component, ++ use only ASCII letters, '.', ++ '-' and '_'. Do not use ++ digits, as that might create an ambiguity with POSIX ++ TZ strings. A file name component must not exceed 14 ++ characters or start with '-'. E.g., ++ prefer 'Brunei' to ++ 'Bandar_Seri_Begawan'. Exceptions: see ++ the discussion ++ of legacy names below. ++
  • ++
  • ++ A name must not be empty, or contain '//', or ++ start or end with '/'. ++
  • ++
  • ++ Do not use names that differ only in case. Although the reference ++ implementation is case-sensitive, some other implementations ++ are not, and they would mishandle names differing only in case. ++
  • ++
  • ++ If one name A is an initial prefix of another ++ name AB (ignoring case), then B ++ must not start with '/', as a ++ regular file cannot have ++ the same name as a directory in POSIX. For example, ++ 'America/New_York' precludes ++ 'America/New_York/Bronx'. ++
  • ++
  • ++ Uninhabited regions like the North Pole and Bouvet Island ++ do not need locations, since local time is not defined there. ++
  • ++
  • ++ There should typically be at least one name for each ISO 3166-1 ++ officially assigned two-letter code for an inhabited country ++ or territory. ++
  • ++
  • ++ If all the clocks in a region have agreed since 1970, ++ don't bother to include more than one location ++ even if subregions' clocks disagreed before 1970. ++ Otherwise these tables would become annoyingly large. ++
  • ++
  • ++ If a name is ambiguous, use a less ambiguous alternative; ++ e.g. many cities are named San José and Georgetown, so ++ prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. ++
  • ++
  • ++ Keep locations compact. Use cities or small islands, not countries ++ or regions, so that any future time zone changes do not split ++ locations into different time zones. E.g. prefer ++ 'Paris' to 'France', since ++ France has had multiple time zones. ++
  • ++
  • ++ Use mainstream English spelling, e.g. prefer ++ 'Rome' to 'Roma', and prefer ++ 'Athens' to the Greek ++ 'Αθήνα' or the Romanized ++ 'Athína'. ++ The POSIX file name restrictions encourage this rule. ++
  • ++
  • ++ Use the most populous among locations in a zone, ++ e.g. prefer 'Shanghai' to ++ 'Beijing'. Among locations with ++ similar populations, pick the best-known location, ++ e.g. prefer 'Rome' to 'Milan'. ++
  • ++
  • ++ Use the singular form, e.g. prefer 'Canary' to 'Canaries'. ++
  • ++
  • ++ Omit common suffixes like '_Islands' and ++ '_City', unless that would lead to ++ ambiguity. E.g. prefer 'Cayman' to ++ 'Cayman_Islands' and ++ 'Guatemala' to ++ 'Guatemala_City', but prefer ++ 'Mexico_City' to 'Mexico' ++ because the country ++ of Mexico has several time zones. ++
  • ++
  • ++ Use '_' to represent a space. ++
  • ++
  • ++ Omit '.' from abbreviations in names, e.g. prefer ++ 'St_Helena' to 'St._Helena'. ++
  • ++
  • ++ Do not change established names if they only marginally ++ violate the above rules. For example, don't change ++ the existing name 'Rome' to ++ 'Milan' merely because ++ Milan's population has grown to be somewhat greater ++ than Rome's. ++
  • ++
  • ++ If a name is changed, put its old spelling in the ++ 'backward' file. ++ This means old spellings will continue to work. ++
  • ++
++ ++

++The file 'zone1970.tab' lists geographical locations used ++to name time ++zone rules. It is intended to be an exhaustive list of names for ++geographic regions as described above; this is a subset of the names ++in the data. Although a 'zone1970.tab' location's longitude ++corresponds to its LMT offset with one hour for every 15 degrees east ++longitude, this relationship is not exact. ++

++ ++

++Older versions of this package used a different naming scheme, ++and these older names are still supported. ++See the file 'backward' for most of these older names ++(e.g., 'US/Eastern' instead of 'America/New_York'). ++The other old-fashioned names still supported are ++'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). ++

++ ++

++Older versions of this package defined legacy names that are ++incompatible with the first rule of location names, but which are ++still supported. These legacy names are mostly defined in the file ++'etcetera'. Also, the file 'backward' defines the legacy names ++'GMT0', 'GMT-0' and 'GMT+0', and the file 'northamerica' defines the ++legacy names 'EST5EDT', 'CST6CDT', 'MST7MDT', and 'PST8PDT'. ++

++ ++

++Excluding 'backward' should not affect the other data. If ++'backward' is excluded, excluding 'etcetera' should not affect the ++remaining data. ++

++ ++ ++
++
++

Time zone abbreviations

++

++When this package is installed, it generates time zone abbreviations ++like 'EST' to be compatible with human tradition and POSIX. ++Here are the general rules used for choosing time zone abbreviations, ++in decreasing order of importance: ++

    ++
  • ++ Use three or more characters that are ASCII alphanumerics or ++ '+' or '-'. ++ Previous editions of this database also used characters like ++ ' ' and '?', but these ++ characters have a special meaning to ++ the shell and cause commands like ++ 'set `date`' ++ to have unexpected effects. ++ Previous editions of this rule required upper-case letters, ++ but the Congressman who introduced Chamorro Standard Time ++ preferred "ChST", so lower-case letters are now allowed. ++ Also, POSIX from 2001 on relaxed the rule to allow ++ '-', '+', ++ and alphanumeric characters from the portable character set ++ in the current locale. In practice ASCII alphanumerics and ++ '+' and '-' are safe in all locales. ++ ++ In other words, in the C locale the POSIX extended regular ++ expression [-+[:alnum:]]{3,} should match ++ the abbreviation. ++ This guarantees that all abbreviations could have been ++ specified by a POSIX TZ string. ++
  • ++
  • ++ Use abbreviations that are in common use among English-speakers, ++ e.g. 'EST' for Eastern Standard Time in North America. ++ We assume that applications translate them to other languages ++ as part of the normal localization process; for example, ++ a French application might translate 'EST' to 'HNE'. ++
  • ++
  • ++ For zones whose times are taken from a city's longitude, use the ++ traditional xMT notation, e.g. 'PMT' for ++ Paris Mean Time. ++ The only name like this in current use is 'GMT'. ++
  • ++
  • ++ Use 'LMT' for local mean time of locations before the introduction ++ of standard time; see "Scope of the ++ tz database". ++
  • ++
  • ++ If there is no common English abbreviation, use numeric offsets like ++ -05 and +0830 that are ++ generated by zic's %z notation. ++
  • ++
  • ++ Use current abbreviations for older timestamps to avoid confusion. ++ For example, in 1910 a common English abbreviation for UT +01 ++ in central Europe was 'MEZ' (short for both "Middle European ++ Zone" and for "Mitteleuropäische Zeit" in German). Nowadays ++ 'CET' ("Central European Time") is more common in English, and ++ the database uses 'CET' even for circa-1910 timestamps as this ++ is less confusing for modern users and avoids the need for ++ determining when 'CET' supplanted 'MEZ' in common usage. ++
  • ++
  • ++ Use a consistent style in a zone's history. For example, if a zone's ++ history tends to use numeric abbreviations and a particular ++ entry could go either way, use a numeric abbreviation. ++
  • ++
++ [The remaining guidelines predate the introduction of %z. ++ They are problematic as they mean tz data entries invent ++ notation rather than record it. These guidelines are now ++ deprecated and the plan is to gradually move to %z for ++ inhabited locations and to "-00" for uninhabited locations.] ++
    ++
  • ++ If there is no common English abbreviation, abbreviate the English ++ translation of the usual phrase used by native speakers. ++ If this is not available or is a phrase mentioning the country ++ (e.g. "Cape Verde Time"), then: ++
      ++
    • ++ When a country is identified with a single or principal zone, ++ append 'T' to the country's ISO code, e.g. 'CVT' for ++ Cape Verde Time. For summer time append 'ST'; ++ for double summer time append 'DST'; etc. ++
    • ++
    • ++ Otherwise, take the first three letters of an English place ++ name identifying each zone and append 'T', 'ST', etc. ++ as before; e.g. 'CHAST' for CHAtham Summer Time. ++
    • ++
    ++
  • ++
  • ++ Use UT (with time zone abbreviation '-00') for ++ locations while uninhabited. The leading ++ '-' is a flag that the time ++ zone is in some sense undefined; this notation is ++ derived from Internet RFC 3339. ++
  • ++
++

++Application writers should note that these abbreviations are ambiguous ++in practice: e.g. 'CST' has a different meaning in China than ++it does in the United States. In new applications, it's often better ++to use numeric UT offsets like '-0600' instead of time zone ++abbreviations like 'CST'; this avoids the ambiguity. ++

++
++ ++ ++
++

Accuracy of the tz database

++

++The tz database is not authoritative, and it surely has errors. ++Corrections are welcome and encouraged; see the file CONTRIBUTING. ++Users requiring authoritative data should consult national standards ++bodies and the references cited in the database's comments. ++

++ ++

++Errors in the tz database arise from many sources: ++

++
    ++
  • ++ The tz database predicts future timestamps, and current predictions ++ will be incorrect after future governments change the rules. ++ For example, if today someone schedules a meeting for 13:00 next ++ October 1, Casablanca time, and tomorrow Morocco changes its ++ daylight saving rules, software can mess up after the rule change ++ if it blithely relies on conversions made before the change. ++
  • ++
  • ++ The pre-1970 entries in this database cover only a tiny sliver of how ++ clocks actually behaved; the vast majority of the necessary ++ information was lost or never recorded. Thousands more zones would ++ be needed if the tz database's scope were extended to cover even ++ just the known or guessed history of standard time; for example, ++ the current single entry for France would need to split into dozens ++ of entries, perhaps hundreds. And in most of the world even this ++ approach would be misleading due to widespread disagreement or ++ indifference about what times should be observed. In her 2015 book ++ The Global Transformation of Time, 1870-1950, Vanessa Ogle writes ++ "Outside of Europe and North America there was no system of time ++ zones at all, often not even a stable landscape of mean times, ++ prior to the middle decades of the twentieth century". See: ++ Timothy Shenk, Booked: ++ A Global History of Time. Dissent 2015-12-17. ++
  • ++
  • ++ Most of the pre-1970 data entries come from unreliable sources, often ++ astrology books that lack citations and whose compilers evidently ++ invented entries when the true facts were unknown, without ++ reporting which entries were known and which were invented. ++ These books often contradict each other or give implausible entries, ++ and on the rare occasions when they are checked they are ++ typically found to be incorrect. ++
  • ++
  • ++ For the UK the tz database relies on years of first-class work done by ++ Joseph Myers and others; see ++ "History of ++ legal time in Britain". ++ Other countries are not done nearly as well. ++
  • ++
  • ++ Sometimes, different people in the same city would maintain clocks ++ that differed significantly. Railway time was used by railroad ++ companies (which did not always agree with each other), ++ church-clock time was used for birth certificates, etc. ++ Often this was merely common practice, but sometimes it was set by law. ++ For example, from 1891 to 1911 the UT offset in France was legally ++ 0:09:21 outside train stations and 0:04:21 inside. ++
  • ++
  • ++ Although a named location in the tz database stands for the ++ containing region, its pre-1970 data entries are often accurate for ++ only a small subset of that region. For example, Europe/London ++ stands for the United Kingdom, but its pre-1847 times are valid ++ only for locations that have London's exact meridian, and its 1847 ++ transition to GMT is known to be valid only for the L&NW and the ++ Caledonian railways. ++
  • ++
  • ++ The tz database does not record the earliest time for which a zone's ++ data entries are thereafter valid for every location in the region. ++ For example, Europe/London is valid for all locations in its ++ region after GMT was made the standard time, but the date of ++ standardization (1880-08-02) is not in the tz database, other than ++ in commentary. For many zones the earliest time of validity is ++ unknown. ++
  • ++
  • ++ The tz database does not record a region's boundaries, and in many ++ cases the boundaries are not known. For example, the zone ++ America/Kentucky/Louisville represents a region around ++ the city of ++ Louisville, the boundaries of which are unclear. ++
  • ++
  • ++ Changes that are modeled as instantaneous transitions in the tz ++ database were often spread out over hours, days, or even decades. ++
  • ++
  • ++ Even if the time is specified by law, locations sometimes ++ deliberately flout the law. ++
  • ++
  • ++ Early timekeeping practices, even assuming perfect clocks, were ++ often not specified to the accuracy that the tz database requires. ++
  • ++
  • ++ Sometimes historical timekeeping was specified more precisely ++ than what the tz database can handle. For example, from 1909 to ++ 1937 Netherlands clocks were legally UT +00:19:32.13, but the tz ++ database cannot represent the fractional second. ++
  • ++
  • ++ Even when all the timestamp transitions recorded by the tz database ++ are correct, the tz rules that generate them may not faithfully ++ reflect the historical rules. For example, from 1922 until World ++ War II the UK moved clocks forward the day following the third ++ Saturday in April unless that was Easter, in which case it moved ++ clocks forward the previous Sunday. Because the tz database has no ++ way to specify Easter, these exceptional years are entered as ++ separate tz Rule lines, even though the legal rules did not change. ++
  • ++
  • ++ The tz database models pre-standard time using the proleptic Gregorian ++ calendar and local mean time (LMT), but many people used other ++ calendars and other timescales. For example, the Roman Empire used ++ the Julian calendar, and had 12 varying-length daytime hours with a ++ non-hour-based system at night. ++
  • ++
  • ++ Early clocks were less reliable, and data entries do not represent ++ clock error. ++
  • ++
  • ++ The tz database assumes Universal Time (UT) as an origin, even ++ though UT is not standardized for older timestamps. In the tz ++ database commentary, UT denotes a family of time standards that ++ includes Coordinated Universal Time (UTC) along with other variants ++ such as UT1 and GMT, with days starting at midnight. Although UT ++ equals UTC for modern timestamps, UTC was not defined until 1960, ++ so commentary uses the more-general abbreviation UT for timestamps ++ that might predate 1960. Since UT, UT1, etc. disagree slightly, ++ and since pre-1972 UTC seconds varied in length, interpretation of ++ older timestamps can be problematic when subsecond accuracy is ++ needed. ++
  • ++
  • ++ Civil time was not based on atomic time before 1972, and we don't ++ know the history of earth's rotation accurately enough to map SI ++ seconds to historical solar time to more than about one-hour ++ accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY. ++ Measurement ++ of the Earth's rotation: 720 BC to AD 2015. ++ Proc Royal Soc A. 2016 Dec 7;472:20160404. ++ Also see: Espenak F. Uncertainty ++ in Delta T (ΔT). ++
  • ++
  • ++ The relationship between POSIX time (that is, UTC but ignoring leap ++ seconds) and UTC is not agreed upon after 1972. Although the POSIX ++ clock officially stops during an inserted leap second, at least one ++ proposed standard has it jumping back a second instead; and in ++ practice POSIX clocks more typically either progress glacially during ++ a leap second, or are slightly slowed while near a leap second. ++
  • ++
  • ++ The tz database does not represent how uncertain its information is. ++ Ideally it would contain information about when data entries are ++ incomplete or dicey. Partial temporal knowledge is a field of ++ active research, though, and it's not clear how to apply it here. ++
  • ++
++

++In short, many, perhaps most, of the tz database's pre-1970 and future ++timestamps are either wrong or misleading. Any attempt to pass the ++tz database off as the definition of time should be unacceptable to ++anybody who cares about the facts. In particular, the tz database's ++LMT offsets should not be considered meaningful, and should not prompt ++creation of zones merely because two locations differ in LMT or ++transitioned to standard time at different dates. ++

++
++ ++ ++
++

Time and date functions

++

++The tz code contains time and date functions that are upwards ++compatible with those of POSIX. ++

++ ++

++POSIX has the following properties and limitations. ++

++
    ++
  • ++

    ++ In POSIX, time display in a process is controlled by the ++ environment variable TZ. Unfortunately, the POSIX TZ string takes ++ a form that is hard to describe and is error-prone in practice. ++ Also, POSIX TZ strings can't deal with other (for example, Israeli) ++ daylight saving time rules, or situations where more than two ++ time zone abbreviations are used in an area. ++

    ++

    ++ The POSIX TZ string takes the following form: ++

    ++

    ++ stdoffset[dst[offset][,date[/time],date[/time]]] ++

    ++

    ++ where: ++

    ++
    std and dst
    ++ are 3 or more characters specifying the standard ++ and daylight saving time (DST) zone names. ++ Starting with POSIX.1-2001, std ++ and dst may also be ++ in a quoted form like '<UTC+10>'; this allows ++ "+" and "-" in the names. ++
    ++
    offset
    ++ is of the form ++ '[±]hh:[mm[:ss]]' ++ and specifies the offset west of UT. 'hh' ++ may be a single digit; 0≤hh≤24. ++ The default DST offset is one hour ahead of standard time. ++
    ++
    date[/time],date[/time]
    ++ specifies the beginning and end of DST. If this is absent, ++ the system supplies its own rules for DST, and these can ++ differ from year to year; typically US DST rules are used. ++
    ++
    time
    ++ takes the form ++ 'hh:[mm[:ss]]' ++ and defaults to 02:00. ++ This is the same format as the offset, except that a ++ leading '+' or '-' is not allowed. ++
    ++
    date
    ++ takes one of the following forms: ++
    ++
    Jn (1≤n≤365)
    ++ origin-1 day number not counting February 29 ++
    ++
    n (0≤n≤365)
    ++ origin-0 day number counting February 29 if present ++
    ++
    Mm.n.d (0[Sunday]≤d≤6[Saturday], 1≤n≤5, 1≤m≤12)
    ++ for the dth day of ++ week n of month m of the ++ year, where week 1 is the first week in which ++ day d appears, and '5' ++ stands for the last week in which ++ day d appears ++ (which may be either the 4th or 5th week). ++ Typically, this is the only useful form; ++ the n ++ and Jn forms are ++ rarely used. ++
    ++
    ++
    ++
    ++ Here is an example POSIX TZ string for New Zealand after 2007. ++ It says that standard time (NZST) is 12 hours ahead of UTC, ++ and that daylight saving time (NZDT) is observed from September's ++ last Sunday at 02:00 until April's first Sunday at 03:00: ++ ++
    TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'
    ++ ++ This POSIX TZ string is hard to remember, and mishandles some ++ timestamps before 2008. With this package you can use this ++ instead: ++ ++
    TZ='Pacific/Auckland'
    ++
  • ++
  • ++ POSIX does not define the exact meaning of TZ values like ++ "EST5EDT". ++ Typically the current US DST rules are used to interpret such values, ++ but this means that the US DST rules are compiled into each program ++ that does time conversion. This means that when US time conversion ++ rules change (as in the United States in 1987), all programs that ++ do time conversion must be recompiled to ensure proper results. ++
  • ++
  • ++ The TZ environment variable is process-global, which makes it hard ++ to write efficient, thread-safe applications that need access ++ to multiple time zones. ++
  • ++
  • ++ In POSIX, there's no tamper-proof way for a process to learn the ++ system's best idea of local wall clock. (This is important for ++ applications that an administrator wants used only at certain ++ times – ++ without regard to whether the user has fiddled the TZ environment ++ variable. While an administrator can "do everything in UTC" to get ++ around the problem, doing so is inconvenient and precludes handling ++ daylight saving time shifts - as might be required to limit phone ++ calls to off-peak hours.) ++
  • ++
  • ++ POSIX provides no convenient and efficient way to determine the UT ++ offset and time zone abbreviation of arbitrary timestamps, ++ particularly for time zone settings that do not fit into the ++ POSIX model. ++
  • ++
  • ++ POSIX requires that systems ignore leap seconds. ++
  • ++
  • ++ The tz code attempts to support all the time_t ++ implementations allowed by POSIX. The time_t ++ type represents a nonnegative count of ++ seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. ++ In practice, time_t is usually a signed 64- or ++ 32-bit integer; 32-bit signed time_t values stop ++ working after 2038-01-19 03:14:07 UTC, so ++ new implementations these days typically use a signed 64-bit integer. ++ Unsigned 32-bit integers are used on one or two platforms, ++ and 36-bit and 40-bit integers are also used occasionally. ++ Although earlier POSIX versions allowed time_t to be a ++ floating-point type, this was not supported by any practical ++ systems, and POSIX.1-2013 and the tz code both ++ require time_t ++ to be an integer type. ++
  • ++
++

++These are the extensions that have been made to the POSIX functions: ++

++
    ++
  • ++

    ++ The TZ environment variable is used in generating the name of a file ++ from which time zone information is read (or is interpreted a la ++ POSIX); TZ is no longer constrained to be a three-letter time zone ++ name followed by a number of hours and an optional three-letter ++ daylight time zone name. The daylight saving time rules to be used ++ for a particular time zone are encoded in the time zone file; ++ the format of the file allows U.S., Australian, and other rules to be ++ encoded, and allows for situations where more than two time zone ++ abbreviations are used. ++

    ++

    ++ It was recognized that allowing the TZ environment variable to ++ take on values such as 'America/New_York' might ++ cause "old" programs ++ (that expect TZ to have a certain form) to operate incorrectly; ++ consideration was given to using some other environment variable ++ (for example, TIMEZONE) to hold the string used to generate the ++ time zone information file name. In the end, however, it was decided ++ to continue using TZ: it is widely used for time zone purposes; ++ separately maintaining both TZ and TIMEZONE seemed a nuisance; ++ and systems where "new" forms of TZ might cause problems can simply ++ use TZ values such as "EST5EDT" which can be used both by ++ "new" programs (a la POSIX) and "old" programs (as zone names and ++ offsets). ++

    ++
  • ++
  • ++ The code supports platforms with a UT offset member ++ in struct tm, ++ e.g., tm_gmtoff. ++
  • ++
  • ++ The code supports platforms with a time zone abbreviation member in ++ struct tm, e.g., tm_zone. ++
  • ++
  • ++ Since the TZ environment variable can now be used to control time ++ conversion, the daylight ++ and timezone variables are no longer needed. ++ (These variables are defined and set by tzset; ++ however, their values will not be used ++ by localtime.) ++
  • ++
  • ++ Functions tzalloc, tzfree, ++ localtime_rz, and mktime_z for ++ more-efficient thread-safe applications that need to use ++ multiple time zones. The tzalloc ++ and tzfree functions allocate and free objects of ++ type timezone_t, and localtime_rz ++ and mktime_z are like localtime_r ++ and mktime with an extra ++ timezone_t argument. The functions were inspired ++ by NetBSD. ++
  • ++
  • ++ A function tzsetwall has been added to arrange ++ for the system's ++ best approximation to local wall clock time to be delivered by ++ subsequent calls to localtime. Source code for portable ++ applications that "must" run on local wall clock time should call ++ tzsetwall; if such code is moved to "old" systems that don't ++ provide tzsetwall, you won't be able to generate an executable program. ++ (These time zone functions also arrange for local wall clock time to be ++ used if tzset is called – directly or indirectly – ++ and there's no TZ ++ environment variable; portable applications should not, however, rely ++ on this behavior since it's not the way SVR2 systems behave.) ++
  • ++
  • ++ Negative time_t values are supported, on systems ++ where time_t is signed. ++
  • ++
  • ++ These functions can account for leap seconds, thanks to Bradley White. ++
  • ++
++

++Points of interest to folks with other systems: ++

++
    ++
  • ++ Code compatible with this package is already part of many platforms, ++ including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS, ++ BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris. ++ On such hosts, the primary use of this package ++ is to update obsolete time zone rule tables. ++ To do this, you may need to compile the time zone compiler ++ 'zic' supplied with this package instead of using ++ the system 'zic', since the format ++ of zic's input is occasionally extended, and a ++ platform may still be shipping an older zic. ++
  • ++
  • ++ The UNIX Version 7 timezone function is not ++ present in this package; ++ it's impossible to reliably map timezone's arguments (a "minutes west ++ of GMT" value and a "daylight saving time in effect" flag) to a ++ time zone abbreviation, and we refuse to guess. ++ Programs that in the past used the timezone function may now examine ++ localtime(&clock)->tm_zone ++ (if TM_ZONE is defined) or ++ tzname[localtime(&clock)->tm_isdst] ++ (if HAVE_TZNAME is defined) ++ to learn the correct time zone abbreviation to use. ++
  • ++
  • ++ The 4.2BSD gettimeofday function is not used in ++ this package. ++ This formerly let users obtain the current UTC offset and DST flag, ++ but this functionality was removed in later versions of BSD. ++
  • ++
  • ++ In SVR2, time conversion fails for near-minimum or near-maximum ++ time_t values when doing conversions for places ++ that don't use UT. ++ This package takes care to do these conversions correctly. ++ A comment in the source code tells how to get compatibly wrong ++ results. ++
  • ++
++

++The functions that are conditionally compiled ++if STD_INSPIRED is defined ++should, at this point, be looked on primarily as food for thought. They are ++not in any sense "standard compatible" – some are not, in fact, ++specified in any standard. They do, however, represent responses of ++various authors to ++standardization proposals. ++

++ ++

++Other time conversion proposals, in particular the one developed by folks at ++Hewlett Packard, offer a wider selection of functions that provide capabilities ++beyond those provided here. The absence of such functions from this package ++is not meant to discourage the development, standardization, or use of such ++functions. Rather, their absence reflects the decision to make this package ++contain valid extensions to POSIX, to ensure its broad acceptability. If ++more powerful time conversion functions can be standardized, so much the ++better. ++

++
++ ++ ++
++

Interface stability

++

++The tz code and data supply the following interfaces: ++

++
    ++
  • ++ A set of zone names as per "Names of time zone ++ rules" above. ++
  • ++
  • ++ Library functions described in "Time and date ++ functions" above. ++
  • ++
  • ++ The programs tzselect, zdump, ++ and zic, documented in their man pages. ++
  • ++
  • ++ The format of zic input files, documented in ++ the zic man page. ++
  • ++
  • ++ The format of zic output files, documented in ++ the tzfile man page. ++
  • ++
  • ++ The format of zone table files, documented in zone1970.tab. ++
  • ++
  • ++ The format of the country code file, documented in iso3166.tab. ++
  • ++
  • ++ The version number of the code and data, as the first line of ++ the text file 'version' in each release. ++
  • ++
++

++Interface changes in a release attempt to preserve compatibility with ++recent releases. For example, tz data files typically do not rely on ++recently-added zic features, so that users can run ++older zic versions to process newer data ++files. Sources for time zone and daylight ++saving time data describes how ++releases are tagged and distributed. ++

++ ++

++Interfaces not listed above are less stable. For example, users ++should not rely on particular UT offsets or abbreviations for ++timestamps, as data entries are often based on guesswork and these ++guesses may be corrected or improved. ++

++
++ ++ ++
++

Calendrical issues

++

++Calendrical issues are a bit out of scope for a time zone database, ++but they indicate the sort of problems that we would run into if we ++extended the time zone database further into the past. An excellent ++resource in this area is Nachum Dershowitz and Edward M. Reingold, ++Calendrical ++Calculations: Third Edition, Cambridge University Press (2008). ++Other information and sources are given in the file 'calendars' ++in the tz distribution. They sometimes disagree. ++

++
++ ++ ++
++

Time and time zones on other planets

++

++Some people's work schedules use Mars time. Jet Propulsion Laboratory ++(JPL) coordinators have kept Mars time on and off at least since 1997 ++for the Mars Pathfinder mission. Some of their family members have ++also adapted to Mars time. Dozens of special Mars watches were built ++for JPL workers who kept Mars time during the Mars Exploration ++Rovers mission (2004). These timepieces look like normal Seikos and ++Citizens but use Mars seconds rather than terrestrial seconds. ++

++ ++

++A Mars solar day is called a "sol" and has a mean period equal to ++about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is ++divided into a conventional 24-hour clock, so each Mars second equals ++about 1.02749125 terrestrial seconds. ++

++ ++

++The prime meridian of Mars goes through the center of the crater ++Airy-0, named in honor of the British astronomer who built the ++Greenwich telescope that defines Earth's prime meridian. Mean solar ++time on the Mars prime meridian is called Mars Coordinated Time (MTC). ++

++ ++

++Each landed mission on Mars has adopted a different reference for ++solar time keeping, so there is no real standard for Mars time zones. ++For example, the Mars Exploration Rover project (2004) defined two ++time zones "Local Solar Time A" and "Local Solar Time B" for its two ++missions, each zone designed so that its time equals local true solar ++time at approximately the middle of the nominal mission. Such a "time ++zone" is not particularly suited for any application other than the ++mission itself. ++

++ ++

++Many calendars have been proposed for Mars, but none have achieved ++wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a ++sequential count of Mars solar days elapsed since about 1873-12-29 ++12:00 GMT. ++

++ ++

++In our solar system, Mars is the planet with time and calendar most ++like Earth's. On other planets, Sun-based time and calendars would ++work quite differently. For example, although Mercury's sidereal ++rotation period is 58.646 Earth days, Mercury revolves around the Sun ++so rapidly that an observer on Mercury's equator would see a sunrise ++only every 175.97 Earth days, i.e., a Mercury year is 0.5 of a Mercury ++day. Venus is more complicated, partly because its rotation is ++slightly retrograde: its year is 1.92 of its days. Gas giants like ++Jupiter are trickier still, as their polar and equatorial regions ++rotate at different rates, so that the length of a day depends on ++latitude. This effect is most pronounced on Neptune, where the day is ++about 12 hours at the poles and 18 hours at the equator. ++

++ ++

++Although the tz database does not support time on other planets, it is ++documented here in the hopes that support will be added eventually. ++

++ ++

++Sources: ++

++ ++
++ ++
++
++This file is in the public domain, so clarified as of 2009-05-17 by ++Arthur David Olson. ++
++ ++ +--- contrib/tzdata/version.orig ++++ contrib/tzdata/version +@@ -1 +1 @@ +-2017b ++2017c +--- contrib/tzdata/zishrink.awk.orig ++++ contrib/tzdata/zishrink.awk +@@ -0,0 +1,156 @@ ++# Convert tzdata source into a smaller version of itself. ++ ++# Contributed by Paul Eggert. This file is in the public domain. ++ ++# This is not a general-purpose converter; it is designed for current tzdata. ++# 'zic' should treat this script's output as if it were identical to ++# this script's input. ++ ++ ++# Return a new rule name. ++# N_RULE_NAMES keeps track of how many rule names have been generated. ++ ++function gen_rule_name(alphabet, base, rule_name, n, digit) ++{ ++ alphabet = "" ++ alphabet = alphabet "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ++ alphabet = alphabet "abcdefghijklmnopqrstuvwxyz" ++ alphabet = alphabet "!$%&'()*+,./:;<=>?@[\\]^_`{|}~" ++ base = length(alphabet) ++ rule_name = "" ++ n = n_rule_names++ ++ ++ do { ++ n -= rule_name && n <= base ++ digit = n % base ++ rule_name = substr(alphabet, digit + 1, 1) rule_name ++ n = (n - digit) / base ++ } while (n); ++ ++ return rule_name ++} ++ ++# Process an input line and save it for later output. ++ ++function process_input_line(line, field, end, i, n, startdef) ++{ ++ # Remove comments, normalize spaces, and append a space to each line. ++ sub(/#.*/, "", line) ++ line = line " " ++ gsub(/[[:space:]]+/, " ", line) ++ ++ # Abbreviate keywords. Do not abbreviate "Link" to just "L", ++ # as pre-2017c zic erroneously diagnoses "Li" as ambiguous. ++ sub(/^Link /, "Li ", line) ++ sub(/^Rule /, "R ", line) ++ sub(/^Zone /, "Z ", line) ++ ++ # SystemV rules are not needed. ++ if (line ~ /^R SystemV /) return ++ ++ # Replace FooAsia rules with the same rules without "Asia", as they ++ # are duplicates. ++ if (match(line, /[^ ]Asia /)) { ++ if (line ~ /^R /) return ++ line = substr(line, 1, RSTART) substr(line, RSTART + 5) ++ } ++ ++ # Abbreviate times. ++ while (match(line, /[: ]0+[0-9]/)) ++ line = substr(line, 1, RSTART) substr(line, RSTART + RLENGTH - 1) ++ while (match(line, /:0[^:]/)) ++ line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2) ++ ++ # Abbreviate weekday names. Do not abbreviate "Sun" and "Sat", as ++ # pre-2017c zic erroneously diagnoses "Su" and "Sa" as ambiguous. ++ while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 4) substr(line, end - 1) ++ } ++ while (match(line, / (last)?(Tue|Thu)[ <>]/)) { ++ end = RSTART + RLENGTH ++ line = substr(line, 1, end - 3) substr(line, end - 1) ++ } ++ ++ # Abbreviate "max", "only" and month names. ++ # Do not abbreviate "min", as pre-2017c zic erroneously diagnoses "mi" ++ # as ambiguous. ++ gsub(/ max /, " ma ", line) ++ gsub(/ only /, " o ", line) ++ gsub(/ Jan /, " Ja ", line) ++ gsub(/ Feb /, " F ", line) ++ gsub(/ Apr /, " Ap ", line) ++ gsub(/ Aug /, " Au ", line) ++ gsub(/ Sep /, " S ", line) ++ gsub(/ Oct /, " O ", line) ++ gsub(/ Nov /, " N ", line) ++ gsub(/ Dec /, " D ", line) ++ ++ # Strip leading and trailing space. ++ sub(/^ /, "", line) ++ sub(/ $/, "", line) ++ ++ # Remove unnecessary trailing zero fields. ++ sub(/ 0+$/, "", line) ++ ++ # Remove unnecessary trailing days-of-month "1". ++ if (match(line, /[[:alpha:]] 1$/)) ++ line = substr(line, 1, RSTART) ++ ++ # Remove unnecessary trailing " Ja" (for January). ++ sub(/ Ja$/, "", line) ++ ++ n = split(line, field) ++ ++ # Abbreviate rule names. ++ i = field[1] == "Z" ? 4 : field[1] == "Li" ? 0 : 2 ++ if (i && field[i] ~ /^[^-+0-9]/) { ++ if (!rule[field[i]]) ++ rule[field[i]] = gen_rule_name() ++ field[i] = rule[field[i]] ++ } ++ ++ # If this zone supersedes an earlier one, delete the earlier one ++ # from the saved output lines. ++ startdef = "" ++ if (field[1] == "Z") ++ zonename = startdef = field[2] ++ else if (field[1] == "Li") ++ zonename = startdef = field[3] ++ else if (field[1] == "R") ++ zonename = "" ++ if (startdef) { ++ i = zonedef[startdef] ++ if (i) { ++ do ++ output_line[i - 1] = "" ++ while (output_line[i++] ~ /^[-+0-9]/); ++ } ++ } ++ zonedef[zonename] = nout + 1 ++ ++ # Save the line for later output. ++ line = field[1] ++ for (i = 2; i <= n; i++) ++ line = line " " field[i] ++ output_line[nout++] = line ++} ++ ++function output_saved_lines(i) ++{ ++ for (i = 0; i < nout; i++) ++ if (output_line[i]) ++ print output_line[i] ++} ++ ++BEGIN { ++ print "# This zic input file is in the public domain." ++} ++ ++/^[[:space:]]*[^#[:space:]]/ { ++ process_input_line($0) ++} ++ ++END { ++ output_saved_lines() ++} +--- contrib/tzdata/zone.tab.orig ++++ contrib/tzdata/zone.tab +@@ -186,7 +186,7 @@ + GD +1203-06145 America/Grenada + GE +4143+04449 Asia/Tbilisi + GF +0456-05220 America/Cayenne +-GG +4927-00232 Europe/Guernsey ++GG +492717-0023210 Europe/Guernsey + GH +0533-00013 Africa/Accra + GI +3608-00521 Europe/Gibraltar + GL +6411-05144 America/Godthab Greenland (most areas) +@@ -221,7 +221,7 @@ + IR +3540+05126 Asia/Tehran + IS +6409-02151 Atlantic/Reykjavik + IT +4154+01229 Europe/Rome +-JE +4912-00207 Europe/Jersey ++JE +491101-0020624 Europe/Jersey + JM +175805-0764736 America/Jamaica + JO +3157+03556 Asia/Amman + JP +353916+1394441 Asia/Tokyo +--- contrib/tzdata/zone1970.tab.orig ++++ contrib/tzdata/zone1970.tab +@@ -2,7 +2,7 @@ + # + # This file is in the public domain. + # +-# From Paul Eggert (2014-07-31): ++# From Paul Eggert (2017-10-01): + # This file contains a table where each row stands for a zone where + # civil time stamps have agreed since 1970. Columns are separated by + # a single tab. Lines beginning with '#' are comments. All text uses +@@ -16,7 +16,7 @@ + # either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS, + # first latitude (+ is north), then longitude (+ is east). + # 3. Zone name used in value of TZ environment variable. +-# Please see the 'Theory' file for how zone names are chosen. ++# Please see the theory.html file for how zone names are chosen. + # If multiple zones overlap a country, each has a row in the + # table, with each column 1 containing the country code. + # 4. Comments; present if and only if a country has multiple zones. +@@ -317,10 +317,11 @@ + SA,KW,YE +2438+04643 Asia/Riyadh + SB -0932+16012 Pacific/Guadalcanal + SC -0440+05528 Indian/Mahe +-SD,SS +1536+03232 Africa/Khartoum ++SD +1536+03232 Africa/Khartoum + SE +5920+01803 Europe/Stockholm + SG +0117+10351 Asia/Singapore + SR +0550-05510 America/Paramaribo ++SS +0451+03137 Africa/Juba + SV +1342-08912 America/El_Salvador + SY +3330+03618 Asia/Damascus + TC +2128-07108 America/Grand_Turk diff --git a/share/security/patches/EN-17:09/tzdata-11.1.patch.asc b/share/security/patches/EN-17:09/tzdata-11.1.patch.asc new file mode 100644 index 0000000000..862b43a912 --- /dev/null +++ b/share/security/patches/EN-17:09/tzdata-11.1.patch.asc @@ -0,0 +1,18 @@ +-----BEGIN PGP SIGNATURE----- + +iQKTBAABCgB9FiEEHPf/b631yp++G4yy7Wfs1l3PaucFAln7PXNfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDFD +RjdGRjZGQURGNUNBOUZCRTFCOENCMkVENjdFQ0Q2NURDRjZBRTcACgkQ7Wfs1l3P +aucjGw/+NiOz552mus6PkvE+Bec2QycZuDvhLkZ3lPHJTh/hVzTKQ+48wX3sboeI +VsBf6l5Ay5RQz+sz6QAvyKEQvlD0XHKWTg3gPtnp57KcskQGvRK3p96Hp5Iw3nVb +JS5bSs0WgCAIk/J/8Q4a1YCNfhjdJ/QDoufIavAa0BlwLeO4vr45BLDXAhPCfdNF +nt7Vk63JjtlOw7zvGj+JJHWIarY2NGE7sbAFalfdywBdiJNzVpeoZowNBuhI5hmR +Y0FXFVHLVkXUrNJ3BL2wZQPowCSGfdf9UAgOkNMWQyiqvSI6ahcqg/ASs+EZt0Yg +67/PavXCpq5xjFvx8exNp9/eI8NifgEnXV4ZEl1O9eRDuwVfTKP/wou5/23OAcgK +VUzRx4UUBzMUWhxlKOWLYcxkh0a7RuZf0ZoGSZjyTS0c3132xbjkej4wdOsZLJXB +xWSczhEFcthn8CaOjfbPiHqElrcYf2WlF/LiUQmLkEVDHj6/DX6Wtm/WRvkLgSYJ +ZPfbuDEUP1zG8GIu6i7MCNeKX2NMKxoMIMolNjSrowSNLr+PTqialKDcsuj2LCNv +aaVRR00zwGvVGwDSDffE9VM7VrNm3Kh3iJk7mpkk/z9ywUrHW6642L5Ab/BmGq3N +3Mzqb9pvJQgwdSv9J7er2P4jon8haeCHupTzyvpFyMB02d4EJXI= +=g5SZ +-----END PGP SIGNATURE----- diff --git a/share/xml/notices.xml b/share/xml/notices.xml index 2618289894..6ce38192ec 100644 --- a/share/xml/notices.xml +++ b/share/xml/notices.xml @@ -7,6 +7,18 @@ 2017 + + 11 + + + 2 + + + FreeBSD-EN-17:09.tzdata + + + + 8