From nobody Mon Jan 20 00:26:44 2025
X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1])
by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YbrkD3mdtz5lvyX;
Mon, 20 Jan 2025 00:26:44 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
client-signature RSA-PSS (4096 bits) client-digest SHA256)
(Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK))
by mx1.freebsd.org (Postfix) with ESMTPS id 4YbrkD2rJSz3dNB;
Mon, 20 Jan 2025 00:26:44 +0000 (UTC)
(envelope-from git@FreeBSD.org)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim;
t=1737332804;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=o6tqkhbKoSAj7/uJCtDyMudSuAVvg/8mDUHT+q0jbfE=;
b=RS4YMwvymyholJkWYAV9ZEJQiDd/kiUXSb7Nm9PMQIs2dDQPcZevmD5b5JymigYivUvEwe
nV/79zVSLEaw2zJEpNs+viW8yKMNuRmdk7Yy5nNPztWPjN37OrXiEXepbjAhm1sy88PuZh
0JdU7DokLtqZZGpolqze88fwIlOUJ0tzikfRxNieqL2OtZlK0NYICzNVfZOskx4uIAqkPL
uLd7ijpZ/jTVa0Nza5mNBM3DrKyJ2P+lwtG6l4eMYvLk8tBo/UBtdIbtLEWLLT5+vtoaq4
V9kGcP6Y3CzOiiO8ra7OOGbTLGG5hf1P+BQIHF785mB3ZPXkV4ifqbQnS34Pxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org;
s=dkim; t=1737332804;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=o6tqkhbKoSAj7/uJCtDyMudSuAVvg/8mDUHT+q0jbfE=;
b=IbewTKrqsWeRrllB+NG+Zv3kPIO66ASptwhcXBTJtrdFIOnzj2Orr9M+0lIpUDns9ohwir
vlmBsXqiWRIZb+qXnP181gqDGdDFtNxLelmPsxOceyd+6RBXkUBr3H3Lf/JArY50/3RaNb
dnuKoAq1bOQunbFiE28PTPjg7X2mwPr664bj/xmzMt6O3InbkywPcWfifBWa6FI4XNcEzt
jxQWM/MqyQS9XHfjI79suNUuiPgyjNW/wwylnVGUAhP2Ncl36k2ngvyDSQUThpAJSEg68M
Dthe0UJq8/8lyddLh6FIbIzyig2ppffQc2a8gEz3MeGmu1MJFEGk8kaklDPDBw==
ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737332804; a=rsa-sha256; cv=none;
b=rG3YLek953EhAQzTtxo069rKEGh5mwVj545L1wm9M+Pi5f2Y/l7bpptyYSbY3/zJP3ts2N
Ad59/ZPs6un8hMzwc3czwH8/SjsPeaNFmsMKQDt6uTZV80aQxE4AprDDG9rl4ckgvGM8Nm
GW2+gykNPIfq75iUyPFbTObOOjogfURAmTkDBnS1+Yt9Ef8S0y/oemeGSGSPj6tMh6Rcam
GYXYMBY2pALwmLg7EfxH459GNbXHoDubRK4N6Oc6GToSx2e437nWLeoz4Y68i5z+CtEse4
1taAxT6eH3ExzxlMlwMPRj9TbTmiVXy+pp33LF2EmpxJ/Gj0luvjEZV3IVIdEg==
ARC-Authentication-Results: i=1;
mx1.freebsd.org;
none
Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
(Client did not present a certificate)
by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YbrkD2NMfz1Bcw;
Mon, 20 Jan 2025 00:26:44 +0000 (UTC)
(envelope-from git@FreeBSD.org)
Received: from gitrepo.freebsd.org ([127.0.1.44])
by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50K0QiUN018524;
Mon, 20 Jan 2025 00:26:44 GMT
(envelope-from git@gitrepo.freebsd.org)
Received: (from git@localhost)
by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50K0Qi4a018520;
Mon, 20 Jan 2025 00:26:44 GMT
(envelope-from git)
Date: Mon, 20 Jan 2025 00:26:44 GMT
Message-Id: <202501200026.50K0Qi4a018520@gitrepo.freebsd.org>
To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org,
dev-commits-src-branches@FreeBSD.org
From: Philip Paeps
Subject: git: 2d6dcb4f97f8 - stable/13 - contrib/tzdata: import
tzdata 2025a
List-Id: Commit messages for all branches of the src repository
List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all
List-Help:
List-Post:
List-Subscribe:
List-Unsubscribe:
X-BeenThere: dev-commits-src-all@freebsd.org
Sender: owner-dev-commits-src-all@FreeBSD.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Git-Committer: philip
X-Git-Repository: src
X-Git-Refname: refs/heads/stable/13
X-Git-Reftype: branch
X-Git-Commit: 2d6dcb4f97f89376189f39b700459c72fe7a2678
Auto-Submitted: auto-generated
The branch stable/13 has been updated by philip:
URL: https://cgit.FreeBSD.org/src/commit/?id=2d6dcb4f97f89376189f39b700459c72fe7a2678
commit 2d6dcb4f97f89376189f39b700459c72fe7a2678
Author: Philip Paeps
AuthorDate: 2025-01-17 01:33:46 +0000
Commit: Philip Paeps
CommitDate: 2025-01-20 00:26:07 +0000
contrib/tzdata: import tzdata 2025a
Changes: https://github.com/eggert/tz/blob/2025a/NEWS
(cherry picked from commit 46226b0162ba03986b1de2c790804b37dd8e64d6)
---
contrib/tzdata/Makefile | 32 +++++------
contrib/tzdata/NEWS | 84 +++++++++++++++++++++++++++--
contrib/tzdata/antarctica | 2 +
contrib/tzdata/asia | 113 ++++++++++++++++++++++++++++-----------
contrib/tzdata/australasia | 113 +++++++++++++++++++++------------------
contrib/tzdata/checknow.awk | 2 +-
contrib/tzdata/checktab.awk | 39 +++++++++++++-
contrib/tzdata/etcetera | 4 ++
contrib/tzdata/europe | 2 +-
contrib/tzdata/factory | 10 ++++
contrib/tzdata/leap-seconds.list | 8 +--
contrib/tzdata/leapseconds | 8 +--
contrib/tzdata/northamerica | 9 ++--
contrib/tzdata/southamerica | 27 ++++++++--
contrib/tzdata/theory.html | 40 +++++++++-----
contrib/tzdata/version | 2 +-
contrib/tzdata/zone.tab | 2 +-
contrib/tzdata/zone1970.tab | 6 +--
contrib/tzdata/zonenow.tab | 9 ++--
19 files changed, 369 insertions(+), 143 deletions(-)
diff --git a/contrib/tzdata/Makefile b/contrib/tzdata/Makefile
index 0087b4596515..2130582c2deb 100644
--- a/contrib/tzdata/Makefile
+++ b/contrib/tzdata/Makefile
@@ -137,7 +137,7 @@ TIME_T_ALTERNATIVES_TAIL = int_least32_t.ck uint_least32_t.ck \
uint_least64_t.ck
# What kind of TZif data files to generate. (TZif is the binary time
-# zone data format that zic generates; see Internet RFC 8536.)
+# zone data format that zic generates; see Internet RFC 9636.)
# If you want only POSIX time, with time values interpreted as
# seconds since the epoch (not counting leap seconds), use
# REDO= posix_only
@@ -255,6 +255,7 @@ LDLIBS=
# -DHAVE_UNISTD_H=0 if does not work*
# -DHAVE_UTMPX_H=0 if does not work*
# -Dlocale_t=XXX if your system uses XXX instead of locale_t
+# -DMKTIME_MIGHT_OVERFLOW if mktime might fail due to time_t overflow
# -DPORT_TO_C89 if tzcode should also run on mostly-C89 platforms+
# Typically it is better to use a later standard. For example,
# with GCC 4.9.4 (2016), prefer '-std=gnu11' to '-DPORT_TO_C89'.
@@ -262,7 +263,7 @@ LDLIBS=
# feature (integers at least 64 bits wide) and maybe more.
# -DRESERVE_STD_EXT_IDS if your platform reserves standard identifiers
# with external linkage, e.g., applications cannot define 'localtime'.
-# -Dssize_t=long on hosts like MS-Windows that lack ssize_t
+# -Dssize_t=int on hosts like MS-Windows that lack ssize_t
# -DSUPPORT_C89=0 if the tzcode library should not support C89 callers
# Although -DSUPPORT_C89=0 might work around latent bugs in callers,
# it does not conform to POSIX.
@@ -285,7 +286,7 @@ LDLIBS=
# This mishandles some past timestamps, as US DST rules have changed.
# It also mishandles settings like TZ='EET-2EEST' for eastern Europe,
# as Europe and US DST rules differ.
-# -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255)
+# -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 254)
# -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
@@ -319,7 +320,8 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \
$(GCC_INSTRUMENT) \
-Wall -Wextra \
-Walloc-size-larger-than=100000 -Warray-bounds=2 \
- -Wbad-function-cast -Wbidi-chars=any,ucn -Wcast-align=strict -Wdate-time \
+ -Wbad-function-cast -Wbidi-chars=any,ucn -Wcast-align=strict -Wcast-qual \
+ -Wdate-time \
-Wdeclaration-after-statement -Wdouble-promotion \
-Wduplicated-branches -Wduplicated-cond -Wflex-array-member-not-at-end \
-Wformat=2 -Wformat-overflow=2 -Wformat-signedness -Wformat-truncation \
@@ -336,7 +338,7 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \
-Wsuggest-attribute=noreturn -Wsuggest-attribute=pure \
-Wtrampolines -Wundef -Wunused-macros -Wuse-after-free=3 \
-Wvariadic-macros -Wvla -Wwrite-strings \
- -Wno-format-nonliteral -Wno-sign-compare
+ -Wno-format-nonliteral -Wno-sign-compare -Wno-type-limits
#
# 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),
@@ -614,8 +616,8 @@ TZS_YEAR= 2050
TZS_CUTOFF_FLAG= -c $(TZS_YEAR)
TZS= to$(TZS_YEAR).tzs
TZS_NEW= to$(TZS_YEAR)new.tzs
-TZS_DEPS= $(YDATA) asctime.c localtime.c \
- private.h tzfile.h zdump.c zic.c
+TZS_DEPS= $(YDATA) localtime.c private.h \
+ strftime.c tzfile.h zdump.c zic.c
TZDATA_DIST = $(COMMON) $(DATA) $(MISC)
# EIGHT_YARDS is just a yard short of the whole ENCHILADA.
EIGHT_YARDS = $(TZDATA_DIST) $(DOCS) $(SOURCES) tzdata.zi
@@ -855,10 +857,10 @@ tzselect: tzselect.ksh version
chmod +x $@.out
mv $@.out $@
-check: check_mild back.ck
+check: check_mild back.ck now.ck
check_mild: check_web check_zishrink \
character-set.ck white-space.ck links.ck mainguard.ck \
- name-lengths.ck now.ck slashed-abbrs.ck sorted.ck \
+ name-lengths.ck slashed-abbrs.ck sorted.ck \
tables.ck ziguard.ck tzs.ck
# True if UTF8_LOCALE does not work;
@@ -1103,7 +1105,7 @@ set-timestamps.out: $(EIGHT_YARDS)
touch -md @1 test.out; then \
rm -f test.out && \
for file in $$files; do \
- if git diff --quiet $$file; then \
+ if git diff --quiet HEAD $$file; then \
time=$$(TZ=UTC0 git log -1 \
--format='tformat:%cd' \
--date='format:%Y-%m-%dT%H:%M:%SZ' \
@@ -1354,13 +1356,13 @@ long-long.ck unsigned.ck: $(VERSION_DEPS)
zonenames: tzdata.zi
@$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi
-asctime.o: private.h tzfile.h
+asctime.o: private.h
date.o: private.h
difftime.o: private.h
-localtime.o: private.h tzfile.h tzdir.h
-strftime.o: private.h tzfile.h
-zdump.o: version.h
-zic.o: private.h tzfile.h tzdir.h version.h
+localtime.o: private.h tzdir.h tzfile.h
+strftime.o: localtime.c private.h tzdir.h tzfile.h
+zdump.o: private.h version.h
+zic.o: private.h tzdir.h tzfile.h version.h
.PHONY: ALL INSTALL all
.PHONY: check check_mild check_time_t_alternatives
diff --git a/contrib/tzdata/NEWS b/contrib/tzdata/NEWS
index 83b8b8c8d39c..a5d7ea89204e 100644
--- a/contrib/tzdata/NEWS
+++ b/contrib/tzdata/NEWS
@@ -1,5 +1,83 @@
News for the tz database
+Release 2025a - 2025-01-15 10:47:24 -0800
+
+ Briefly:
+ Paraguay adopts permanent -03 starting spring 2024.
+ Improve pre-1991 data for the Philippines.
+ Etc/Unknown is now reserved.
+
+ Changes to future timestamps
+
+ Paraguay will stop changing its clocks after the spring-forward
+ transition on 2024-10-06, so it is now permanently at -03.
+ (Thanks to Heitor David Pinto and Even Scharning.)
+ This affects timestamps starting 2025-03-22, as well as the
+ obsolescent tm_isdst flags starting 2024-10-15.
+
+ Changes to past timestamps
+
+ Correct timestamps for the Philippines before 1900, and from 1937
+ through 1990. (Thanks to P Chan for the heads-up and citations.)
+ This includes adjusting local mean time before 1899; fixing
+ transitions in September 1899, January 1937, and June 1954; adding
+ transitions in December 1941, November 1945, March and September
+ 1977, and May and July 1990; and removing incorrect transitions in
+ March and September 1978.
+
+ Changes to data
+
+ Add zone1970.tab lines for the Concordia and Eyre Bird Observatory
+ research stations. (Thanks to Derick Rethans and Jule Dabars.)
+
+ Changes to code
+
+ strftime %s now generates the correct numeric string even when the
+ represented number does not fit into time_t. This is better than
+ generating the numeric equivalent of (time_t) -1, as strftime did
+ in TZDB releases 96a (when %s was introduced) through 2020a and in
+ releases 2022b through 2024b. It is also better than failing and
+ returning 0, as strftime did in releases 2020b through 2022a.
+
+ strftime now outputs an invalid conversion specifier as-is,
+ instead of eliding the leading '%', which confused debugging.
+
+ An invalid TZ now generates the time zone abbreviation "-00", not
+ "UTC", to help the user see that an error has occurred. (Thanks
+ to Arthur David Olson for suggesting a "wrong result".)
+
+ mktime and timeoff no longer incorrectly fail merely because a
+ struct tm component near INT_MIN or INT_MAX overflows when a
+ lower-order component carries into it.
+
+ TZNAME_MAXIMUM, the maximum number of bytes in a proleptic TZ
+ string's time zone abbreviation, now defaults to 254 not 255.
+ This helps reduce the size of internal state from 25480 to 21384
+ on common platforms. This change should not be a problem, as
+ nobody uses such long "abbreviations" and the longstanding tzcode
+ maximum was 16 until release 2023a. For those who prefer no
+ arbitrary limits, you can now specify TZNAME_MAXIMUM values up to
+ PTRDIFF_MAX, a limit forced by C anyway; formerly tzcode silently
+ misbehaved unless TZNAME_MAXIMUM was less than INT_MAX.
+
+ tzset and related functions no longer leak a file descriptor if
+ another thread forks or execs at about the same time and if the
+ platform has O_CLOFORK and O_CLOEXEC respectively. Also, the
+ functions no longer let a TZif file become a controlling terminal.
+
+ 'zdump -' now reads TZif data from /dev/stdin.
+ (From a question by Arthur David Olson.)
+
+ Changes to documentation
+
+ The name Etc/Unknown is now reserved: it will not be used by TZDB.
+ This is for compatibility with CLDR, which uses the string
+ "Etc/Unknown" for an unknown or invalid timezone. (Thanks to
+ Justin Grant, Mark Davis, and Guy Harris.)
+
+ Cite Internet RFC 9636, which obsoletes RFC 8536 for TZif format.
+
+
Release 2024b - 2024-09-04 12:27:47 -0700
Briefly:
@@ -116,7 +194,7 @@ Release 2024b - 2024-09-04 12:27:47 -0700
Changes to commentary
Commentary about historical transitions in Portugal and her former
- colonies has been expanded with links to many relevant legislation.
+ colonies has been expanded with links to relevant legislation.
(Thanks to Tim Parenti.)
@@ -204,10 +282,10 @@ Release 2023d - 2023-12-21 20:02:24 -0800
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.
+ reverts to its common practice before 1981. (Thanks to Jule Dabars.)
Fix predictions for DST transitions in Palestine in 2072-2075,
- correcting a typo introduced in 2023a.
+ correcting a typo introduced in 2023a. (Thanks to Jule Dabars.)
Changes to past and future timestamps
diff --git a/contrib/tzdata/antarctica b/contrib/tzdata/antarctica
index 8d5d6cd1cdd0..2e90a5e09d17 100644
--- a/contrib/tzdata/antarctica
+++ b/contrib/tzdata/antarctica
@@ -174,6 +174,8 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
# France & Italy - year-round base
# Concordia, -750600+1232000, since 2005
+# https://en.wikipedia.org/wiki/Concordia_Station
+# Can use Asia/Singapore, which it has agreed with since inception.
# Germany - year-round base
# Neumayer III, -704080-0081602, since 2009
diff --git a/contrib/tzdata/asia b/contrib/tzdata/asia
index a2480b021225..d4eb058053ed 100644
--- a/contrib/tzdata/asia
+++ b/contrib/tzdata/asia
@@ -3665,21 +3665,70 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
# be immediately followed by 1845-01-01; see R.H. van Gent's
# History of the International Date Line
# https://webspace.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):
-# ... claims that Philippines had DST last time in 1990:
-# http://story.philippinetimes.com/p.x/ct/9/id/145be20cc6b121c0/cid/3e5bbccc730d258c/
-# [a story dated 2006-04-25 by Cris Larano of Dow Jones Newswires,
-# but no details]
-
-# From Paul Eggert (2014-08-14):
-# The following source says DST may be instituted November-January and again
-# March-June, but this is not definite. It also says DST was last proclaimed
-# during the Ramos administration (1992-1998); but again, no details.
-# Carcamo D. PNoy urged to declare use of daylight saving time.
-# Philippine Star 2014-08-05
-# http://www.philstar.com/headlines/2014/08/05/1354152/pnoy-urged-declare-use-daylight-saving-time
+
+# From P Chan (2021-05-10):
+# Here's a fairly comprehensive article in Japanese:
+# https://wiki.suikawiki.org/n/Philippine%20Time
+# (2021-05-16):
+# According to the references listed in the article,
+# the periods that the Philippines (Manila) observed DST or used +9 are:
+#
+# 1936-10-31 24:00 to 1937-01-15 24:00
+# (Proclamation No. 104, Proclamation No. 126)
+# 1941-12-15 24:00 to 1945-11-30 24:00
+# (Proclamation No. 789, Proclamation No. 20)
+# 1954-04-11 24:00 to 1954-06-04 24:00
+# (Proclamation No. 13, Proclamation No. 33)
+# 1977-03-27 24:00 to 1977-09-21 24:00
+# (Proclamation No. 1629, Proclamation No. 1641)
+# 1990-05-21 00:00 to 1990-07-28 24:00
+# (National Emergency Memorandum Order No. 17, Executive Order No. 415)
+#
+# Proclamation No. 104 ... October 30, 1936
+# https://www.officialgazette.gov.ph/1936/10/30/proclamation-no-104-s-1936/
+# Proclamation No. 126 ... January 15, 1937
+# https://www.officialgazette.gov.ph/1937/01/15/proclamation-no-126-s-1937/
+# Proclamation No. 789 ... December 13, 1941
+# https://www.officialgazette.gov.ph/1941/12/13/proclamation-no-789-s-1941/
+# Proclamation No. 20 ... November 11, 1945
+# https://www.officialgazette.gov.ph/1945/11/11/proclamation-no-20-s-1945/
+# Proclamation No. 13 ... April 6, 1954
+# https://www.officialgazette.gov.ph/1954/04/06/proclamation-no-13-s-1954/
+# Proclamation No. 33 ... June 3, 1954
+# https://www.officialgazette.gov.ph/1954/06/03/proclamation-no-33-s-1954/
+# Proclamation No. 1629 ... March 25, 1977
+# https://www.officialgazette.gov.ph/1977/03/25/proclamation-no-1629-s-1977/
+# Proclamation No. 1641 ...May 26, 1977
+# https://www.officialgazette.gov.ph/1977/05/26/proclamation-no-1641-s-1977/
+# National Emergency Memorandum Order No. 17 ... May 2, 1990
+# https://www.officialgazette.gov.ph/1990/05/02/national-emergency-memorandum-order-no-17-s-1990/
+# Executive Order No. 415 ... July 20, 1990
+# https://www.officialgazette.gov.ph/1990/07/20/executive-order-no-415-s-1990/
+#
+# During WWII, Proclamation No. 789 fixed two periods of DST. The first period
+# was set to continue only until January 31, 1942. But Manila was occupied by
+# the Japanese earlier in the month....
+#
+# For the date of the adoption of standard time, Shank[s] gives 1899-05-11.
+# The article is not able to state the basis of that. I guess it was based on
+# a US War Department Circular issued on that date.
+# https://books.google.com/books?id=JZ1PAAAAYAAJ&pg=RA3-PA8
+#
+# However, according to other sources, standard time was adopted on
+# 1899-09-06. Also, the LMT was GMT+8:03:52
+# https://books.google.com/books?id=MOYIAQAAIAAJ&pg=PA521
+# https://books.google.com/books?id=lSnqqatpYikC&pg=PA21
+#
+# From Paul Eggert (2024-09-05):
+# The penultimate URL in P Chan's email refers to page 521 of
+# Selga M, The Time Service in the Philippines.
+# Proc Pan-Pacific Science Congress. Vol. 1 (1923), 519-532.
+# It says, "The change from the meridian 120° 58' 04" to the 120th implied a
+# change of 3 min. 52s.26 in time; consequently on 6th September, 1899,
+# Manila Observatory gave the noon signal 3 min. 52s.26 later than before".
+#
+# Wikipedia says the US declared Manila liberated on March 4, 1945;
+# this doesn't affect clocks, just our time zone abbreviation and DST flag.
# From Paul Goyette (2018-06-15) with URLs updated by Guy Harris (2024-02-15):
# In the Philippines, there is a national law, Republic Act No. 10535
@@ -3697,24 +3746,26 @@ Zone Asia/Hebron 2:20:23 - LMT 1900 Oct
# influence of the sources. There is no current abbreviation for DST,
# so use "PDT", the usual American style.
-# From P Chan (2021-05-10):
-# Here's a fairly comprehensive article in Japanese:
-# https://wiki.suikawiki.org/n/Philippine%20Time
-# From Paul Eggert (2021-05-10):
-# The info in the Japanese table has not been absorbed (yet) below.
-
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Phil 1936 only - Nov 1 0:00 1:00 D
-Rule Phil 1937 only - Feb 1 0:00 0 S
-Rule Phil 1954 only - Apr 12 0:00 1:00 D
-Rule Phil 1954 only - Jul 1 0:00 0 S
-Rule Phil 1978 only - Mar 22 0:00 1:00 D
-Rule Phil 1978 only - Sep 21 0:00 0 S
+Rule Phil 1936 only - Oct 31 24:00 1:00 D
+Rule Phil 1937 only - Jan 15 24:00 0 S
+Rule Phil 1941 only - Dec 15 24:00 1:00 D
+# The following three rules were canceled by Japan:
+#Rule Phil 1942 only - Jan 31 24:00 0 S
+#Rule Phil 1942 only - Mar 1 0:00 1:00 D
+#Rule Phil 1942 only - Jun 30 24:00 0 S
+Rule Phil 1945 only - Nov 30 24:00 0 S
+Rule Phil 1954 only - Apr 11 24:00 1:00 D
+Rule Phil 1954 only - Jun 4 24:00 0 S
+Rule Phil 1977 only - Mar 27 24:00 1:00 D
+Rule Phil 1977 only - Sep 21 24:00 0 S
+Rule Phil 1990 only - May 21 0:00 1:00 D
+Rule Phil 1990 only - Jul 28 24:00 0 S
# Zone NAME STDOFF RULES FORMAT [UNTIL]
-Zone Asia/Manila -15:56:00 - LMT 1844 Dec 31
- 8:04:00 - LMT 1899 May 11
- 8:00 Phil P%sT 1942 May
- 9:00 - JST 1944 Nov
+Zone Asia/Manila -15:56:08 - LMT 1844 Dec 31
+ 8:03:52 - LMT 1899 Sep 6 4:00u
+ 8:00 Phil P%sT 1942 Feb 11 24:00
+ 9:00 - JST 1945 Mar 4
8:00 Phil P%sT
# Bahrain
diff --git a/contrib/tzdata/australasia b/contrib/tzdata/australasia
index 359f9c1f1e10..405944536cd3 100644
--- a/contrib/tzdata/australasia
+++ b/contrib/tzdata/australasia
@@ -1239,10 +1239,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
# The 1992 ending date used in the rules is a best guess;
# it matches what was used in the past.
-# The Australian Bureau of Meteorology FAQ
-# http://www.bom.gov.au/faq/faqgen.htm
-# (1999-09-27) writes that Giles Meteorological Station uses
-# South Australian time even though it's located in Western Australia.
+# From Christopher Hunt (2006-11-21), after an advance warning
+# from Jesper Nørgaard Welen (2006-11-01):
+# WA are trialing DST for three years.
+# http://www.parliament.wa.gov.au/parliament/bills.nsf/9A1B183144403DA54825721200088DF1/$File/Bill175-1B.pdf
# From Paul Eggert (2018-04-01):
# The Guardian Express of Perth, Australia reported today that the
@@ -1254,54 +1254,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
# https://www.communitynews.com.au/guardian-express/news/exclusive-daylight-savings-coming-wa-summer-2018/
# [The article ends with "Today's date is April 1."]
-# Queensland
-
-# From Paul Eggert (2018-02-26):
-# I lack access to the following source for Queensland DST:
-# Pearce C. History of daylight saving time in Queensland.
-# Queensland Hist J. 2017 Aug;23(6):389-403
-# https://search.informit.com.au/documentSummary;dn=994682348436426;res=IELHSS
-
-# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
-# # The state of QUEENSLAND.. [ Courtesy Qld. Dept Premier Econ&Trade Devel ]
-# # [ Dec 1990 ]
-# ...
-# Zone Australia/Queensland 10:00 AQ %sST
-# ...
-# Rule AQ 1971 only - Oct lastSun 2:00 1:00 D
-# Rule AQ 1972 only - Feb lastSun 3:00 0 E
-# Rule AQ 1989 max - Oct lastSun 2:00 1:00 D
-# Rule AQ 1990 max - Mar Sun>=1 3:00 0 E
-
-# From Bradley White (1989-12-24):
-# "Australia/Queensland" now observes daylight time (i.e. from
-# October 1989).
-
-# From Bradley White (1991-03-04):
-# A recent excerpt from an Australian newspaper...
-# ...Queensland...[has] agreed to end daylight saving
-# at 3am tomorrow (March 3)...
-
-# From John Mackin (1991-03-06):
-# I can certainly confirm for my part that Daylight Saving in NSW did in fact
-# end on Sunday, 3 March. I don't know at what hour, though. (It surprised
-# me.)
-
-# From Bradley White (1992-03-08):
-# ...there was recently a referendum in Queensland which resulted
-# in the experimental daylight saving system being abandoned. So, ...
-# ...
-# Rule QLD 1989 1991 - Oct lastSun 2:00 1:00 D
-# Rule QLD 1990 1992 - Mar Sun>=1 3:00 0 S
-# ...
-
-# From Arthur David Olson (1992-03-08):
-# The chosen rules the union of the 1971/1972 change and the 1989-1992 changes.
-
-# From Christopher Hunt (2006-11-21), after an advance warning
-# from Jesper Nørgaard Welen (2006-11-01):
-# WA are trialing DST for three years.
-# http://www.parliament.wa.gov.au/parliament/bills.nsf/9A1B183144403DA54825721200088DF1/$File/Bill175-1B.pdf
+# The Australian Bureau of Meteorology FAQ
+# http://www.bom.gov.au/faq/faqgen.htm
+# (1999-09-27) writes that Giles Meteorological Station uses
+# South Australian time even though it's located in Western Australia.
# From Rives McDow (2002-04-09):
# The most interesting region I have found consists of three towns on the
@@ -1359,6 +1315,59 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
# For lack of better info, assume the tradition dates back to the
# introduction of standard time in 1895.
+# From Stuart Bishop (2024-11-12):
+# An article discussing the in-use but technically unofficial timezones
+# in the Western Australian portion of the Nullarbor Plain.
+# https://www.abc.net.au/news/2024-11-22/outback-wa-properties-strange-time-zones/104542494
+# From Paul Eggert (2024-11-12):
+# As the article says, the Eyre Bird Observatory and nearby sheep stations
+# can use Tokyo time. Other possibilities include Asia/Chita, Asia/Seoul,
+# and Asia/Jayapura.
+
+# Queensland
+
+# From Paul Eggert (2018-02-26):
+# I lack access to the following source for Queensland DST:
+# Pearce C. History of daylight saving time in Queensland.
+# Queensland Hist J. 2017 Aug;23(6):389-403
+# https://search.informit.com.au/documentSummary;dn=994682348436426;res=IELHSS
+
+# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06):
+# # The state of QUEENSLAND.. [ Courtesy Qld. Dept Premier Econ&Trade Devel ]
+# # [ Dec 1990 ]
+# ...
+# Zone Australia/Queensland 10:00 AQ %sST
+# ...
+# Rule AQ 1971 only - Oct lastSun 2:00 1:00 D
+# Rule AQ 1972 only - Feb lastSun 3:00 0 E
+# Rule AQ 1989 max - Oct lastSun 2:00 1:00 D
+# Rule AQ 1990 max - Mar Sun>=1 3:00 0 E
+
+# From Bradley White (1989-12-24):
+# "Australia/Queensland" now observes daylight time (i.e. from
+# October 1989).
+
+# From Bradley White (1991-03-04):
+# A recent excerpt from an Australian newspaper...
+# ...Queensland...[has] agreed to end daylight saving
+# at 3am tomorrow (March 3)...
+
+# From John Mackin (1991-03-06):
+# I can certainly confirm for my part that Daylight Saving in NSW did in fact
+# end on Sunday, 3 March. I don't know at what hour, though. (It surprised
+# me.)
+
+# From Bradley White (1992-03-08):
+# ...there was recently a referendum in Queensland which resulted
+# in the experimental daylight saving system being abandoned. So, ...
+# ...
+# Rule QLD 1989 1991 - Oct lastSun 2:00 1:00 D
+# Rule QLD 1990 1992 - Mar Sun>=1 3:00 0 S
+# ...
+
+# From Arthur David Olson (1992-03-08):
+# The chosen rules the union of the 1971/1972 change and the 1989-1992 changes.
+
# southeast Australia
#
diff --git a/contrib/tzdata/checknow.awk b/contrib/tzdata/checknow.awk
index 8b7881d2e27f..450490ee3768 100644
--- a/contrib/tzdata/checknow.awk
+++ b/contrib/tzdata/checknow.awk
@@ -44,7 +44,7 @@ BEGIN {
END {
for (zone in zone_data) {
data = zone_data[zone]
- if (!zonenow[data]) {
+ if (data && !zonenow[data]) {
printf "Zone table should have one of:%s\n", zones[data]
zonenow[data] = zone # This suppresses duplicate diagnostics.
status = 1
diff --git a/contrib/tzdata/checktab.awk b/contrib/tzdata/checktab.awk
index 9a26e4655ddb..5fa60556be13 100644
--- a/contrib/tzdata/checktab.awk
+++ b/contrib/tzdata/checktab.awk
@@ -9,6 +9,19 @@ BEGIN {
if (!zone_table) zone_table = "zone1970.tab"
if (!want_warnings) want_warnings = -1
+ monthabbr["Jan"] = 1
+ monthabbr["Feb"] = 1
+ monthabbr["Mar"] = 1
+ monthabbr["Apr"] = 1
+ monthabbr["May"] = 1
+ monthabbr["Jun"] = 1
+ monthabbr["Jul"] = 1
+ monthabbr["Aug"] = 1
+ monthabbr["Sep"] = 1
+ monthabbr["Oct"] = 1
+ monthabbr["Nov"] = 1
+ monthabbr["Dec"] = 1
+
while (getline >"/dev/stderr"
+ status = 1
+ }
} else {
+ stdoff = $1
ruleUsed[$2] = 1
if ($3 ~ /%/) rulePercentUsed[$2] = 1
}
+
+ if (stdoff && stdoff !~ /^\-?1?[0-9](:[0-5][0-9](:[0-5][0-9])?)?$/) {
+ printf "%s:%d: unlikely STDOFF: %s\n", FILENAME, FNR, stdoff \
+ >>"/dev/stderr"
+ status = 1
+ }
+
if (tz && tz ~ /\// && tz !~ /^Etc\//) {
if (!tztab[tz] && FILENAME != "backward" \
&& zone_table != "zonenow.tab") {
diff --git a/contrib/tzdata/etcetera b/contrib/tzdata/etcetera
index a5ecd6de1f6e..948531c8d862 100644
--- a/contrib/tzdata/etcetera
+++ b/contrib/tzdata/etcetera
@@ -51,6 +51,10 @@ Link Etc/GMT GMT
# so we moved the names into the Etc subdirectory.
# Also, the time zone abbreviations are now compatible with %z.
+# There is no "Etc/Unknown" entry, as CLDR says that "Etc/Unknown"
+# corresponds to an unknown or invalid time zone, and things would get
+# confusing if Etc/Unknown were made valid here.
+
Zone Etc/GMT-14 14 - %z
Zone Etc/GMT-13 13 - %z
Zone Etc/GMT-12 12 - %z
diff --git a/contrib/tzdata/europe b/contrib/tzdata/europe
index f9063949eb83..df334fc27c1d 100644
--- a/contrib/tzdata/europe
+++ b/contrib/tzdata/europe
@@ -1147,7 +1147,7 @@ Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn
# However, Greenland will change to Daylight Saving Time again in 2024
# and onwards.
-# From a contributor who wishes to remain anonymous for now (2023-10-29):
+# From Jule Dabars (2023-10-29):
# https://www.dr.dk/nyheder/seneste/i-nat-skal-uret-stilles-en-time-tilbage-men-foerste-gang-sker-det-ikke-i-groenland
# with a link to that page:
# https://naalakkersuisut.gl/Nyheder/2023/10/2710_sommertid
diff --git a/contrib/tzdata/factory b/contrib/tzdata/factory
index d116a115990e..14faf52a792e 100644
--- a/contrib/tzdata/factory
+++ b/contrib/tzdata/factory
@@ -8,5 +8,15 @@
# time zone abbreviation "-00", indicating that the actual time zone
# is unknown.
+# TZ="Factory" was added to TZDB in 1989, and in 2016 its abbreviation
+# was changed to "-00" from a longish English-language error message.
+# Around 2010, CLDR added "Etc/Unknown" for use with TZDB, to stand
+# for an unknown or invalid time zone. These two notions differ:
+# TZ="Factory" is a valid timezone, so tzalloc("Factory") succeeds, whereas
+# TZ="Etc/Unknown" is invalid and tzalloc("Etc/Unknown") fails.
+# Also, a downstream distributor could modify Factory to be a
+# default timezone suitable for the devices it manufactures,
+# whereas that cannot happen for Etc/Unknown.
+
# Zone NAME STDOFF RULES FORMAT
Zone Factory 0 - "Local time zone must be set--use tzsetup"
diff --git a/contrib/tzdata/leap-seconds.list b/contrib/tzdata/leap-seconds.list
index da0efc8c8566..6f861c888d75 100644
--- a/contrib/tzdata/leap-seconds.list
+++ b/contrib/tzdata/leap-seconds.list
@@ -60,15 +60,15 @@
#
# The following line shows the last update of this file in NTP timestamp:
#
-#$ 3929093563
+#$ 3945196800
#
# 2) Expiration date of the file given on a semi-annual basis: last June or last December
#
-# File expires on 28 June 2025
+# File expires on 28 December 2025
#
# Expire date in NTP timestamp:
#
-#@ 3960057600
+#@ 3975868800
#
#
# LIST OF LEAP SECONDS
@@ -117,4 +117,4 @@
# please see the readme file in the 'source' directory :
# https://hpiers.obspm.fr/iers/bul/bulc/ntp/sources/README
#
-#h be738595 57b0cf1b b0218343 fb77062f 5a775e7
+#h 848434d5 570f7ea8 d79ba227 a00fc821 f608e2d4
diff --git a/contrib/tzdata/leapseconds b/contrib/tzdata/leapseconds
index 6c715cb20b01..76f771427f25 100644
--- a/contrib/tzdata/leapseconds
+++ b/contrib/tzdata/leapseconds
@@ -69,11 +69,11 @@ Leap 2016 Dec 31 23:59:60 + S
# Any additional leap seconds will come after this.
# This Expires line is commented out for now,
# so that pre-2020a zic implementations do not reject this file.
-#Expires 2025 Jun 28 00:00:00
+#Expires 2025 Dec 28 00:00:00
# POSIX timestamps for the data in this file:
-#updated 1720104763 (2024-07-04 14:52:43 UTC)
-#expires 1751068800 (2025-06-28 00:00:00 UTC)
+#updated 1736208000 (2025-01-07 00:00:00 UTC)
+#expires 1766880000 (2025-12-28 00:00:00 UTC)
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
-# File expires on 28 June 2025
+# File expires on 28 December 2025
diff --git a/contrib/tzdata/northamerica b/contrib/tzdata/northamerica
index 01f392e0e6a4..8d356aa0069d 100644
--- a/contrib/tzdata/northamerica
+++ b/contrib/tzdata/northamerica
@@ -27,9 +27,12 @@
# in New York City (1869-10). His 1870 proposal was based on Washington, DC,
# but in 1872-05 he moved the proposed origin to Greenwich.
-# From Paul Eggert (2018-03-20):
+# From Paul Eggert (2024-11-18):
# Dowd's proposal left many details unresolved, such as where to draw
-# lines between time zones. The key individual who made time zones
+# lines between time zones. Sandford Fleming of the Canadian Pacific Railway
+# argued for Dowd's proposal in 1876, and Cleveland Abbe of the American
+# Meteorology Society published a report in 1879 recommending four US time
+# zones based on GMT. However, the key individual who made time zones
# work in the US was William Frederick Allen - railway engineer,
# managing editor of the Travelers' Guide, and secretary of the
# General Time Convention, a railway standardization group. Allen
@@ -2631,7 +2634,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
# http://puentelibre.mx/noticia/ciudad_juarez_cambio_horario_noviembre_2022/
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
-Rule Mexico 1931 only - April 30 0:00 1:00 D
+Rule Mexico 1931 only - Apr 30 0:00 1:00 D
Rule Mexico 1931 only - Oct 1 0:00 0 S
Rule Mexico 1939 only - Feb 5 0:00 1:00 D
Rule Mexico 1939 only - Jun 25 0:00 0 S
diff --git a/contrib/tzdata/southamerica b/contrib/tzdata/southamerica
index c8d9097aeb14..1fcf65146785 100644
--- a/contrib/tzdata/southamerica
+++ b/contrib/tzdata/southamerica
@@ -1687,7 +1687,7 @@ Rule Para 2005 2009 - Mar Sun>=8 0:00 0 -
# and that on the first Sunday of the month of October, it is to be set
# forward 60 minutes, in all the territory of the Paraguayan Republic.
# ...
-Rule Para 2010 max - Oct Sun>=1 0:00 1:00 -
+Rule Para 2010 2024 - Oct Sun>=1 0:00 1:00 -
Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
#
# From Steffen Thorsen (2013-03-07):
@@ -1706,14 +1706,35 @@ Rule Para 2010 2012 - Apr Sun>=8 0:00 0 -
# https://www.abc.com.py/politica/2023/07/12/promulgacion-el-cambio-de-hora-sera-por-ley/
# From Carlos Raúl Perasso (2023-07-27):
# http://silpy.congreso.gov.py/descarga/ley-144138
-Rule Para 2013 max - Mar Sun>=22 0:00 0 -
+Rule Para 2013 2024 - Mar Sun>=22 0:00 0 -
+#
+# From Heitor David Pinto (2024-09-24):
+# Today the Congress of Paraguay passed a bill to observe UTC-3 permanently....
+# The text of the bill says that it would enter into force on the first
+# Sunday in October 2024, the same date currently scheduled to start DST....
+# https://silpy.congreso.gov.py/web/expediente/132531
+# (2024-10-14):
+# The president approved the law on 11 October 2024,
+# and it was officially published on 14 October 2024.
+# https://www.gacetaoficial.gov.py/index/detalle_publicacion/89723
+# The text of the law says that it enters into force on the first
+# Sunday in October 2024 (6 October 2024). But the constitution
+# prohibits retroactive effect, and the civil code says that laws
+# enter into force on the day after their publication or on the day
+# that they specify, and it also says that they don't have retroactive
+# effect. So I think that the time change on 6 October 2024 should
+# still be considered as DST according to the previous law, and
+# permanently UTC-3 from 15 October 2024 according to the new law....
+# https://www.constituteproject.org/constitution/Paraguay_2011
+# https://www.oas.org/dil/esp/codigo_civil_paraguay.pdf
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Asuncion -3:50:40 - LMT 1890
-3:50:40 - AMT 1931 Oct 10 # Asunción Mean Time
-4:00 - %z 1972 Oct
-3:00 - %z 1974 Apr
- -4:00 Para %z
+ -4:00 Para %z 2024 Oct 15
+ -3:00 - %z
# Peru
#
diff --git a/contrib/tzdata/theory.html b/contrib/tzdata/theory.html
index d3573ede0dfb..352a3d87078f 100644
--- a/contrib/tzdata/theory.html
+++ b/contrib/tzdata/theory.html
@@ -123,8 +123,9 @@ If geolocation information is available, a selection interface can
locate the user on a timezone map or prioritize names that are
geographically close. For an example selection interface, see the
tzselect
program in the tz
code.
-The Unicode Common Locale Data
-Repository contains data that may be useful for other selection
+Unicode's Common Locale Data
+Repository (CLDR)
+contains data that may be useful for other selection
interfaces; it maps timezone names like Europe/Prague
to
locale-dependent strings like "Prague", "Praha", "Прага", and "布拉格".
@@ -200,6 +201,8 @@ in decreasing order of importance:
A name must not be empty, or contain '//
', or
start or end with '/
'.
+ Also, a name must not be 'Etc/Unknown
', as
+ CLDR uses that string for an unknown or invalid timezone.
Do not use names that differ only in case.
@@ -220,10 +223,18 @@ in decreasing order of importance:
do not need locations, since local time is not defined there.
- If all the clocks in a timezone have agreed since 1970,
- do not bother to include more than one timezone
- even if some of the clocks disagreed before 1970.
+ If all clocks in a region have agreed since 1970,
+ give them just one name even if some of the clocks disagreed before 1970,
+ or reside in different countries or in notable or faraway locations.
Otherwise these tables would become annoyingly large.
+ For example, do not create a name Indian/Crozet
+ as a near-duplicate or alias of Asia/Dubai
+ merely because they are different countries or territories,
+ or their clocks disagreed before 1970, or the
+ Crozet Islands
+ are notable in their own right,
+ or the Crozet Islands are not adjacent to other locations
+ that use Asia/Dubai
.
If boundaries between regions are fluid, such as during a war or
@@ -579,10 +590,10 @@ in decreasing order of importance:
locations while uninhabited.
The leading '-
' is a flag that the UT offset is in
some sense undefined; this notation is derived
- from Internet
+ from Internet
RFC 3339.
(The abbreviation 'Z' that
- Internet
+ Internet
RFC 9557 uses for this concept
would violate the POSIX requirement
of at least three characters in an abbreviation.)
@@ -1115,8 +1126,8 @@ However POSIX.1-2024, like earlier POSIX editions, has some limitations:
the name of a file from which time-related information is read.
The file's format is TZif,
a timezone information format that contains binary data; see
- Internet
- RFC 8536.
+ Internet
+ RFC 9636.
The daylight saving time rules to be used for a
particular timezone are encoded in the
TZif file; the format of the file allows US,
@@ -1201,12 +1212,15 @@ The vestigial APIs are:
The tm_isdst
member is almost never needed and most of
its uses should be discouraged in favor of the abovementioned
APIs.
+ It was intended as an index into the tzname
variable,
+ but as mentioned previously that usage is obsolete.
Although it can still be used in arguments to
mktime
to disambiguate timestamps near
a DST transition when the clock jumps back on
platforms lacking tm_gmtoff
, this
- disambiguation does not work when standard time itself jumps back,
- which can occur when a location changes to a time zone with a
+ disambiguation works only for proleptic TZ
strings;
+ it does not work in general for geographical timezones,
+ such as when a location changes to a time zone with a
lesser UT offset.
@@ -1223,8 +1237,8 @@ The vestigial APIs are:
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 nonzero) to learn the correct time
+ use strftime
with a %Z
conversion specification
+ to learn the correct time
zone abbreviation to use.
diff --git a/contrib/tzdata/version b/contrib/tzdata/version
index 699e50d4d38e..0846b7f265fa 100644
--- a/contrib/tzdata/version
+++ b/contrib/tzdata/version
@@ -1 +1 @@
-2024b
+2025a
diff --git a/contrib/tzdata/zone.tab b/contrib/tzdata/zone.tab
index bfc0b5933044..d2be66359f3b 100644
--- a/contrib/tzdata/zone.tab
+++ b/contrib/tzdata/zone.tab
@@ -310,7 +310,7 @@ PF -0900-13930 Pacific/Marquesas Marquesas Islands
PF -2308-13457 Pacific/Gambier Gambier Islands
PG -0930+14710 Pacific/Port_Moresby most of Papua New Guinea
PG -0613+15534 Pacific/Bougainville Bougainville
-PH +1435+12100 Asia/Manila
+PH +143512+1205804 Asia/Manila
PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
diff --git a/contrib/tzdata/zone1970.tab b/contrib/tzdata/zone1970.tab
index 764215888efa..3a5a71c508d4 100644
--- a/contrib/tzdata/zone1970.tab
+++ b/contrib/tzdata/zone1970.tab
@@ -184,7 +184,7 @@ IR +3540+05126 Asia/Tehran
IT,SM,VA +4154+01229 Europe/Rome
JM +175805-0764736 America/Jamaica
JO +3157+03556 Asia/Amman
-JP +353916+1394441 Asia/Tokyo
+JP,AU +353916+1394441 Asia/Tokyo Eyre Bird Observatory
KE,DJ,ER,ET,KM,MG,SO,TZ,UG,YT -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KI,MH,TV,UM,WF +0125+17300 Pacific/Tarawa Gilberts, Marshalls, Wake
@@ -247,7 +247,7 @@ PF -0900-13930 Pacific/Marquesas Marquesas Islands
PF -2308-13457 Pacific/Gambier Gambier Islands
PG,AQ,FM -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas), Chuuk, Yap, Dumont d'Urville
PG -0613+15534 Pacific/Bougainville Bougainville
-PH +1435+12100 Asia/Manila
+PH +143512+1205804 Asia/Manila
PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
@@ -294,7 +294,7 @@ RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
SA,AQ,KW,YE +2438+04643 Asia/Riyadh Syowa
SB,FM -0932+16012 Pacific/Guadalcanal Pohnpei
SD +1536+03232 Africa/Khartoum
-SG,MY +0117+10351 Asia/Singapore peninsular Malaysia
+SG,AQ,MY +0117+10351 Asia/Singapore peninsular Malaysia, Concordia
SR +0550-05510 America/Paramaribo
SS +0451+03137 Africa/Juba
ST +0020+00644 Africa/Sao_Tome
diff --git a/contrib/tzdata/zonenow.tab b/contrib/tzdata/zonenow.tab
index 01f536b3ba38..d2c1e48584f8 100644
--- a/contrib/tzdata/zonenow.tab
+++ b/contrib/tzdata/zonenow.tab
@@ -97,9 +97,6 @@ XX +1828-06954 America/Santo_Domingo Atlantic Standard ("AST") - eastern Caribbe
# -04/-03 (Chile DST)
XX -3327-07040 America/Santiago most of Chile
#
-# -04/-03 (Paraguay DST)
-XX -2516-05740 America/Asuncion Paraguay
-#
# -04/-03 - AST/ADT (North America DST)
XX +4439-06336 America/Halifax Atlantic ("AST/ADT") - Canada; Bermuda
#
@@ -224,7 +221,7 @@ XX +1345+10031 Asia/Bangkok Russia; Indochina; Christmas Island
XX -0610+10648 Asia/Jakarta Indonesia ("WIB")
#
# +08
-XX +0117+10351 Asia/Singapore Russia; Brunei; Malaysia; Singapore
+XX +0117+10351 Asia/Singapore Russia; Brunei; Malaysia; Singapore; Concordia
#
# +08 - AWST
XX -3157+11551 Australia/Perth Western Australia ("AWST")
*** 18 LINES SKIPPED ***