Skip to content

Commit

Permalink
Squashed 'tz/' changes from ddb8cf09d..2bb5bb955
Browse files Browse the repository at this point in the history
cc48c2dfa Release 2023d
1e5cf91ac * zonenow.tab: Explain comments column.
8d8bc7748 * zonenow.tab: Fix Troll DST offset in comment.
1c7b90df7 * NEWS: Mention a few more post-2023c changes.
0be2233a3 Port localtime.c timeoff to OpenBSD 7.4
6a342bed2 Sync Casey data from timeanddate.com
ce293ccb5 Pacify FreeBSD 14 c99
90987c22c Port ‘make check_now’ to macOS
74325e3f5 * checknow.awk: Fix typo in empty-input diagnostic.
310ca7f5f Update tzselect comment for Solaris 10 EOL
ba7287ef7 Fix ‘make check_character_set’ false positive
2478443cd Distribute new file checknow.awk too
b87bca8e0 * zonenow.tab: Fix comment typo.
1d0ae801a Vostok was at +07 and just switched to +05
c33331835 New tzselect menu option ‘now’
d001fb91a * tzselect.ksh: Indent more consistently.
58bd6f79b * tzselect.ksh: Consistently omit ‘;;’ before ‘esac’.
33912c466 * tzselect: Indent more consistently.
60c503293 tzselect: do not create temporary files
4d1f91c97 * NEWS: Improve formatting of tzselect news.
917025742 tzselect: port to POSIX iconv
b42f2abf1 tzselect: clarify translit need
b5376e126 * tzselect: Improve leading comments.
f3291069f tzselect: work around mawk bug with {2,}
1147c766c Port to POSIX awk, which prohibits -v newlines
63ca6a5a0 Do not use empty RE in tzselect
b1d0bcf6f Don’t set TZ in tzselect
963d77784 Improve tzselect diagnostics after rejection
91ccefcd6 * Makefile: Say that ‘make’ should conform to POSIX.
000781baf Open /dev/null less often in tzselect
f29e63367 Improve Canadian comments in zone*.tab
fb5422bfc More-systematic punctuation in *.tab comments
8bca213b0 * localtime.c: Add size commentary.
ec6a46df7 * NEWS: Say "#expires" are comments as of 2021b.
ed5d5de2b Fix zic bug with -r @x where X is deduced from TZ
92a7a4c5f Fix problems with spaces in TZDIR
cf016dc86 Treat TZDEFAULT more like TZDIR
acf664391 Simplify and fix new TZDIR setup
52a2966f3 Fix bug with ‘make typecheck; make clean’
43fcd82d6 Simplify tzparse
add928960 Fix bug introduced by fix for unusual TZif
c114be2ff * Makefile: more-precise comment about integers.
a8761eebe Document limits and hazards of C89 support
b17f08721 Improve README
c3ebd8e98 make Makefile more compatible with POSIX
cbfda2f6c Put copyright notice first in Makefile
2efb6fce8 Capitalize “POSIX”
609615058 * tz-link.html: Minor tweaks to citations.
9336ef1ed Give a date for assuming C99
c0db5a2ee tm_isdst change for Greenland is now past
d1c462fae Minor Kyiv/Kiev commentary cleanups
d1ce7788d Update AASM citation to 2023
dd83b3a2b Fix new comment typo (thanks to Doug Ewell)
0f79a0720 Ittoqqortoormiit (America/Scoresbysund) zone change
4a577028c Be more systematic about man page indenting
5b351b0ff Document GMT0 and posixrules better
169db122f Fix Palestine predictions for 2072 through 2075
4de3033da Omit Scattered Islands from zone1970.tab comment
09cd498b5 Fix zic.c indenting
35c116b75 Fix zic bug with Palestine after 2075
6e845b720 Fix localtime bug with unusual TZif data
c7ff078b7 Fix zdump diagnostic for missing timezone
9602b437b Palestine commentary update
f390e94af update tz-link for AMA and SRS
b25652dd4 Fiji still lacks DST
45b28e68a * zic.c: Fix comment to match code.
a02a1f928 Fix bug on Linux 2.6.16 and 2.6.17
861b58589 Omit not-that-helpful comment re Cairo in 2014
eedc1f885 Update title and description of Tom Scott video
77b0292ec Document iso3166.tab naming
c3e966c59 No leap second on 2023-12-31
ed49cb3d9 Use better URL for new Paraguay law
a02b89764 Document Paraguay’s recently-passed Law No. 7115
67b7bbbbc Improve touches when making tarballs
c1d9ab6ec Port better to POSIX 'touch'
0bb92ae8f Prefer -std=gnu11 to -DPORT_TO_C89
e12dc623c Ask for POSIX-conforming ‘make’
de8bf4c72 Update tzselect comment
5a220576f Add comments re offtime, timeoff, timelocal
b019d3a8b Greenland changed standard time already

