Skip to content

Commit

Permalink
Update to tzdata version 2016h.
Browse files Browse the repository at this point in the history
  • Loading branch information
philr committed Oct 20, 2016
1 parent eb1e774 commit bb4b1e5
Show file tree
Hide file tree
Showing 13 changed files with 329 additions and 199 deletions.
57 changes: 57 additions & 0 deletions data/NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,62 @@
News for the tz database

Release 2016h - 2016-10-19 23:17:57 -0700

Changes to future time stamps

Asia/Gaza and Asia/Hebron end DST on 2016-10-29 at 01:00, not
2016-10-21 at 00:00. (Thanks to Sharef Mustafa.) Predict that
future fall transitions will be on the last Saturday of October
at 01:00, which is consistent with predicted spring transitions
on the last Saturday of March. (Thanks to Tim Parenti.)

Changes to past time stamps

In Turkey, transitions in 1986-1990 were at 01:00 standard time
not at 02:00, and the spring 1994 transition was on March 20, not
March 27. (Thanks to Kıvanç Yazan.)

Changes to past and future time zone abbreviations

Asia/Colombo now uses numeric time zone abbreviations like "+0530"
instead of alphabetic ones like "IST" and "LKT". Various
English-language sources use "IST", "LKT" and "SLST", with no
working consensus. (Usage of "SLST" mentioned by Sadika
Sumanapala.)

Changes to code

zic no longer mishandles relativizing file names when creating
symbolic links like /etc/localtime, when these symbolic links
are outside the usual directory hierarchy. This fixes a bug
introduced in 2016g. (Problem reported by Andreas Stieger.)

Changes to build procedure

New rules 'traditional_tarballs' and 'traditional_signatures' for
building just the traditional-format distribution. (Requested by
Deborah Goldsmith.)

The file 'version' is now put into the tzdata tarball too.
(Requested by Howard Hinnant.)

Changes to documentation and commentary

The 'Theory' file now has a section on interface stability.
(Requested by Paul Koning.) It also mentions features like
tm_zone and localtime_rz that have long been supported by the
reference code.

tz-link.htm has improved coverage of time zone boundaries suitable
for geolocation. (Thanks to heads-ups from Evan Siroky and Matt
Johnson.)

The US commentary now mentions Allen and the "day of two noons".

The Fiji commentary mentions the government's 2016-10-03 press
release. (Thanks to Raymond Kumar.)


Release 2016g - 2016-09-13 08:56:38 -0700

Changes to future time stamps
Expand Down
2 changes: 1 addition & 1 deletion data/SOURCE
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
The files in this directory were obtained from the IANA Time Zone Database
http://www.iana.org/time-zones, version 2016g.
http://www.iana.org/time-zones, version 2016h.
68 changes: 56 additions & 12 deletions data/Theory
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,10 @@ POSIX has the following properties and limitations.
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 -
Expand All @@ -454,6 +458,11 @@ POSIX has the following properties and limitations.
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
Expand Down Expand Up @@ -494,20 +503,23 @@ These are the extensions that have been made to the POSIX functions:
"new" programs (a la POSIX) and "old" programs (as zone names and
offsets).

* To handle places where more than two time zone abbreviations are used,
the functions "localtime" and "gmtime" set tzname[tmp->tm_isdst]
(where "tmp" is the value the function returns) to the time zone
abbreviation to be used. This differs from POSIX, where the elements
of tzname are only changed as a result of calls to tzset.
* 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.")

* The "localtime" function has been set up to deliver correct results
for near-minimum or near-maximum time_t values. (A comment in the
source code tells how to get compatibly wrong results).
* 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
Expand All @@ -526,14 +538,15 @@ These are the extensions that have been made to the POSIX functions:

Points of interest to folks with other systems:

* This package is already part of many POSIX-compliant hosts,
including BSD, HP, Linux, Network Appliance, SCO, SGI, and Sun.
* 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 changed slightly in late 1994,
and many vendors still do not support the new input format.
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
Expand All @@ -551,6 +564,8 @@ Points of interest to folks with other systems:
* 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
Expand All @@ -568,6 +583,35 @@ 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,
Expand Down
80 changes: 38 additions & 42 deletions data/asia
Original file line number Diff line number Diff line change
Expand Up @@ -2544,11 +2544,6 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# From Paul Eggert (2015-03-03):
# http://www.timeanddate.com/time/change/west-bank/ramallah?year=2014
# says that the fall 2014 transition was Oct 23 at 24:00.
# For future dates, guess the last Friday in March at 24:00 through
# the first Friday on or after October 21 at 00:00. This is consistent with
# the predictions in today's editions of the following URLs:
# http://www.timeanddate.com/time/change/gaza-strip/gaza
# http://www.timeanddate.com/time/change/west-bank/hebron

# From Hannah Kreitem (2016-03-09):
# http://www.palestinecabinet.gov.ps/WebSite/ar/ViewDetails?ID=31728
Expand All @@ -2558,7 +2553,21 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
#
# From Paul Eggert (2016-03-12):
# Predict spring transitions on March's last Saturday at 01:00 from now on.
# Leave fall predictions alone for now.

# From Sharef Mustafa (2016-10-19):
# [T]he Palestinian cabinet decision (Mar 8th 2016) published on
# http://www.palestinecabinet.gov.ps/WebSite/Upload/Decree/GOV_17/16032016134830.pdf
# states that summer time will end on Oct 29th at 01:00.
#
# From Tim Parenti (2016-10-19):
# Predict fall transitions on October's last Saturday at 01:00 from now on.
# This is consistent with the 2016 transition as well as our spring
# predictions.
#
# From Paul Eggert (2016-10-19):
# It's also consistent with predictions in the following URLs today:
# http://www.timeanddate.com/time/change/gaza-strip/gaza
# http://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
Expand Down Expand Up @@ -2587,9 +2596,10 @@ Rule Palestine 2011 only - Sep 30 0:00 0 -
Rule Palestine 2012 2014 - Mar lastThu 24:00 1:00 S
Rule Palestine 2012 only - Sep 21 1:00 0 -
Rule Palestine 2013 only - Sep Fri>=21 0:00 0 -
Rule Palestine 2014 max - Oct Fri>=21 0:00 0 -
Rule Palestine 2014 2015 - Oct Fri>=21 0:00 0 -
Rule Palestine 2015 only - Mar lastFri 24:00 1:00 S
Rule Palestine 2016 max - Mar lastSat 1:00 1:00 S
Rule Palestine 2016 max - Oct lastSat 1:00 0 -

# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
Expand Down Expand Up @@ -2739,45 +2749,31 @@ Zone Asia/Singapore 6:55:25 - LMT 1901 Jan 1
# People who live in regions under Tamil control can use [TZ='Asia/Kolkata'],
# as that zone has agreed with the Tamil areas since our cutoff date of 1970.

# From K Sethu (2006-04-25):
# I think the abbreviation LKT originated from the world of computers at
# the time of or subsequent to the time zone changes by SL Government
# twice in 1996 and probably SL Government or its standardization
# agencies never declared an abbreviation as a national standard.
#
# I recollect before the recent change the government announcements
# mentioning it as simply changing Sri Lanka Standard Time or Sri Lanka
# Time and no mention was made about the abbreviation.
#
# If we look at Sri Lanka Department of Government's "Official News
# Website of Sri Lanka" ... http://www.news.lk/ we can see that they
# use SLT as abbreviation in time stamp at the beginning of each news
# item....
#
# Within Sri Lanka I think LKT is well known among computer users and
# administrators. In my opinion SLT may not be a good choice because the
# nation's largest telcom / internet operator Sri Lanka Telcom is well
# known by that abbreviation - simply as SLT (there IP domains are
# slt.lk and sltnet.lk).
#
# But if indeed our government has adopted SLT as standard abbreviation
# (that we have not known so far) then it is better that it be used for
# all computers.

# From Paul Eggert (2006-04-25):
# One possibility is that we wait for a bit for the dust to settle down
# and then see what people actually say in practice.
# From Sadika Sumanapala (2016-10-19):
# According to http://www.sltime.org (maintained by Measurement Units,
# Standards & Services Department, Sri Lanka) abbreviation for Sri Lanka
# standard time is SLST.
#
# From Paul Eggert (2016-10-18):
# "SLST" seems to be reasonably recent and rarely-used outside time
# zone nerd sources. I searched Google News and found three uses of
# it in the International Business Times of India in February and
# March of this year when discussing cricket match times, but nothing
# since then (though there has been a lot of cricket) and nothing in
# other English-language news sources. Our old abbreviation "LKT" is
# even worse. For now, let's use a numeric abbreviation; we can
# switch to "SLST" if it catches on.

# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Colombo 5:19:24 - LMT 1880
5:19:32 - MMT 1906 # Moratuwa Mean Time
5:30 - IST 1942 Jan 5
5:30 0:30 IHST 1942 Sep
5:30 1:00 IST 1945 Oct 16 2:00
5:30 - IST 1996 May 25 0:00
6:30 - LKT 1996 Oct 26 0:30
6:00 - LKT 2006 Apr 15 0:30
5:30 - IST
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 - +0530 1996 May 25 0:00
6:30 - +0630 1996 Oct 26 0:30
6:00 - +06 2006 Apr 15 0:30
5:30 - +0530

# Syria
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Expand Down
8 changes: 7 additions & 1 deletion data/australasia
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,13 @@ Zone Indian/Cocos 6:27:40 - LMT 1900
# commencing at 2.00 am on Sunday 1st November, 2015 and ending at
# 3.00 am on Sunday 17th January, 2016.