git-subtree-dir: tz
git-subtree-split: 2bb5bb9555b0f90e924bb6a1605482a7f270fd88
  • Loading branch information
stub42 committed Jan 29, 2024
1 parent c402b01 commit 4a37f7c
Show file tree
Hide file tree
Showing 36 changed files with 1,624 additions and 860 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ ChangeLog
check_*
date
leapseconds
tzdir.h
tzselect
version
version.h
Expand Down
209 changes: 145 additions & 64 deletions Makefile

Large diffs are not rendered by default.

125 changes: 117 additions & 8 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,5 +1,109 @@
News for the tz database

Release 2023d - 2023-12-21 20:02:24 -0800

Briefly:
Ittoqqortoormiit, Greenland changes time zones on 2024-03-31.
Vostok, Antarctica changed time zones on 2023-12-18.
Casey, Antarctica changed time zones five times since 2020.
Code and data fixes for Palestine timestamps starting in 2072.
A new data file zonenow.tab for timestamps starting now.

Changes to future timestamps

Ittoqqortoormiit, Greenland (America/Scoresbysund) joins most of
the rest of Greenland's timekeeping practice on 2024-03-31, by
changing its time zone from -01/+00 to -02/-01 at the same moment
as the spring-forward transition. Its clocks will therefore not
spring forward as previously scheduled. The time zone change
reverts to its common practice before 1981.

Fix predictions for DST transitions in Palestine in 2072-2075,
correcting a typo introduced in 2023a.

Changes to past and future timestamps

Vostok, Antarctica changed to +05 on 2023-12-18. It had been at
+07 (not +06) for years. (Thanks to Zakhary V. Akulov.)

Change data for Casey, Antarctica to agree with timeanddate.com,
by adding five time zone changes since 2020. Casey is now at +08
instead of +11.

Changes to past tm_isdst flags

Much of Greenland, represented by America/Nuuk, changed its
standard time from -03 to -02 on 2023-03-25, not on 2023-10-28.
This does not affect UTC offsets, only the tm_isdst flag.
(Thanks to Thomas M. Steenholdt.)

New data file

A new data file zonenow.tab helps configure applications that use
timestamps dated from now on. This simplifies configuration,
since users choose from a smaller Zone set. The file's format is
experimental and subject to change.

Changes to code

localtime.c no longer mishandles TZif files that contain a single
transition into a DST regime. Previously, it incorrectly assumed
DST was in effect before the transition too. (Thanks to Alois
Treindl for debugging help.)

localtime.c's timeoff no longer collides with OpenBSD 7.4.

The C code now uses _Generic only if __STDC_VERSION__ says the
compiler is C11 or later.

tzselect now optionally reads zonenow.tab, to simplify when
configuring only for timestamps dated from now on.

tzselect no longer creates temporary files.

tzselect no longer mishandles the following:

Spaces and most other special characters in BUGEMAIL, PACKAGE,
TZDIR, and VERSION.

TZ strings when using mawk 1.4.3, which mishandles regular
expressions of the form /X{2,}/.

ISO 6709 coordinates when using an awk that lacks the GNU
extension of newlines in -v option-arguments.

Non UTF-8 locales when using an iconv command that lacks the GNU
//TRANSLIT extension.

zic no longer mishandles data for Palestine after the year 2075.
Previously, it incorrectly omitted post-2075 transitions that are
predicted for just before and just after Ramadan. (Thanks to Ken
Murchison for debugging help.)

zic now works again on Linux 2.6.16 and 2.6.17 (2006).
(Problem reported by Rune Torgersen.)

Changes to build procedure

The Makefile is now more compatible with POSIX:
* It no longer defines AR, CC, CFLAGS, LDFLAGS, and SHELL.
* It no longer uses its own 'cc' in place of CC.
* It now uses ARFLAGS, with default specified by POSIX.
* It does not use LFLAGS incompatibly with POSIX.
* It uses the special .POSIX target.
* It quotes special characters more carefully.
* It no longer mishandles builds in an ISO 8859 locale.
Due to the CC changes, TZDIR is now #defined in a file tzfile.h
built by 'make', not in a $(CC) -D option. Also, TZDEFAULT is
now treated like TZDIR as they have similar roles.

Changes to commentary

Limitations and hazards of the optional support for obsolescent
C89 platforms are documented better, along with a tentative
schedule for removing this support.


Release 2023c - 2023-03-28 12:42:14 -0700

Changes to past and future timestamps
Expand Down Expand Up @@ -76,11 +180,14 @@ Release 2023a - 2023-03-22 12:39:33 -0700
platform dependent and abbreviations were silently truncated to
16 bytes even when the limit was greater than 16.

The code by default is now designed for C99 or later. To build in
a C89 environment, compile with -DPORT_TO_C89. To support C89
callers of the tzcode library, compile with -DSUPPORT_C89. The
two new macros are transitional aids planned to be removed in a
future version, when C99 or later will be required.
The code by default is now designed for C99 or later. To build on
a mostly-C89 platform, compile with -DPORT_TO_C89; this should
work on C89 platforms that also support C99 'long long' and
perhaps a few other extensions to C89. To support C89 callers of
tzcode's library, compile with -DSUPPORT_C89; however, this could
trigger latent bugs in C99-or-later callers. The two new macros
are transitional aids planned to be removed in a future version
(say, in 2029), when C99 or later will be required.

The code now builds again on pre-C99 platforms, if you compile
with -DPORT_TO_C89. This fixes a bug introduced in 2022f.
Expand Down Expand Up @@ -723,6 +830,8 @@ Release 2021b - 2021-09-24 16:23:00 -0700
them, set the EXPIRES_LINE Makefile variable. If a TZif file uses
this new feature it is marked with a new TZif version number 4,
a format intended to be documented in a successor to RFC 8536.
The old-format "#expires" comments are now treated solely as
comments and have no effect on the TZif files.

zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
that omits leap second information for the range LO..B when LO
Expand Down Expand Up @@ -4302,7 +4411,7 @@ Release 2012j - 2012-11-12 18:34:49 -0800
now uses [email protected] rather than the old elsie address.

zic -v now complains about abbreviations that are less than 3
or more than 6 characters, as per Posix. Formerly, it checked
or more than 6 characters, as per POSIX. Formerly, it checked
for abbreviations that were more than 3.

'make public' no longer puts its temporary directory under /tmp,
Expand Down Expand Up @@ -4467,8 +4576,8 @@ Release data2011m - 2011-10-24 21:42:16 +0700
In particular, the typos in comments in the data (2011-11-17 should have
been 2011-10-17 as Alan Barrett noted, and spelling of Tiraspol that
Tim Parenti noted) have been fixed, and the change for Ukraine has been
made in all 4 Ukrainian zones, rather than just Kiev (again, thanks to
Tim Parenti, and also Denys Gavrysh)
made in all 4 Ukrainian zones, rather than just Europe/Kiev
(again, thanks to Tim Parenti, and also Denys Gavrysh).

In addition, I added Europe/Tiraspol to zone.tab.

Expand Down
19 changes: 11 additions & 8 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@ changes made by political bodies to time zone boundaries, UTC offsets,
and daylight-saving rules.

See <https://www.iana.org/time-zones/repository/tz-link.html> or the
file tz-link.html 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":

make TOPDIR=$HOME/tzdir install
$HOME/tzdir/usr/bin/zdump -v America/Los_Angeles
file tz-link.html for how to acquire the code and data.

Once acquired, read the leading comments in the file "Makefile"
and make any changes needed to make things right for your system,
especially when using a platform other than current GNU/Linux.

Then run the following commands, substituting your desired
installation directory for "$HOME/tzdir":

make TOPDIR="$HOME/tzdir" install
"$HOME/tzdir/usr/bin/zdump" -v America/Los_Angeles