# From Paul Eggert (2015-09-01):
# From Raymond Kumar (2016-10-04):
# http://www.fiji.gov.fj/Media-Center/Press-Releases/DAYLIGHT-SAVING-STARTS-ON-6th-NOVEMBER,-2016.aspx
# "Fiji's daylight savings will begin on Sunday, 6 November 2016, when
# 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
# transitions since late 2014 and seems more likely to match future
Expand Down
44 changes: 23 additions & 21 deletions data/europe
Original file line number Diff line number Diff line change
Expand Up @@ -1908,7 +1908,7 @@ Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
# Amsterdam mean time.

# The data entries before 1945 are taken from
# http://www.phys.uu.nl/~vgent/wettijd/wettijd.htm
# http://www.staff.science.uu.nl/~gent0113/idl/idl.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
Expand Down Expand Up @@ -3427,22 +3427,24 @@ Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16 # See above comment.

# Turkey

# From Amar Devegowda (2007-01-03):
# The time zone rules for Istanbul, Turkey have not been changed for years now.
# ... The latest rules are available at:
# http://www.timeanddate.com/worldclock/timezone.html?n=107
# From Steffen Thorsen (2007-01-03):
# I have been able to find press records back to 1996 which all say that
# DST started 01:00 local time and end at 02:00 local time. I am not sure
# what happened before that. One example for each year from 1996 to 2001:
# http://newspot.byegm.gov.tr/arsiv/1996/21/N4.htm
# http://www.byegm.gov.tr/YAYINLARIMIZ/CHR/ING97/03/97X03X25.TXT
# http://www.byegm.gov.tr/YAYINLARIMIZ/CHR/ING98/03/98X03X02.HTM
# http://www.byegm.gov.tr/YAYINLARIMIZ/CHR/ING99/10/99X10X26.HTM#%2016
# http://www.byegm.gov.tr/YAYINLARIMIZ/CHR/ING2000/03/00X03X06.HTM#%2021
# http://www.byegm.gov.tr/YAYINLARIMIZ/CHR/ING2001/03/23x03x01.HTM#%2027
# From Paul Eggert (2007-01-03):
# Prefer the above source to Shanks & Pottenger for time stamps after 1990.
# From Kıvanç Yazan (2016-09-25):
# 1) For 1986-2006, DST started at 01:00 local and ended at 02:00 local, with
# no exceptions.
# 2) 1994's lastSun was overridden with Mar 20 ...
# Here are official papers:
# http://www.resmigazete.gov.tr/arsiv/19032.pdf - page 2 for 1986
# http://www.resmigazete.gov.tr/arsiv/19400.pdf - page 4 for 1987
# http://www.resmigazete.gov.tr/arsiv/19752.pdf - page 15 for 1988
# http://www.resmigazete.gov.tr/arsiv/20102.pdf - page 6 for 1989
# http://www.resmigazete.gov.tr/arsiv/20464.pdf - page 1 for 1990 - 1992
# http://www.resmigazete.gov.tr/arsiv/21531.pdf - page 15 for 1993 - 1995
# http://www.resmigazete.gov.tr/arsiv/21879.pdf - page 1 for overriding 1994
# http://www.resmigazete.gov.tr/arsiv/22588.pdf - page 1 for 1996, 1997
# http://www.resmigazete.gov.tr/arsiv/23286.pdf - page 10 for 1998 - 2000
# http://www.resmigazete.gov.tr/eskiler/2001/03/20010324.htm#2 - for 2001
# http://www.resmigazete.gov.tr/eskiler/2002/03/20020316.htm#2 - for 2002-2006
# From Paul Eggert (2016-09-25):
# Prefer the above sources to Shanks & Pottenger for time stamps after 1985.

# From Steffen Thorsen (2007-03-09):
# Starting 2007 though, it seems that they are adopting EU's 1:00 UTC
Expand Down Expand Up @@ -3551,10 +3553,10 @@ Rule Turkey 1983 only - Jul 31 0:00 1:00 S
Rule Turkey 1983 only - Oct 2 0:00 0 -
Rule Turkey 1985 only - Apr 20 0:00 1:00 S
Rule Turkey 1985 only - Sep 28 0:00 0 -
Rule Turkey 1986 1990 - Mar lastSun 2:00s 1:00 S
Rule Turkey 1986 1990 - Sep lastSun 2:00s 0 -
Rule Turkey 1991 2006 - Mar lastSun 1:00s 1:00 S
Rule Turkey 1991 1995 - Sep lastSun 1:00s 0 -
Rule Turkey 1986 1993 - Mar lastSun 1:00s 1:00 S
Rule Turkey 1986 1995 - Sep lastSun 1:00s 0 -
Rule Turkey 1994 only - Mar 20 1:00s 1:00 S
Rule Turkey 1995 2006 - Mar lastSun 1:00s 1:00 S
Rule Turkey 1996 2006 - Oct lastSun 1:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Europe/Istanbul 1:55:52 - LMT 1880
Expand Down
Loading

0 comments on commit bb4b1e5

Please sign in to comment.