See the file tz-how-to.html for examples of how to read the data files.

Expand Down
7 changes: 0 additions & 7 deletions africa
Original file line number Diff line number Diff line change
Expand Up @@ -285,13 +285,6 @@ Rule Egypt 2007 only - Sep Thu>=1 24:00 0 -
# reproduced by other (more accessible) sites[, e.g.,]...
# http://elgornal.net/news/news.aspx?id=4699258

# From Paul Eggert (2014-06-04):
# Sarah El Deeb and Lee Keath of AP report that the Egyptian government says
# the change is because of blackouts in Cairo, even though Ahram Online (cited
# above) says DST had no affect on electricity consumption. There is
# no information about when DST will end this fall. See:
# http://abcnews.go.com/International/wireStory/el-sissi-pushes-egyptians-line-23614833

# From Steffen Thorsen (2015-04-08):
# Egypt will start DST on midnight after Thursday, April 30, 2015.
# This is based on a law (no 35) from May 15, 2014 saying it starts the last
Expand Down
57 changes: 55 additions & 2 deletions antarctica
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,11 @@
# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 4 3:00 - 2020 Mar 8 3:00
# and now - 2020 Oct 4 0:01

# From Paul Eggert (2023-12-20):
# Transitions from 2021 on are taken from:
# https://www.timeanddate.com/time/zone/antarctica/casey
# retrieved at various dates.

# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2009 Oct 18 2:00
Expand All @@ -93,7 +98,12 @@ Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2019 Oct 4 3:00
11:00 - +11 2020 Mar 8 3:00
8:00 - +08 2020 Oct 4 0:01
11:00 - +11
11:00 - +11 2021 Mar 14 0:00
8:00 - +08 2021 Oct 3 0:01
11:00 - +11 2022 Mar 13 0:00
8:00 - +08 2022 Oct 2 0:01
11:00 - +11 2023 Mar 9 3:00
8:00 - +08
Zone Antarctica/Davis 0 - -00 1957 Jan 13
7:00 - +07 1964 Nov
0 - -00 1969 Feb
Expand Down Expand Up @@ -240,7 +250,50 @@ Zone Antarctica/Troll 0 - -00 2005 Feb 12
# year-round from 1960/61 to 1992

# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
# See Asia/Urumqi.
# From Craig Mundell (1994-12-15):
# http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP
# Vostok, which is one of the Russian stations, is set on the same
# time as Moscow, Russia.
#
# From Lee Hotz (2001-03-08):
# I queried the folks at Columbia who spent the summer at Vostok and this is
# what they had to say about time there:
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT."
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antarctic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok.
#
# From Zakhary V. Akulov (2023-12-17 22:00:48 +0700):
# ... from December, 18, 2023 00:00 by my decision the local time of
# the Antarctic research base Vostok will correspond to UTC+5.
# (2023-12-19): We constantly interact with Progress base, with company who
# builds new wintering station, with sledge convoys, with aviation - they all
# use UTC+5. Besides, difference between Moscow time is just 2 hours now, not 4.
# (2023-12-19, in response to the question "Has local time at Vostok
# been UTC+6 ever since 1957, or has it changed before?"): No. At least
# since my antarctic career start, 10 years ago, Vostok base has UTC+7.
# (In response to a 2023-12-18 question "from 02:00 to 00:00 today"): This.
#
# From Paul Eggert (2023-12-18):
# For lack of better info, guess Vostok was at +07 from founding through today,
# except when closed.

# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Vostok 0 - -00 1957 Dec 16
7:00 - +07 1994 Feb
0 - -00 1994 Nov
7:00 - +07 2023 Dec 18 2:00
5:00 - +05

# S Africa - year-round bases
# Marion Island, -4653+03752
Expand Down
6 changes: 4 additions & 2 deletions asia
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,6 @@ Zone Asia/Shanghai 8:05:43 - LMT 1901
8:00 PRC C%sT
# Xinjiang time, used by many in western China; represented by Ürümqi / Ürümchi
# / Wulumuqi. (Please use Asia/Shanghai if you prefer Beijing time.)
# Vostok base in Antarctica matches this since 1970.
Zone Asia/Urumqi 5:50:20 - LMT 1928
6:00 - +06

Expand Down Expand Up @@ -3427,6 +3426,9 @@ Zone Asia/Karachi 4:28:12 - LMT 1907
# From Heba Hamad (2023-03-22):
# ... summer time will begin in Palestine from Saturday 04-29-2023,
# 02:00 AM by 60 minutes forward.
# From Heba Hemad (2023-10-09):
# ... winter time will begin in Palestine from Saturday 10-28-2023,
# 02:00 AM by 60 minutes back.
#
# From Paul Eggert (2023-03-22):
# For now, guess that spring and fall transitions will normally
Expand Down Expand Up @@ -3548,13 +3550,13 @@ Rule Palestine 2070 only - Oct 4 2:00 0 -
Rule Palestine 2071 only - Sep 19 2:00 0 -
Rule Palestine 2072 only - Sep 10 2:00 0 -
Rule Palestine 2072 only - Oct 15 2:00 1:00 S
Rule Palestine 2072 max - Oct Sat<=30 2:00 0 -
Rule Palestine 2073 only - Sep 2 2:00 0 -
Rule Palestine 2073 only - Oct 7 2:00 1:00 S
Rule Palestine 2074 only - Aug 18 2:00 0 -
Rule Palestine 2074 only - Sep 29 2:00 1:00 S
Rule Palestine 2075 only - Aug 10 2:00 0 -
Rule Palestine 2075 only - Sep 14 2:00 1:00 S
Rule Palestine 2075 max - Oct Sat<=30 2:00 0 -
Rule Palestine 2076 only - Jul 25 2:00 0 -
Rule Palestine 2076 only - Sep 5 2:00 1:00 S
Rule Palestine 2077 only - Jul 17 2:00 0 -
Expand Down
8 changes: 7 additions & 1 deletion australasia
Original file line number Diff line number Diff line change
Expand Up @@ -391,8 +391,14 @@ Zone Antarctica/Macquarie 0 - -00 1899 Nov
# Please note that there will not be any daylight savings time change
# in Fiji for 2022-2023....
# https://www.facebook.com/FijianGovernment/posts/pfbid0mmWVTYmTibn66ybpFda75pDcf34SSpoSaskJW5gXwaKo5Sgc7273Q4fXWc6kQV6Hl

# From Almaz Mingaleev (2023-10-06):
# Cabinet approved the suspension of Daylight Saving and appropriate
# legislative changes will be considered including the repeal of the
# Daylight Saving Act 1998
# https://www.fiji.gov.fj/Media-Centre/Speeches/English/CABINET-DECISIONS-3-OCTOBER-2023
#
# From Paul Eggert (2022-10-27):
# From Paul Eggert (2023-10-06):
# For now, assume DST is suspended indefinitely.

# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
Expand Down
1 change: 0 additions & 1 deletion backward
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,6 @@ Link America/Puerto_Rico America/Tortola
Link Pacific/Port_Moresby Antarctica/DumontDUrville
Link Pacific/Auckland Antarctica/McMurdo
Link Asia/Riyadh Antarctica/Syowa
Link Asia/Urumqi Antarctica/Vostok
Link Europe/Berlin Arctic/Longyearbyen
Link Asia/Riyadh Asia/Aden
Link Asia/Qatar Asia/Bahrain
Expand Down
29 changes: 0 additions & 29 deletions backzone
Original file line number Diff line number Diff line change
Expand Up @@ -963,35 +963,6 @@ Link Antarctica/McMurdo Antarctica/South_Pole
Zone Antarctica/Syowa 0 - -00 1957 Jan 29
3:00 - +03

# Vostok, Antarctica
#
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
# From Craig Mundell (1994-12-15):
# http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP
# Vostok, which is one of the Russian stations, is set on the same
# time as Moscow, Russia.
#
# From Lee Hotz (2001-03-08):
# I queried the folks at Columbia who spent the summer at Vostok and this is
# what they had to say about time there:
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT."
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antarctic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok. But we'll guess +06.
#
Zone Antarctica/Vostok 0 - -00 1957 Dec 16
6:00 - +06

# Yemen
# Milne says 2:59:54 was the meridian of the saluting battery at Aden,
# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia.
Expand Down
Loading

0 comments on commit 4a37f7c

Please sign in to comment.