mirror of
https://git.freebsd.org/src.git
synced 2026-01-11 19:57:22 +00:00
Import tzdata 2025c
This commit is contained in:
parent
09f889d4a3
commit
7d227f6f7a
23 changed files with 693 additions and 419 deletions
36
CONTRIBUTING
36
CONTRIBUTING
|
|
@ -10,26 +10,27 @@ 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. In your email, please give
|
||||
reliable sources that reviewers can check.
|
||||
reliable sources that reviewers can check. The mailing list and its
|
||||
archives are public, so please do not send confidential information.
|
||||
|
||||
## Contributing technical changes
|
||||
|
||||
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.
|
||||
‘diff -u old/europe new/europe >myfix.patch’, and attach
|
||||
‘myfix.patch’ to the email.
|
||||
|
||||
For more-elaborate or possibly controversial changes,
|
||||
such as renaming, adding or removing zones, please read
|
||||
"Theory and pragmatics of the tz code and data"
|
||||
“Theory and pragmatics of the tz code and data”
|
||||
<https://www.iana.org/time-zones/repository/theory.html>.
|
||||
It is also good to browse the mailing list archives
|
||||
<https://lists.iana.org/hyperkitty/list/tz@iana.org/>
|
||||
for examples of patches that tend to work well.
|
||||
Changes should contain commentary citing reliable sources.
|
||||
Citations should use "https:" URLs if available.
|
||||
Citations should use ‘https:’ URLs if available.
|
||||
|
||||
For changes that fix sensitive security-related bugs, please see the
|
||||
distribution's 'SECURITY' file.
|
||||
distribution’s SECURITY file.
|
||||
|
||||
Please submit changes against either the latest release
|
||||
<https://www.iana.org/time-zones> or the main branch of the development
|
||||
|
|
@ -54,11 +55,11 @@ If you use Git the following workflow may be helpful:
|
|||
|
||||
git checkout -b mybranch
|
||||
|
||||
* Sleuth by using 'git blame'. For example, when fixing data for
|
||||
Africa/Sao_Tome, if the command 'git blame africa' outputs a line
|
||||
'2951fa3b (Paul Eggert 2018-01-08 09:03:13 -0800 1068) Zone
|
||||
Africa/Sao_Tome 0:26:56 - LMT 1884', commit 2951fa3b should
|
||||
provide some justification for the 'Zone Africa/Sao_Tome' line.
|
||||
* Sleuth by using ‘git blame’. For example, when fixing data for
|
||||
Africa/Sao_Tome, if the command ‘git blame africa’ outputs a line
|
||||
‘2951fa3b (Paul Eggert 2018-01-08 09:03:13 -0800 1068) Zone
|
||||
Africa/Sao_Tome 0:26:56 - LMT 1884’, commit 2951fa3b should
|
||||
provide some justification for the ‘Zone Africa/Sao_Tome’ line.
|
||||
|
||||
* Edit source files. Include commentary that justifies the
|
||||
changes by citing reliable sources.
|
||||
|
|
@ -69,28 +70,31 @@ If you use Git the following workflow may be helpful:
|
|||
./zdump -v America/Los_Angeles
|
||||
|
||||
Although builds assume only basic POSIX, they use extra features
|
||||
if available. 'make check' accesses validator.w3.org unless you
|
||||
lack 'curl' or use 'make CURL=:'. If you have the latest GCC,
|
||||
"make CFLAGS='$(GCC_DEBUG_FLAGS)'" does extra checking.
|
||||
if available. ‘make check’ accesses validator.w3.org unless you
|
||||
lack ‘curl’ or use ‘make CURL=:’. If you have the latest GCC,
|
||||
‘make CFLAGS='$(GCC_DEBUG_FLAGS)'’ does extra checking.
|
||||
|
||||
* For each separable change, commit it in the new branch, e.g.:
|
||||
|
||||
git add northamerica
|
||||
git commit
|
||||
|
||||
See recent 'git log' output for the commit-message style.
|
||||
See recent ‘git log’ output for the commit-message style.
|
||||
|
||||
* Create patch files 0001-..., 0002-..., ...
|
||||
|
||||
git format-patch main
|
||||
|
||||
* Check that the patch files and your email setup contain only
|
||||
information that you want to make public.
|
||||
|
||||
* After reviewing the patch files, send the patches to <tz@iana.org>
|
||||
for others to review.
|
||||
|
||||
git send-email main
|
||||
|
||||
For an archived example of such an email, see
|
||||
"[PROPOSED] Fix off-by-1 error for Jamaica and T&C before 1913"
|
||||
“[PROPOSED] Fix off-by-1 error for Jamaica and T&C before 1913”
|
||||
<https://mm.icann.org/pipermail/tz/2018-February/026122.html>.
|
||||
|
||||
* Start anew by getting current with the main branch again
|
||||
|
|
|
|||
196
Makefile
196
Makefile
|
|
@ -3,17 +3,30 @@
|
|||
# 2009-05-17 by Arthur David Olson.
|
||||
# Request POSIX conformance; this must be the first non-comment line.
|
||||
.POSIX:
|
||||
# By default, builds of code and data assume POSIX.1-2001 or later;
|
||||
# this assumption can be relaxed by tailoring the build as described below.
|
||||
# On older platforms you may need to scrounge for POSIX conformance.
|
||||
# For example, on Solaris 10 (2005) with Sun Studio 12 aka Sun C 5.9 (2007),
|
||||
# use 'PATH=/usr/xpg4/bin:$PATH make CC=c99'.
|
||||
# Reproducible builds of distribution tarballs also need a copy of the
|
||||
# Git repository, and assume the behavior of the following programs
|
||||
# (or later versions):
|
||||
# Git 2.7.0 (2016)
|
||||
# GNU Coreutils 6.3 (2006)
|
||||
# GNU Tar 1.14 (2004)
|
||||
# GnuPG 1.4 (2004)
|
||||
# Although tzdb does not come with a software bill of materials,
|
||||
# you should be able to construct one based on the above information,
|
||||
# your platform, and the way you use this Makefile.
|
||||
|
||||
# To affect how this Makefile works, you can run a shell script like this:
|
||||
#
|
||||
# #!/bin/sh
|
||||
# make CC='gcc -std=gnu23' "$@"
|
||||
# make CFLAGS='-O2 -DHAVE_GETTEXT=0' "$@"
|
||||
#
|
||||
# This example script is appropriate for a circa 2024 GNU/Linux system
|
||||
# where a non-default setting enables this package's optional use of C23.
|
||||
# This example script is appropriate for a GNU/Linux system
|
||||
# which needs more optimization than default, and which does not want
|
||||
# gettext's internationalization of diagnostics.
|
||||
#
|
||||
# Alternatively, you can simply edit this Makefile to tailor the following
|
||||
# macro definitions.
|
||||
|
|
@ -150,8 +163,9 @@ TIME_T_ALTERNATIVES_TAIL = int_least32_t.ck uint_least32_t.ck \
|
|||
# below. If you want both sets of data available, with leap seconds counted
|
||||
# normally, use
|
||||
# REDO= right_posix
|
||||
# below. POSIX mandates that leap seconds not be counted; for compatibility
|
||||
# with it, use "posix_only" or "posix_right". Use POSIX time on systems with
|
||||
# below. POSIX mandates that leap seconds not be counted, and a
|
||||
# nonnegative TZ_CHANGE_INTERVAL also assumes this, so to be compatible with
|
||||
# these, 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).
|
||||
|
|
@ -206,6 +220,12 @@ PACKRATLIST=
|
|||
|
||||
UTF8_LOCALE= en_US.utf8
|
||||
|
||||
# Extra flags for producing man page files like tzfile.5.txt.
|
||||
# These flags are used only if groff (or mandoc) is present.
|
||||
# Each option should begin with "-" and should lack shell metacharacters.
|
||||
# Plausible options include -Tascii and -Tutf8.
|
||||
MANFLAGS= -Tutf8
|
||||
|
||||
# Non-default libraries needed to link.
|
||||
# On some hosts, this should have -lintl unless CFLAGS has -DHAVE_GETTEXT=0.
|
||||
LDLIBS=
|
||||
|
|
@ -219,14 +239,19 @@ LDLIBS=
|
|||
# -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.
|
||||
# -DFREE_PRESERVES_ERRNO=[01] if the 'free' function munges or preserves errno
|
||||
# (default is guessed)
|
||||
# -DHAVE_DECL_ASCTIME_R=0 if <time.h> does not declare asctime_r
|
||||
# on POSIX platforms predating POSIX.1-2024
|
||||
# -DHAVE_DECL_ENVIRON if <unistd.h> declares 'environ'
|
||||
# -DHAVE_DECL_TIMEGM=0 if <time.h> does not declare timegm
|
||||
# -DHAVE_DIRECT_H if mkdir needs <direct.h> (MS-Windows)
|
||||
# -DHAVE_FCHMOD=0 if your system lacks the fchmod function
|
||||
# -DHAVE__GENERIC=0 if _Generic does not work*
|
||||
# -DHAVE_GETEUID=0 if gete?[ug]id do not work
|
||||
# -DHAVE_GETRANDOM if getrandom works (e.g., GNU/Linux),
|
||||
# -DHAVE_GETRANDOM=0 to avoid using getrandom
|
||||
# -DHAVE_GETRESUID=0 if getres[ug]id do not work
|
||||
# -DHAVE_GETTEXT if gettext works (e.g., GNU/Linux, FreeBSD, Solaris),
|
||||
# where LDLIBS also needs to contain -lintl on some hosts;
|
||||
# -DHAVE_GETTEXT=0 to avoid using gettext
|
||||
|
|
@ -234,28 +259,43 @@ LDLIBS=
|
|||
# ctime_r and asctime_r incompatibly with POSIX.1-2017 and earlier
|
||||
# (Solaris when _POSIX_PTHREAD_SEMANTICS is not defined).
|
||||
# -DHAVE_INTTYPES_H=0 if <inttypes.h> does not work*+
|
||||
# -DHAVE_ISSETUGID=1 if issetugid works, 0 otherwise (default is guessed)
|
||||
# If 0, you may also use -DHAVE_SYS_AUXV_H=1 if <sys/auxv.h> works,
|
||||
# 0 otherwise (default is guessed).
|
||||
# -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
|
||||
# localtime_rz can make zdump significantly faster, but is nonstandard.
|
||||
# -DHAVE_MALLOC_ERRNO=0 if malloc etc. do not set errno on failure.
|
||||
# -DHAVE_MEMPCPY=1 if your system has mempcpy, 0 if not (default is guessed)
|
||||
# -DHAVE_POSIX_DECLS=0 if your system's include files do not declare
|
||||
# functions like 'link' or variables like 'tzname' required by POSIX
|
||||
# variables like 'tzname' required by POSIX
|
||||
# -DHAVE_PWD_H=0 if your system lacks pwd.h, grp.h and corresponding functions
|
||||
# If 0, you may also need -Dgid_t=G -Duid_t=U
|
||||
# to define gid_t and uid_t to be types G and U.
|
||||
# -DHAVE_SETENV=0 if your system lacks the setenv function
|
||||
# -DHAVE_SETMODE=[01] if your system lacks or has the setmode and getmode
|
||||
# functions (default is guessed)
|
||||
# -DHAVE_SNPRINTF=0 if your system lacks the snprintf function+
|
||||
# -DHAVE_STDCKDINT_H=0 if neither <stdckdint.h> nor substitutes like
|
||||
# __builtin_add_overflow work*
|
||||
# -DHAVE_STDINT_H=0 if <stdint.h> does not work*+
|
||||
# -DHAVE_STRFTIME_L if <time.h> declares locale_t and strftime_l
|
||||
# -DHAVE_STRDUP=0 if your system lacks the strdup function
|
||||
# -DHAVE_STRNLEN=0 if your system lacks the strnlen function+
|
||||
# -DHAVE_STRTOLL=0 if your system lacks the strtoll function+
|
||||
# -DHAVE_STRUCT_STAT_ST_CTIM=0 if struct stat lacks a member st_ctim+
|
||||
# -DHAVE_STRUCT_TIMESPEC=0 if your system lacks struct timespec+
|
||||
# -DHAVE_SYMLINK=0 if your system lacks the symlink function
|
||||
# -DHAVE_SYS_STAT_H=0 if <sys/stat.h> does not work*
|
||||
# If 0, you may also need -Dmode_t=M to define mode_t to be type M.
|
||||
# -DHAVE_TZSET=0 if your system lacks a tzset function
|
||||
# -DHAVE_UNISTD_H=0 if <unistd.h> does not work*
|
||||
# -DHAVE_UTMPX_H=0 if <utmpx.h> 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
|
||||
# -DOPENAT_TZDIR if tzset should use openat on TZDIR then a relative open.
|
||||
# See localtime.c for details.
|
||||
# -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'.
|
||||
|
|
@ -274,8 +314,36 @@ LDLIBS=
|
|||
# -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.
|
||||
# The following options can also be used:
|
||||
# -DTHREAD_PREFER_SINGLE to prefer speed in single-threaded apps,
|
||||
# at some cost in CPU time and energy in multi-threaded apps.
|
||||
# The following options can also be used:
|
||||
# -DHAVE___ISTHREADED=1 if there is an extern int __isthreaded
|
||||
# variable, 0 otherwise (default is guessed)
|
||||
# -DHAVE_SYS_SINGLE_THREADED_H=0 if <sys/single_threaded.h> works,
|
||||
# 0 otherwise (default is guessed)
|
||||
# -DTHREAD_RWLOCK to use read-write locks intead of mutexes.
|
||||
# This can improve paralellism and thus save real time
|
||||
# if many threads call tzcode functions simultaneously.
|
||||
# It also costs CPU time and thus energy.
|
||||
# -DTHREAD_TM_MULTI to have gmtime, localtime, and offtime
|
||||
# return different struct tm * addresses in different threads.
|
||||
# This supports unportable programs that call
|
||||
# gmtime/localtime/offtime when they should call
|
||||
# gmtime_r/localtime_r/offtime_r to avoid races.
|
||||
# Because the corresponding storage is freed on thread exit,
|
||||
# this option is incompatible with POSIX.1-2024 and earlier.
|
||||
# It also costs CPU time and memory.
|
||||
# -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_CHANGE_INTERVAL=N if functions depending on TZ should check
|
||||
# no more often than every N seconds for TZif file changes.
|
||||
# If N is negative (the default), no such checking is done.
|
||||
# This option is intended for platforms that want localtime etc.
|
||||
# to respond to changes to a file selected by TZ, including to
|
||||
# TZDEFAULT (normally /etc/localtime) if TZ is unset.
|
||||
# On these platforms, REDO should be "posix_only" or "posix_right".
|
||||
# This option does not affect tzalloc-allocated objects.
|
||||
# -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"
|
||||
|
|
@ -314,7 +382,7 @@ LDLIBS=
|
|||
# Select instrumentation via "make GCC_INSTRUMENT='whatever'".
|
||||
GCC_INSTRUMENT = \
|
||||
-fsanitize=undefined -fsanitize-address-use-after-scope \
|
||||
-fsanitize-undefined-trap-on-error -fstack-protector
|
||||
-fsanitize-trap=all -fstack-protector
|
||||
# Omit -fanalyzer from GCC_DEBUG_FLAGS, as it makes GCC too slow.
|
||||
GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \
|
||||
$(GCC_INSTRUMENT) \
|
||||
|
|
@ -393,7 +461,9 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 \
|
|||
# functions to be added to the time conversion library.
|
||||
# "offtime" is like "gmtime" except that it accepts a second (long) argument
|
||||
# that gives an offset to add to the time_t when converting it.
|
||||
# I.e., "offtime" is like calling "localtime_rz" with a fixed-offset zone.
|
||||
# "offtime_r" is to "offtime" what "gmtime_r" is to "gmtime".
|
||||
# I.e., "offtime" and "offtime_r" are like calling "localtime_rz"
|
||||
# with a fixed-offset zone.
|
||||
# "timelocal" is nearly equivalent to "mktime".
|
||||
# "timeoff" is like "timegm" except that it accepts a second (long) argument
|
||||
# that gives an offset to use when converting to a time_t.
|
||||
|
|
@ -451,6 +521,11 @@ leaplist_URI = \
|
|||
https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list
|
||||
# The file is generated by the IERS Earth Orientation Centre, in Paris.
|
||||
leaplist_TZ = Europe/Paris
|
||||
#
|
||||
# To fetch leap-seconds.list from NIST via a less-secure protocol
|
||||
# and with less-volatile metadata, use these settings:
|
||||
#leaplist_URI = ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list
|
||||
#leaplist_TZ = America/Denver
|
||||
|
||||
# The zic command and its arguments.
|
||||
|
||||
|
|
@ -510,13 +585,10 @@ SAFE_CHARSET3= 'abcdefghijklmnopqrstuvwxyz{|}~'
|
|||
SAFE_CHARSET= $(SAFE_CHARSET1)$(SAFE_CHARSET2)$(SAFE_CHARSET3)
|
||||
SAFE_CHAR= '[]'$(SAFE_CHARSET)'-]'
|
||||
|
||||
# These non-alphabetic, non-ASCII printable characters are Latin-1,
|
||||
# and so are likely displayable even in editors like XEmacs 21
|
||||
# that have limited display capabilities.
|
||||
UNUSUAL_OK_LATIN_1 = ¡¢£¤¥¦§¨©«¬®¯°±²³´¶·¸¹»¼½¾¿×÷
|
||||
# Non-ASCII non-letters that OK_CHAR allows, as these characters are
|
||||
# useful in commentary.
|
||||
UNUSUAL_OK_CHARSET= $(UNUSUAL_OK_LATIN_1)
|
||||
# These non-alphabetic, non-ASCII printable characters are
|
||||
# used in commentary or in generated *.txt files
|
||||
# and are not likely to cause confusion.
|
||||
UNUSUAL_OK_CHARSET= §«°±»½¾×–‘’“”•→−≤★⟨⟩⯪
|
||||
|
||||
# Put this in a bracket expression to match spaces.
|
||||
s = [:space:]
|
||||
|
|
@ -525,9 +597,6 @@ s = [:space:]
|
|||
# This is the same as SAFE_CHAR, except that UNUSUAL_OK_CHARSET and
|
||||
# multibyte letters are also allowed so that commentary can contain a
|
||||
# few safe symbols and people's names and can quote non-English sources.
|
||||
# Other non-letters are limited to ASCII renderings for the
|
||||
# convenience of maintainers using XEmacs 21.5.34, which by default
|
||||
# mishandles Unicode characters U+0100 and greater.
|
||||
OK_CHAR= '[][:alpha:]$(UNUSUAL_OK_CHARSET)'$(SAFE_CHARSET)'-]'
|
||||
|
||||
# SAFE_LINE matches a line of safe characters.
|
||||
|
|
@ -874,9 +943,9 @@ UTF8_LOCALE_MISSING = \
|
|||
character-set.ck: $(ENCHILADA)
|
||||
$(UTF8_LOCALE_MISSING) || { \
|
||||
sharp='#' && \
|
||||
! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \
|
||||
$(MISC) $(SOURCES) $(WEB_PAGES) \
|
||||
CONTRIBUTING LICENSE README SECURITY \
|
||||
! grep -Env $(SAFE_LINE) $(MANS) date.1 \
|
||||
$(MISC) $(SOURCES) \
|
||||
LICENSE \
|
||||
version tzdata.zi && \
|
||||
! grep -Env $(SAFE_LINE)'|^UNUSUAL_OK_'$(OK_CHAR)'*$$' \
|
||||
Makefile && \
|
||||
|
|
@ -888,11 +957,9 @@ character-set.ck: $(ENCHILADA)
|
|||
|
||||
white-space.ck: $(ENCHILADA)
|
||||
$(UTF8_LOCALE_MISSING) || { \
|
||||
enchilada='$(ENCHILADA)' && \
|
||||
patfmt=' \t|[\f\r\v]' && pat=$$(printf "$$patfmt\\n") && \
|
||||
! grep -En "$$pat|[$s]\$$" \
|
||||
$${enchilada%leap-seconds.list*} \
|
||||
$${enchilada#*leap-seconds.list}; \
|
||||
$(ENCHILADA:leap-seconds.list=); \
|
||||
}
|
||||
touch $@
|
||||
|
||||
|
|
@ -959,8 +1026,10 @@ now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab
|
|||
./zdump -i -t 0,$$future \
|
||||
$$(find "$$PWD/$@d" -name Etc -prune \
|
||||
-o -type f ! -name '*.tab' -print) \
|
||||
>$@d/zdump-1970.tab
|
||||
>$@d/zdump-1970.tab && \
|
||||
$(AWK) \
|
||||
-v now=$$now \
|
||||
-v now_out=$@.out \
|
||||
-v zdump_table=$@d/zdump-now.tab \
|
||||
-f checknow.awk zonenow.tab
|
||||
$(AWK) \
|
||||
|
|
@ -970,7 +1039,8 @@ now.ck: checknow.awk date tzdata.zi zdump zic zone1970.tab zonenow.tab
|
|||
-v zdump_table=$@d/zdump-1970.tab \
|
||||
-f checknow.awk
|
||||
rm -fr $@d
|
||||
touch $@
|
||||
touch $@.out
|
||||
mv $@.out $@
|
||||
|
||||
tables.ck: checktab.awk $(YDATA) backward zone.tab zone1970.tab
|
||||
for tab in $(ZONETABLES); do \
|
||||
|
|
@ -1031,7 +1101,7 @@ zishrink-posix.ck zishrink-right.ck: \
|
|||
|
||||
clean_misc:
|
||||
rm -fr *.ckd *.dir
|
||||
rm -f *.ck *.core *.o *.out core core.* \
|
||||
rm -f *.ck *.core *.o *.out *.t core core.* \
|
||||
date tzdir.h tzselect version.h zdump zic libtz.a
|
||||
clean: clean_misc
|
||||
rm -fr tzdb-*/
|
||||
|
|
@ -1059,7 +1129,7 @@ zdump.8.txt: zdump.8
|
|||
zic.8.txt: zic.8
|
||||
|
||||
$(MANTXTS): workman.sh
|
||||
LC_ALL=C sh workman.sh $(@:.txt=) >$@.out
|
||||
LC_ALL=C sh workman.sh $(MANFLAGS) $(@:.txt=) >$@.out
|
||||
mv $@.out $@
|
||||
|
||||
# Set file timestamps deterministically if possible,
|
||||
|
|
@ -1108,7 +1178,7 @@ set-timestamps.out: $(EIGHT_YARDS)
|
|||
if git diff --quiet HEAD $$file; then \
|
||||
time=$$(TZ=UTC0 git log -1 \
|
||||
--format='tformat:%cd' \
|
||||
--date='format:%Y-%m-%dT%H:%M:%SZ' \
|
||||
--date='format-local:%Y-%m-%dT%H:%M:%SZ' \
|
||||
$$file) && \
|
||||
echo "+ touch -md $$time $$file" && \
|
||||
touch -md $$time $$file; \
|
||||
|
|
@ -1207,12 +1277,12 @@ $(TIME_T_ALTERNATIVES): $(VERSION_DEPS)
|
|||
touch $@
|
||||
|
||||
TRADITIONAL_ASC = \
|
||||
tzcode$(VERSION).tar.gz.asc \
|
||||
tzdata$(VERSION).tar.gz.asc
|
||||
tzcode$(VERSION).tar.gz.asc.t \
|
||||
tzdata$(VERSION).tar.gz.asc.t
|
||||
REARGUARD_ASC = \
|
||||
tzdata$(VERSION)-rearguard.tar.gz.asc
|
||||
tzdata$(VERSION)-rearguard.tar.gz.asc.t
|
||||
ALL_ASC = $(TRADITIONAL_ASC) $(REARGUARD_ASC) \
|
||||
tzdb-$(VERSION).tar.lz.asc
|
||||
tzdb-$(VERSION).tar.lz.asc.t
|
||||
|
||||
tarballs rearguard_tarballs tailored_tarballs traditional_tarballs \
|
||||
signatures rearguard_signatures traditional_signatures: \
|
||||
|
|
@ -1224,29 +1294,31 @@ signatures rearguard_signatures traditional_signatures: \
|
|||
# other means. Ordinarily these rules are used only by the above
|
||||
# non-_version rules, which set VERSION on the 'make' command line.
|
||||
tarballs_version: traditional_tarballs_version rearguard_tarballs_version \
|
||||
tzdb-$(VERSION).tar.lz
|
||||
tzdb-$(VERSION).tar.lz.t
|
||||
rearguard_tarballs_version: \
|
||||
tzdata$(VERSION)-rearguard.tar.gz
|
||||
tzdata$(VERSION)-rearguard.tar.gz.t
|
||||
traditional_tarballs_version: \
|
||||
tzcode$(VERSION).tar.gz tzdata$(VERSION).tar.gz
|
||||
tzcode$(VERSION).tar.gz.t tzdata$(VERSION).tar.gz.t
|
||||
tailored_tarballs_version: \
|
||||
tzdata$(VERSION)-tailored.tar.gz
|
||||
tzdata$(VERSION)-tailored.tar.gz.t
|
||||
signatures_version: $(ALL_ASC)
|
||||
rearguard_signatures_version: $(REARGUARD_ASC)
|
||||
traditional_signatures_version: $(TRADITIONAL_ASC)
|
||||
|
||||
tzcode$(VERSION).tar.gz: set-timestamps.out
|
||||
tzcode$(VERSION).tar.gz.t: set-timestamps.out
|
||||
$(SETUP_TAR) && \
|
||||
$$TAR -cf - \
|
||||
$(COMMON) $(DOCS) $(SOURCES) | \
|
||||
gzip $(GZIPFLAGS) >$@.out
|
||||
mv $@.out $@
|
||||
gzip $(GZIPFLAGS) >$(@:.t=)
|
||||
$(SET_TIMESTAMP) $(@:.t=) $(COMMON) $(DOCS) $(SOURCES)
|
||||
touch $@
|
||||
|
||||
tzdata$(VERSION).tar.gz: set-timestamps.out
|
||||
tzdata$(VERSION).tar.gz.t: set-timestamps.out
|
||||
$(SETUP_TAR) && \
|
||||
$$TAR -cf - $(TZDATA_DIST) | \
|
||||
gzip $(GZIPFLAGS) >$@.out
|
||||
mv $@.out $@
|
||||
gzip $(GZIPFLAGS) >$(@:.t=)
|
||||
$(SET_TIMESTAMP) $(@:.t=) $(TZDATA_DIST)
|
||||
touch $@
|
||||
|
||||
# Create empty files with a reproducible timestamp.
|
||||
CREATE_EMPTY = TZ=UTC0 touch -mt 202010122253.00
|
||||
|
|
@ -1255,7 +1327,7 @@ CREATE_EMPTY = TZ=UTC0 touch -mt 202010122253.00
|
|||
# for backwards compatibility with tz releases 2018e through 2022a.
|
||||
# They should go away eventually. To build rearguard tarballs you
|
||||
# can instead use 'make DATAFORM=rearguard tailored_tarballs'.
|
||||
tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
|
||||
tzdata$(VERSION)-rearguard.tar.gz.t: rearguard.zi set-timestamps.out
|
||||
rm -fr $@.dir
|
||||
mkdir $@.dir
|
||||
ln $(TZDATA_DIST) $@.dir
|
||||
|
|
@ -1273,8 +1345,11 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
|
|||
(cd $@.dir && \
|
||||
$$TAR -cf - \
|
||||
$(TZDATA_DIST) pacificnew | \
|
||||
gzip $(GZIPFLAGS)) >$@.out
|
||||
mv $@.out $@
|
||||
gzip $(GZIPFLAGS)) >$(@:.t=)
|
||||
$(SET_TIMESTAMP) $(@:.t=) \
|
||||
$$(cd $@.dir && \
|
||||
ls $(TZDATA_DIST) pacificnew | sed 's,^,$@.dir/,')
|
||||
touch $@
|
||||
|
||||
# Create a tailored tarball suitable for TZUpdater and compatible tools.
|
||||
# For example, 'make DATAFORM=vanguard tailored_tarballs' makes a tarball
|
||||
|
|
@ -1283,7 +1358,7 @@ tzdata$(VERSION)-rearguard.tar.gz: rearguard.zi set-timestamps.out
|
|||
# traditional tarball, as data entries are put into 'etcetera' even if they
|
||||
# came from some other source file. However, the effect should be the same
|
||||
# for ordinary use, which reads all the source files.
|
||||
tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out
|
||||
tzdata$(VERSION)-tailored.tar.gz.t: set-timestamps.out
|
||||
rm -fr $@.dir
|
||||
mkdir $@.dir
|
||||
: The dummy pacificnew pacifies TZUpdater 2.3.1 and earlier.
|
||||
|
|
@ -1295,7 +1370,7 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out
|
|||
cd $@.dir && \
|
||||
$(CREATE_EMPTY) $(PRIMARY_YDATA) $(NDATA) backward \
|
||||
$$pacificnew
|
||||
(grep '^#' tzdata.zi && echo && cat $(DATAFORM).zi) \
|
||||
(sed '/^#/!d' tzdata.zi && echo && cat $(DATAFORM).zi) \
|
||||
>$@.dir/etcetera
|
||||
touch -mr tzdata.zi $@.dir/etcetera
|
||||
sed -n \
|
||||
|
|
@ -1316,24 +1391,29 @@ tzdata$(VERSION)-tailored.tar.gz: set-timestamps.out
|
|||
ln $$links $@.dir
|
||||
$(SETUP_TAR) && \
|
||||
(cd $@.dir && \
|
||||
$$TAR -cf - * | gzip $(GZIPFLAGS)) >$@.out
|
||||
mv $@.out $@
|
||||
$$TAR -cf - *) | gzip $(GZIPFLAGS) >$(@:.t=)
|
||||
$(SET_TIMESTAMP) $(@:.t=) \
|
||||
$$(cd $@.dir && ls * | sed 's,^,$@.dir/,')
|
||||
touch $@
|
||||
|
||||
tzdb-$(VERSION).tar.lz: set-timestamps.out set-tzs-timestamp.out
|
||||
tzdb-$(VERSION).tar.lz.t: set-timestamps.out set-tzs-timestamp.out
|
||||
rm -fr tzdb-$(VERSION)
|
||||
mkdir tzdb-$(VERSION)
|
||||
ln $(ENCHILADA) tzdb-$(VERSION)
|
||||
$(SET_TIMESTAMP) tzdb-$(VERSION) tzdb-$(VERSION)/*
|
||||
$(SETUP_TAR) && \
|
||||
$$TAR -cf - tzdb-$(VERSION) | lzip -9 >$@.out
|
||||
mv $@.out $@
|
||||
$$TAR -cf - tzdb-$(VERSION) | lzip -9 >$(@:.t=)
|
||||
$(SET_TIMESTAMP) $(@:.t=) tzdb-$(VERSION)
|
||||
touch $@
|
||||
|
||||
tzcode$(VERSION).tar.gz.asc: tzcode$(VERSION).tar.gz
|
||||
tzdata$(VERSION).tar.gz.asc: tzdata$(VERSION).tar.gz
|
||||
tzdata$(VERSION)-rearguard.tar.gz.asc: tzdata$(VERSION)-rearguard.tar.gz
|
||||
tzdb-$(VERSION).tar.lz.asc: tzdb-$(VERSION).tar.lz
|
||||
tzcode$(VERSION).tar.gz.asc.t: tzcode$(VERSION).tar.gz.t
|
||||
tzdata$(VERSION).tar.gz.asc.t: tzdata$(VERSION).tar.gz.t
|
||||
tzdata$(VERSION)-rearguard.tar.gz.asc.t: tzdata$(VERSION)-rearguard.tar.gz.t
|
||||
tzdb-$(VERSION).tar.lz.asc.t: tzdb-$(VERSION).tar.lz.t
|
||||
$(ALL_ASC):
|
||||
$(GPG) --armor --detach-sign $?
|
||||
$(GPG) --armor --detach-sign $(?:.t=)
|
||||
$(SET_TIMESTAMP) $(@:.t=) $(?:.t=)
|
||||
touch $@
|
||||
|
||||
TYPECHECK_CFLAGS = $(CFLAGS) -DTYPECHECK -D__time_t_defined -D_TIME_T
|
||||
typecheck: long-long.ck unsigned.ck
|
||||
|
|
|
|||
135
NEWS
135
NEWS
|
|
@ -1,5 +1,140 @@
|
|||
News for the tz database
|
||||
|
||||
Release 2025c - 2025-12-10 14:42:37 -0800
|
||||
|
||||
Briefly:
|
||||
Several code changes for compatibility with FreeBSD.
|
||||
|
||||
Changes to past timestamps
|
||||
|
||||
Baja California agreed with California’s DST rules in 1953 and in
|
||||
1961 through 1975, instead of observing standard time all year.
|
||||
(Thanks to Alois Treindl.)
|
||||
|
||||
Changes to build procedure
|
||||
|
||||
Files in distributed tarballs now have correct commit times.
|
||||
Formerly, the committer’s time zone was incorrectly ignored.
|
||||
|
||||
Distribution products (*.asc, *.gz, and *.lz) now have
|
||||
reproducible timestamps. Formerly, only the contents of the
|
||||
compressed tarballs had reproducible timestamps.
|
||||
|
||||
By default, distributed formatted man pages (*.txt) now use UTF-8
|
||||
and are left-adjusted more consistently. A new Makefile macro
|
||||
MANFLAGS can override these defaults. (Thanks to G. Branden
|
||||
Robinson for inspiring these changes.)
|
||||
|
||||
Changes to code
|
||||
|
||||
An unset TZ is no longer invalid when /etc/localtime is missing,
|
||||
and is abbreviated "UTC" not "-00". This reverts to 2024b behavior.
|
||||
(Problem and patch reported by Dag-Erling Smørgrav.)
|
||||
|
||||
New function offtime_r, short for fixed-offset localtime_rz.
|
||||
It is defined if STD_INSPIRED is defined.
|
||||
(Patch from Dag-Erling Smørgrav.)
|
||||
|
||||
tzset etc. are now more cautious about questionable TZ settings.
|
||||
Privileged programs now reject TZ settings that start with '/',
|
||||
unless they are TZDEFAULT (default "/etc/localtime") or
|
||||
start with TZDIR then '/' (default "/usr/share/zoneinfo/").
|
||||
Unprivileged programs now require files to be regular files
|
||||
and reject relative names containing ".." directory components;
|
||||
formerly, only privileged programs did those two things.
|
||||
These changes were inspired by similar behavior in FreeBSD.
|
||||
On NetBSD, unprivileged programs now use O_REGULAR to check
|
||||
whether a TZ setting starting with '/' names a regular file,
|
||||
avoiding a minor security race still present elsewhere.
|
||||
TZ strings taken from tzalloc arguments are now treated with
|
||||
no less caution than TZ strings taken from the environment, as
|
||||
the old undocumented behavior would have been hard to explain.
|
||||
tzset etc. no longer use the ‘access’ system call to check access;
|
||||
instead they now use the system calls issetugid, getauxval,
|
||||
getresuid/getresgid, and geteuid/getegid/getuid/getgid (whichever
|
||||
first works) to test whether a program is privileged.
|
||||
Compile with -DHAVE_SYS_AUXV_H=[01] to enable or disable
|
||||
<sys/auxv.h> which (if it defines AT_SECURE) enables getauxval,
|
||||
and compile with -DHAVE_ISSETUGID=[01], -DHAVE_GETRESUID=[01], and
|
||||
-DHAVE_GETEUID=[01] to enable or disable the other calls’ use.
|
||||
|
||||
The new CFLAGS option -DTZ_CHANGE_INTERVAL=N makes tzset etc.
|
||||
check for TZif file changes if the in-memory data are N seconds
|
||||
old or more, and are derived from the TZ environment variable.
|
||||
This is intended for platforms that want tzset etc. to reflect
|
||||
changes to whatever file TZ selects (including changes to
|
||||
/etc/localtime if TZ is unset). If N is negative (the default)
|
||||
these checks are omitted; this is the traditional behavior.
|
||||
|
||||
The new CFLAGS options -DHAVE_STRUCT_STAT_ST_CTIM=0 and
|
||||
-DHAVE_STRUCT_TIMESPEC=0 port to non-POSIX.1-2008 platforms
|
||||
that lack st_ctim and struct timespec, respectively.
|
||||
|
||||
tzset etc. now treat ' ' like '_' in time zone abbreviations,
|
||||
just as they treat other invalid bytes. This continues the
|
||||
transition begun in release 96k, which removed spaces in tzdata
|
||||
because the spaces break time string parsers.
|
||||
|
||||
The new CFLAGS option -DTHREAD_PREFER_SINGLE causes tzcode
|
||||
in single-threaded processes to avoid locks, as FreeBSD does.
|
||||
This can save time in single-threaded apps. The threadedness
|
||||
testing costs CPU time and energy in multi-threaded apps.
|
||||
New options -DHAVE___ISTHREADED and -DHAVE_SYS_SINGLE_THREADED_H
|
||||
can help configure how to test for single-threadedness.
|
||||
|
||||
The new CFLAGS option -DTHREAD_RWLOCK uses read-write locks, as
|
||||
macOS does, instead of mutexes. This saves real time when TZ is
|
||||
rarely changing and many threads call tzcode simultaneously.
|
||||
It costs more CPU time and energy.
|
||||
|
||||
The new CFLAGS option -TTHREAD_TM_MULTI causes localtime to return
|
||||
a pointer to thread-specific memory, as FreeBSD does, instead of
|
||||
to the same memory in all threads. This supports unportable
|
||||
programs that incorrectly use localtime instead of localtime_r.
|
||||
This option affects gmtime and offtime similarly to localtime.
|
||||
Because the corresponding storage is freed on thread exit, this
|
||||
option is incompatible with POSIX.1-2024 and earlier. It also
|
||||
costs CPU time and memory.
|
||||
|
||||
tzfree now preserves errno, consistently with POSIX.1-2024 ‘free’.
|
||||
|
||||
tzcode now uses mempcpy if available, guessing its availability.
|
||||
Compile with -DHAVE_MEMPCPY=1 or 0 to override the guess.
|
||||
|
||||
tzcode now uses strnlen to improve asymptotic performance a bit.
|
||||
Compile with -DHAVE_STRNLEN=0 if your platform lacks it.
|
||||
|
||||
tzcode now hand-declares unistd.h-provided symbols like getopt
|
||||
if HAVE_UNISTD_H=0, not if HAVE_POSIX_DECLS=0.
|
||||
|
||||
tzset etc. now have an experimental OPENAT_TZDIR option;
|
||||
see Makefile and localtime.c for details.
|
||||
|
||||
On platforms like GNU/Hurd that do not define PATH_MAX,
|
||||
exceedingly long TZ strings no longer fail merely because they
|
||||
exceed an arbitrary file name length limit imposed by tzcode.
|
||||
|
||||
zic has new options inspired by FreeBSD. ‘-D’ skips creation of
|
||||
output ancestor directories, ‘-m MODE’ sets output files’ mode,
|
||||
and ‘-u OWNER[:GROUP]’ sets output files’ owner and group.
|
||||
|
||||
zic now uses the fdopen function, which was standardized by
|
||||
POSIX.1-1988 and is now safe to use in portable code.
|
||||
This replaces its use of the older umask function, which
|
||||
complicated maintenance.
|
||||
|
||||
Changes to commentary
|
||||
|
||||
The leapseconds file contains commentary about the IERS and NIST
|
||||
last-modified and expiration timestamps for leap second data.
|
||||
(Thanks to Judah Levine.)
|
||||
|
||||
Commentary now also uses characters from the set –‘’“”•≤ as this
|
||||
can be useful and should work with current applications. This
|
||||
also affects data in iso3166.tab and zone1970.tab, which now
|
||||
contain strings like “Côte d’Ivoire” instead of “Côte d'Ivoire”.
|
||||
|
||||
|
||||
Release 2025b - 2025-03-22 13:40:46 -0700
|
||||
|
||||
Briefly:
|
||||
|
|
|
|||
14
README
14
README
|
|
@ -1,8 +1,8 @@
|
|||
README for the tz distribution
|
||||
|
||||
"Where do I set the hands of the clock?" -- Les Tremayne as The King
|
||||
"Oh that--you can set them any place you want." -- Frank Baxter as The Scientist
|
||||
(from the Bell System film "About Time")
|
||||
“Where do I set the hands of the clock?” – Les Tremayne as The King
|
||||
“Oh that – you can set them any place you want.” – Frank Baxter as The Scientist
|
||||
(from the Bell System film “About Time”)
|
||||
|
||||
The Time Zone Database (called tz, tzdb or zoneinfo) contains code and
|
||||
data that represent the history of local time for many representative
|
||||
|
|
@ -13,12 +13,12 @@ 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 leading comments in the file "Makefile"
|
||||
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":
|
||||
installation directory for ‘$HOME/tzdir’:
|
||||
|
||||
make TOPDIR="$HOME/tzdir" install
|
||||
"$HOME/tzdir/usr/bin/zdump" -v America/Los_Angeles
|
||||
|
|
@ -39,12 +39,12 @@ The information in the time zone data files is by no means authoritative;
|
|||
fixes and enhancements are welcome. Please see the file CONTRIBUTING
|
||||
for details.
|
||||
|
||||
Thanks to these Time Zone Caballeros who've made major contributions to the
|
||||
Thanks to these Time Zone Caballeros who’ve made major contributions to the
|
||||
time conversion package: Keith Bostic; Bob Devine; Paul Eggert; Robert Elz;
|
||||
Guy Harris; Mark Horton; John Mackin; and Bradley White. Thanks also to
|
||||
Michael Bloom, Art Neilson, Stephen Prince, John Sovereign, and Frank Wales
|
||||
for testing work, and to Gwillim Law for checking local mean time data.
|
||||
Thanks in particular to Arthur David Olson, the project's founder and first
|
||||
Thanks in particular to Arthur David Olson, the project’s founder and first
|
||||
maintainer, to whom the time zone community owes the greatest debt of all.
|
||||
None of them are responsible for remaining errors.
|
||||
|
||||
|
|
|
|||
2
SECURITY
2
SECURITY
|
|
@ -1,7 +1,7 @@
|
|||
Please report any sensitive security-related bugs via email to the
|
||||
tzdb designated coordinators, currently Paul Eggert
|
||||
<eggert@cs.ucla.edu> and Tim Parenti <tim@timtimeonline.com>.
|
||||
Put "tzdb security" at the start of your email's subject line.
|
||||
Put “tzdb security” at the start of your email’s subject line.
|
||||
We prefer communications to be in English.
|
||||
|
||||
You should receive a response within a week. If not, please follow up
|
||||
|
|
|
|||
9
africa
9
africa
|
|
@ -4,9 +4,9 @@
|
|||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# This file is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
# go ahead and edit the file, and please send any changes to
|
||||
# the public mailing list tz@iana.org for general use in the future.
|
||||
# For more, please see the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2018-05-27):
|
||||
#
|
||||
|
|
@ -115,8 +115,9 @@ Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia
|
|||
-1:00 - %z
|
||||
|
||||
# Chad
|
||||
# Fort-Lamy was renamed to N’Djamena on 1973-04-06.
|
||||
# Zone NAME STDOFF RULES FORMAT [UNTIL]
|
||||
Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena
|
||||
Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # Fort-Lamy
|
||||
1:00 - WAT 1979 Oct 14
|
||||
1:00 1:00 WAST 1980 Mar 8
|
||||
1:00 - WAT
|
||||
|
|
|
|||
12
antarctica
12
antarctica
|
|
@ -3,13 +3,10 @@
|
|||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# From Paul Eggert (1999-11-15):
|
||||
# To keep things manageable, we list only locations occupied year-round; see
|
||||
# COMNAP - Stations and Bases
|
||||
# http://www.comnap.aq/comnap/comnap.nsf/P/Stations/
|
||||
# and
|
||||
# Summary of the Peri-Antarctic Islands (1998-07-23)
|
||||
# http://www.spri.cam.ac.uk/bob/periant.htm
|
||||
# From Paul Eggert (2025-08-16):
|
||||
# To keep things manageable, list only locations occupied year-round; see
|
||||
# Antarctic Facilities Information
|
||||
# https://www.comnap.aq/antarctic-facilities-information
|
||||
# for information.
|
||||
# Unless otherwise specified, we have no time zone information.
|
||||
|
||||
|
|
@ -144,6 +141,7 @@ Zone Antarctica/Mawson 0 - -00 1954 Feb 13
|
|||
# China - year-round bases
|
||||
# Great Wall, King George Island, -6213-05858, since 1985-02-20
|
||||
# Zhongshan, Larsemann Hills, Prydz Bay, -6922+07623, since 1989-02-26
|
||||
# Qinling, Inexpressible I, Terra Nova Bay, -7456+16343, since 2024-02-07
|
||||
|
||||
# France - year-round bases (also see "France & Italy")
|
||||
#
|
||||
|
|
|
|||
6
asia
6
asia
|
|
@ -4,9 +4,9 @@
|
|||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# This file is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
# go ahead and edit the file, and please send any changes to
|
||||
# the public mailing list tz@iana.org for general use in the future.
|
||||
# For more, please see the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2019-07-11):
|
||||
#
|
||||
|
|
|
|||
10
australasia
10
australasia
|
|
@ -937,9 +937,9 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
|
|||
# NOTES
|
||||
|
||||
# This file is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
# go ahead and edit the file, and please send any changes to
|
||||
# the public mailing list tz@iana.org for general use in the future.
|
||||
# For more, please see the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2018-11-18):
|
||||
#
|
||||
|
|
@ -1988,6 +1988,7 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
|
|||
# From Paul Eggert (2018-11-19):
|
||||
# The 1921-01-15 introduction of standard time is in Shanks; it is also in
|
||||
# "Standard Time Throughout the World", US National Bureau of Standards (1935),
|
||||
# https://nvlpubs.nist.gov/nistpubs/Legacy/circ/nbscircular406.pdf
|
||||
# page 3, which does not give the UT offset. In response to a comment by
|
||||
# Phake Nick I set the Nauru time of occupation by Japan to
|
||||
# 1942-08-29/1945-09-08 by using dates from:
|
||||
|
|
@ -2055,9 +2056,10 @@ Zone Pacific/Efate 11:13:16 - LMT 1912 Jan 13 # Vila
|
|||
# https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm
|
||||
|
||||
# Although Shanks & Pottenger says they both switched to UT -11:30
|
||||
# in 1911, and to -11 in 1950. many earlier sources give -11
|
||||
# in 1911, and to -11 in 1950, many earlier sources give -11
|
||||
# for American Samoa, e.g., the US National Bureau of Standards
|
||||
# circular "Standard Time Throughout the World", 1932.
|
||||
# https://nvlpubs.nist.gov/nistpubs/Legacy/circ/nbscircular399.pdf
|
||||
# Assume American Samoa switched to -11 in 1911, not 1950,
|
||||
# and that after 1950 they agreed until (western) Samoa skipped a
|
||||
# day in 2011. Assume also that the Samoas follow the US and New
|
||||
|
|
|
|||
8
backzone
8
backzone
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
# This file is in the public domain.
|
||||
|
||||
# This file is by no means authoritative; if you think you know
|
||||
# better, go ahead and edit it (and please send any changes to
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
# This file is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file, and please send any changes to
|
||||
# the public mailing list tz@iana.org for general use in the future.
|
||||
# For more, please see the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# When proposing changes to this file, please use 'git format-patch'
|
||||
# format, either by attaching the resulting .patch file to your email,
|
||||
|
|
|
|||
27
calendars
27
calendars
|
|
@ -16,30 +16,9 @@ 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.
|
||||
|
||||
Soviet Russia adopted the Gregorian calendar on 1918-02-14.
|
||||
It also used 5- and 6-day work weeks at times, in parallel with the
|
||||
Gregorian calendar; see <https://en.wikipedia.org/wiki/Soviet_calendar>.
|
||||
|
||||
|
||||
Sweden (and Finland)
|
||||
|
|
|
|||
|
|
@ -50,5 +50,10 @@ END {
|
|||
status = 1
|
||||
}
|
||||
}
|
||||
if (now_out) {
|
||||
for (data in zones) {
|
||||
printf "%s=%s\n", now, zones[data] >>now_out
|
||||
}
|
||||
}
|
||||
exit status
|
||||
}
|
||||
|
|
|
|||
52
europe
52
europe
|
|
@ -4,9 +4,9 @@
|
|||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# This file is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
# go ahead and edit the file, and please send any changes to
|
||||
# the public mailing list tz@iana.org for general use in the future.
|
||||
# For more, please see the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2017-02-10):
|
||||
#
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
# <https://www.jstor.org/stable/1774359>. 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.
|
||||
# Savile Row, London." Nowadays please see the file CONTRIBUTING.
|
||||
#
|
||||
# Byalokoz EL. New Counting of Time in Russia since July 1, 1919.
|
||||
# This Russian-language source was consulted by Vladimir Karpinsky; see
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
# Десятая гос. тип., 1919.
|
||||
# http://resolver.gpntb.ru/purl?docushare/dsweb/Get/Resource-2011/Byalokoz__E.L.__Novyy__schet__vremeni__v__techenie__sutok__izd__2(1).pdf
|
||||
#
|
||||
# Brazil's Divisão Serviço da Hora (DSHO),
|
||||
# Brazil's Divisão de Serviços da Hora (DISHO)
|
||||
# History of Summer Time
|
||||
# <http://pcdsh01.on.br/HISTHV.htm>
|
||||
# (1998-09-21, in Portuguese)
|
||||
|
|
@ -914,7 +914,7 @@ Rule Belgium 1922 1927 - Oct Sat>=1 23:00s 0 -
|
|||
Rule Belgium 1923 only - Apr 21 23:00s 1:00 S
|
||||
Rule Belgium 1924 only - Mar 29 23:00s 1:00 S
|
||||
Rule Belgium 1925 only - Apr 4 23:00s 1:00 S
|
||||
# DSH writes that a royal decree of 1926-02-22 specified the Sun following 3rd
|
||||
# DISHO writes that a royal decree of 1926-02-22 specified the Sun following 3rd
|
||||
# Sat in Apr (except if it's Easter, in which case it's one Sunday earlier),
|
||||
# to Sun following 1st Sat in Oct, and that a royal decree of 1928-09-15
|
||||
# changed the transition times to 02:00 GMT.
|
||||
|
|
@ -1310,6 +1310,13 @@ Zone Europe/Helsinki 1:39:49 - LMT 1878 May 31
|
|||
# France
|
||||
# Monaco
|
||||
|
||||
# From Robert H. van Gent (2025-07-21):
|
||||
# The most recent issue of the Annuaire [par le Bureau des Longitudes]
|
||||
# on Gallica (2021) ... lists information for France
|
||||
# https://gallica.bnf.fr/ark:/12148/bpt6k9127672b/f52.item
|
||||
# From Paul Eggert (2025-07-21):
|
||||
# Go with the 2020 Annuaire (published 2021) except as noted below.
|
||||
|
||||
# From Ciro Discepolo (2000-12-20):
|
||||
#
|
||||
# Henri Le Corre, Régimes horaires pour le monde entier, Éditions
|
||||
|
|
@ -1371,7 +1378,6 @@ Zone Europe/Helsinki 1:39:49 - LMT 1878 May 31
|
|||
# problems in Algiers, Monaco and Tunis.
|
||||
|
||||
#
|
||||
# Shank & Pottenger seem to use '24:00' ambiguously; resolve it with Whitman.
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
Rule France 1916 only - Jun 14 23:00s 1:00 S
|
||||
Rule France 1916 1919 - Oct Sun>=1 23:00s 0 -
|
||||
|
|
@ -1383,9 +1389,25 @@ Rule France 1920 only - Oct 23 23:00s 0 -
|
|||
Rule France 1921 only - Mar 14 23:00s 1:00 S
|
||||
Rule France 1921 only - Oct 25 23:00s 0 -
|
||||
Rule France 1922 only - Mar 25 23:00s 1:00 S
|
||||
# DSH writes that a law of 1923-05-24 specified 3rd Sat in Apr at 23:00 to 1st
|
||||
# Sat in Oct at 24:00; and that in 1930, because of Easter, the transitions
|
||||
# were Apr 12 and Oct 5. Go with Shanks & Pottenger.
|
||||
# From Robert H. van Gent (2025-07-22):
|
||||
# There is a curious history behind the erroneous date for the start of
|
||||
# daylight saving in France in 1923 as listed in the current issues of
|
||||
# the Annuaire du Bureau des Longitudes. [See:]
|
||||
# https://lists.iana.org/hyperkitty/list/tz@iana.org/message/MYQEJMSXO2AIEZ3UIXZKMTTAIPY7KNT2/
|
||||
# From Brian Inglis (2025-07-23):
|
||||
# Légifrance JORF No. 0073 du 15 mars 1922
|
||||
# https://www.legifrance.gouv.fr/jorf/jo/id/JORFCONT000000008324
|
||||
# Légifrance JORF No. 0139 du 25 mai 1923
|
||||
# https://www.legifrance.gouv.fr/jorf/jo/id/JORFCONT000000008416
|
||||
# From Paul Eggert (2025-07-23):
|
||||
# The latter specifies March's last Saturday at 23:00 to October's first
|
||||
# Saturday at 24:00, except that if neighboring allies agree the dates
|
||||
# can be moved to April's third Saturday and September's third Saturday.
|
||||
# Apparently spring 1923 was tricky. DISHO writes that in 1930,
|
||||
# because of Easter, the transitions were Apr 12 and Oct 5.
|
||||
# Use the 2020 Annuaire dates, except for spring 1923 where
|
||||
# Shanks & Pottenger's May 26 matches the dates given in the 1924 and
|
||||
# 1961-2001 issues of the Annuaire.
|
||||
Rule France 1922 1938 - Oct Sat>=1 23:00s 0 -
|
||||
Rule France 1923 only - May 26 23:00s 1:00 S
|
||||
Rule France 1924 only - Mar 29 23:00s 1:00 S
|
||||
|
|
@ -2096,12 +2118,10 @@ Zone Europe/Warsaw 1:24:00 - LMT 1880
|
|||
# all clocks therefore having to be advanced or set back correspondingly ...
|
||||
|
||||
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
|
||||
# From Tim Parenti (2024-07-01), per Paul Eggert (1999-01-30):
|
||||
# DSH writes in their history that Decreto 1469 of 1915-03-30 established
|
||||
# summer time and that, "despite" this, the change to the clocks was not done
|
||||
# every year, depending on what Spain did, because of railroad schedules.
|
||||
# In fact, that decree had nothing to do with DST; rather, it regulated the
|
||||
# sending of time signals. But we do see linkage to Spain in the 1920s below.
|
||||
# From Tim Parenti (2024-07-01):
|
||||
# Decreto 1469 of 1915-03-30 ... had nothing to do with DST;
|
||||
# rather it regulated the sending of time signals.
|
||||
# But we do see linkage to Spain in the 1920s below.
|
||||
# https://dre.pt/dr/detalhe/decreto/1469-1915-285721
|
||||
# https://dre.pt/application/conteudo/285721
|
||||
#
|
||||
|
|
|
|||
18
iso3166.tab
18
iso3166.tab
|
|
@ -3,22 +3,22 @@
|
|||
# This file is in the public domain, so clarified as of
|
||||
# 2009-05-17 by Arthur David Olson.
|
||||
#
|
||||
# From Paul Eggert (2023-09-06):
|
||||
# From Paul Eggert (2025-07-01):
|
||||
# This file contains a table of two-letter country codes. Columns are
|
||||
# separated by a single tab. Lines beginning with '#' are comments.
|
||||
# separated by a single tab. Lines beginning with ‘#’ are comments.
|
||||
# All text uses UTF-8 encoding. The columns of the table are as follows:
|
||||
#
|
||||
# 1. ISO 3166-1 alpha-2 country code, current as of
|
||||
# ISO/TC 46 N1108 (2023-04-05). See: ISO/TC 46 Documents
|
||||
# ISO/TC 46 N1127 (2024-02-29). See: ISO/TC 46 Documents
|
||||
# https://www.iso.org/committee/48750.html?view=documents
|
||||
# 2. The usual English name for the coded region. This sometimes
|
||||
# departs from ISO-listed names, sometimes so that sorted subsets
|
||||
# of names are useful (e.g., "Samoa (American)" and "Samoa
|
||||
# (western)" rather than "American Samoa" and "Samoa"),
|
||||
# of names are useful (e.g., “Samoa (American)” and “Samoa
|
||||
# (western)” rather than “American Samoa” and “Samoa”),
|
||||
# sometimes to avoid confusion among non-experts (e.g.,
|
||||
# "Czech Republic" and "Turkey" rather than "Czechia" and "Türkiye"),
|
||||
# and sometimes to omit needless detail or churn (e.g., "Netherlands"
|
||||
# rather than "Netherlands (the)" or "Netherlands (Kingdom of the)").
|
||||
# “Czech Republic” and “Turkey” rather than “Czechia” and “Türkiye”),
|
||||
# and sometimes to omit needless detail or churn (e.g., “Netherlands”
|
||||
# rather than “Netherlands (the)” or “Netherlands (Kingdom of the)”).
|
||||
#
|
||||
# The table is sorted by country code.
|
||||
#
|
||||
|
|
@ -71,7 +71,7 @@ CD Congo (Dem. Rep.)
|
|||
CF Central African Rep.
|
||||
CG Congo (Rep.)
|
||||
CH Switzerland
|
||||
CI Côte d'Ivoire
|
||||
CI Côte d’Ivoire
|
||||
CK Cook Islands
|
||||
CL Chile
|
||||
CM Cameroon
|
||||
|
|
|
|||
|
|
@ -60,15 +60,15 @@
|
|||
#
|
||||
# The following line shows the last update of this file in NTP timestamp:
|
||||
#
|
||||
#$ 3945196800
|
||||
#$ 3960835200
|
||||
#
|
||||
# 2) Expiration date of the file given on a semi-annual basis: last June or last December
|
||||
#
|
||||
# File expires on 28 December 2025
|
||||
# File expires on 28 June 2026
|
||||
#
|
||||
# Expire date in NTP timestamp:
|
||||
#
|
||||
#@ 3975868800
|
||||
#@ 3991593600
|
||||
#
|
||||
#
|
||||
# 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 848434d5 570f7ea8 d79ba227 a00fc821 f608e2d4
|
||||
#h 49db2447 571e5e1b 2f002a53 9c8da8e4 39b8e49e
|
||||
|
|
|
|||
19
leapseconds
19
leapseconds
|
|
@ -5,7 +5,8 @@
|
|||
# This file is generated automatically from the data in the public-domain
|
||||
# NIST/IERS format leap-seconds.list file, which can be copied from
|
||||
# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>
|
||||
# or, in a variant with different comments, from
|
||||
# or via a less-secure protocol and with different comments and
|
||||
# less volatile last-modified and expiration timestamps, from
|
||||
# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>.
|
||||
# For more about leap-seconds.list, please see
|
||||
# The NTP Timescale and Leap Seconds
|
||||
|
|
@ -69,11 +70,17 @@ 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 Dec 28 00:00:00
|
||||
#Expires 2026 Jun 28 00:00:00
|
||||
|
||||
# POSIX timestamps for the data in this file:
|
||||
#updated 1736208000 (2025-01-07 00:00:00 UTC)
|
||||
#expires 1766880000 (2025-12-28 00:00:00 UTC)
|
||||
# Here are POSIX timestamps for the data in this file.
|
||||
# "#updated" gives the last time the leap seconds data changed
|
||||
# or, if this file was derived from the IERS leap-seconds.list,
|
||||
# the last time that file changed in any way.
|
||||
# "#expires" gives the first time this file might be wrong;
|
||||
# if this file was derived from the IERS leap-seconds.list,
|
||||
# this is typically a bit less than one year after "updated".
|
||||
#updated 1751846400 (2025-07-07 00:00:00 UTC)
|
||||
#expires 1782604800 (2026-06-28 00:00:00 UTC)
|
||||
|
||||
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
|
||||
# File expires on 28 December 2025
|
||||
# File expires on 28 June 2026
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@ BEGIN {
|
|||
print "# This file is generated automatically from the data in the public-domain"
|
||||
print "# NIST/IERS format leap-seconds.list file, which can be copied from"
|
||||
print "# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>"
|
||||
print "# or, in a variant with different comments, from"
|
||||
print "# or via a less-secure protocol and with different comments and"
|
||||
print "# less volatile last-modified and expiration timestamps, from"
|
||||
print "# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>."
|
||||
print "# For more about leap-seconds.list, please see"
|
||||
print "# The NTP Timescale and Leap Seconds"
|
||||
|
|
@ -125,7 +126,13 @@ END {
|
|||
epoch_minus_NTP = ((1970 - 1900) * 365 + 17) * 24 * 60 * 60
|
||||
|
||||
print ""
|
||||
print "# POSIX timestamps for the data in this file:"
|
||||
print "# Here are POSIX timestamps for the data in this file."
|
||||
print "# \"#updated\" gives the last time the leap seconds data changed"
|
||||
print "# or, if this file was derived from the IERS leap-seconds.list,"
|
||||
print "# the last time that file changed in any way."
|
||||
print "# \"#expires\" gives the first time this file might be wrong;"
|
||||
print "# if this file was derived from the IERS leap-seconds.list,"
|
||||
print "# this is typically a bit less than one year after \"updated\"."
|
||||
if (updated) {
|
||||
sstamp_to_ymdhMs(updated, ss_NTP)
|
||||
printf "#updated %d (%.4d-%.2d-%.2d %.2d:%.2d:%.2d UTC)\n", \
|
||||
|
|
|
|||
51
northamerica
51
northamerica
|
|
@ -6,9 +6,9 @@
|
|||
# also includes Central America and the Caribbean
|
||||
|
||||
# This file is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
# go ahead and edit the file, and please send any changes to
|
||||
# the public mailing list tz@iana.org for general use in the future.
|
||||
# For more, please see the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (1999-03-22):
|
||||
# A reliable and entertaining source about time zones is
|
||||
|
|
@ -1218,6 +1218,16 @@ Zone America/Menominee -5:50:27 - LMT 1885 Sep 18 12:00
|
|||
# _Los Angeles Times_ (1998-11-10), A1, A10; it cites
|
||||
# Jimmy Skaggs, _The Great Guano Rush_ (1994).
|
||||
|
||||
# From Rob van Gent (2025-07-23):
|
||||
# Another useful source for historical time zone information appears to be
|
||||
# a series of circulars with the title "Standard Time Throughout the World"
|
||||
# issued between 1925 and 1950 by the U.S. Bureau of Standards.
|
||||
# I found the following issues online:
|
||||
# https://nvlpubs.nist.gov/nistpubs/Legacy/circ/nbscircular280.pdf (1925)
|
||||
# https://nvlpubs.nist.gov/nistpubs/Legacy/circ/nbscircular399.pdf (1932)
|
||||
# https://nvlpubs.nist.gov/nistpubs/Legacy/circ/nbscircular406.pdf (1935)
|
||||
# https://nvlpubs.nist.gov/nistpubs/Legacy/circ/nbscircular496.pdf (1950)
|
||||
|
||||
################################################################################
|
||||
|
||||
|
||||
|
|
@ -2434,12 +2444,35 @@ Zone America/Dawson -9:17:40 - LMT 1900 Aug 20
|
|||
# on the same dates or with a difference of one day.
|
||||
# So it may be easier to implement these changes as DST with rule CA
|
||||
# during this whole period.
|
||||
|
||||
# From Alois Treindl (2025-07-29):
|
||||
# I did a quick newspaper archive research on https://hndm.iib.unam.mx/
|
||||
# and found that Periódico Oficial del Estado de Baja California Norte
|
||||
# (1973-04-20) states clearly that DST was observed from last Sunday
|
||||
# in April to last Sunday in October.... I have a few more data from the
|
||||
# official bulletin for DST begin or end in Baja California 1964 1967 1969
|
||||
# 1972 1973 (already sent) 1974 1975 1976 I do not know whether it is safe to
|
||||
# assume that it also applied in the years where I did not yet find proof.
|
||||
# The 1974 end of DST contains a reference to an Acuerdo of 1973-dec-20 which
|
||||
# I could not find.... One might assume that Baja California, which followed
|
||||
# US-CA in all these other yours, did the same.
|
||||
#
|
||||
# From Paul Eggert (2024-08-18):
|
||||
# For now, maintain the slightly-different history for Baja California,
|
||||
# From Paul Eggert (2025-08-04):
|
||||
# Assume that Tijuana agreed with San Diego from 1953 through 1996,
|
||||
# as this agrees with Alois Treindl's data and with Shanks.
|
||||
# For now, keep the slightly-different 1948/1952 history for Baja California,
|
||||
# as we have no information on whether 1948/1952 clocks in Tijuana followed
|
||||
# the decrees or followed San Diego.
|
||||
|
||||
# From Mark Schapiro, writing in The Nation (2002-10-28):
|
||||
# https://www.thenation.com/article/archive/sowing-disaster/
|
||||
# When Mexican clocks were turned back for daylight saving time in the spring,
|
||||
# the Zapotecs refused to make the adjustment, insisting that they live in
|
||||
# "God's time," not in what they derisively call "Fox time," referring to
|
||||
# President Vicente Fox in far-off Mexico City.
|
||||
# From Paul Eggert (2025-08-04):
|
||||
# Unfortunately we have no data to track this informal practice.
|
||||
|
||||
# From Alan Perry (1996-02-15):
|
||||
# A guy from our Mexico subsidiary finally found the Presidential Decree
|
||||
# outlining the timezone changes in Mexico.
|
||||
|
|
@ -2705,7 +2738,7 @@ Zone America/Mexico_City -6:36:36 - LMT 1922 Jan 1 7:00u
|
|||
# Chihuahua (near US border - western side)
|
||||
# This includes the municipios of Janos, Ascensión, Juárez, Guadalupe, and
|
||||
# Práxedis G Guerrero.
|
||||
# http://gaceta.diputados.gob.mx/PDF/65/2a022/nov/20221124-VII.pdf
|
||||
# https://gaceta.diputados.gob.mx/PDF/65/2022/nov/20221124-VII.pdf
|
||||
Zone America/Ciudad_Juarez -7:05:56 - LMT 1922 Jan 1 7:00u
|
||||
-7:00 - MST 1927 Jun 10
|
||||
-6:00 - CST 1930 Nov 15
|
||||
|
|
@ -2720,7 +2753,7 @@ Zone America/Ciudad_Juarez -7:05:56 - LMT 1922 Jan 1 7:00u
|
|||
# Chihuahua (near US border - eastern side)
|
||||
# This includes the municipios of Coyame del Sotol, Ojinaga, and Manuel
|
||||
# Benavides.
|
||||
# http://gaceta.diputados.gob.mx/PDF/65/2a022/nov/20221124-VII.pdf
|
||||
# https://gaceta.diputados.gob.mx/PDF/65/2022/nov/20221124-VII.pdf
|
||||
Zone America/Ojinaga -6:57:40 - LMT 1922 Jan 1 7:00u
|
||||
-7:00 - MST 1927 Jun 10
|
||||
-6:00 - CST 1930 Nov 15
|
||||
|
|
@ -2817,9 +2850,7 @@ Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 7:00u
|
|||
-8:00 1:00 PDT 1951 Sep 30 2:00
|
||||
-8:00 - PST 1952 Apr 27 2:00
|
||||
-8:00 1:00 PDT 1952 Sep 28 2:00
|
||||
-8:00 - PST 1954
|
||||
-8:00 CA P%sT 1961
|
||||
-8:00 - PST 1976
|
||||
-8:00 CA P%sT 1967
|
||||
-8:00 US P%sT 1996
|
||||
-8:00 Mexico P%sT 2001
|
||||
-8:00 US P%sT 2002 Feb 20
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
# 2009-05-17 by Arthur David Olson.
|
||||
|
||||
# This file is by no means authoritative; if you think you know better,
|
||||
# go ahead and edit the file (and please send any changes to
|
||||
# tz@iana.org for general use in the future). For more, please see
|
||||
# the file CONTRIBUTING in the tz distribution.
|
||||
# go ahead and edit the file, and please send any changes to
|
||||
# the public mailing list tz@iana.org for general use in the future.
|
||||
# For more, please see the file CONTRIBUTING in the tz distribution.
|
||||
|
||||
# From Paul Eggert (2016-12-05):
|
||||
#
|
||||
|
|
|
|||
367
theory.html
367
theory.html
|
|
@ -89,24 +89,25 @@ The <code><abbr>tz</abbr></code> code is upwards compatible with <a
|
|||
href="https://en.wikipedia.org/wiki/POSIX">POSIX</a>, an international
|
||||
standard for <a
|
||||
href="https://en.wikipedia.org/wiki/Unix">UNIX</a>-like systems.
|
||||
As of this writing, the current edition of POSIX is POSIX.1-2024,
|
||||
which has been published but not yet in HTML form.
|
||||
Unlike its predecessor POSIX.1-2017 (<a
|
||||
href="https://pubs.opengroup.org/onlinepubs/9699919799/"> The Open
|
||||
Group Base Specifications Issue 7</a>, IEEE Std 1003.1-2017, 2018
|
||||
Edition), POSIX.1-2024 requires support for the
|
||||
As of this writing, the current edition of POSIX is
|
||||
<a href="https://pubs.opengroup.org/onlinepubs/9799919799/">POSIX.1-2024</a>
|
||||
(The Open Group Base Specifications Issue 8, IEEE Std 1003.1-2024).
|
||||
Unlike its predecessors
|
||||
<a href="https://archive.org/details/POSIX.1-1988">POSIX.1-1988</a> through
|
||||
<a href="https://pubs.opengroup.org/onlinepubs/9699919799/">POSIX.1-2017</a>,
|
||||
POSIX.1-2024 requires support for the
|
||||
<code><abbr>tz</abbr></code> database, which has a
|
||||
model for describing civil time that is more complex than the
|
||||
standard and daylight saving times required by POSIX.1-2017.
|
||||
standard and daylight saving times required by earlier POSIX editions.
|
||||
A <code><abbr>tz</abbr></code> timezone corresponds to a ruleset that can
|
||||
have more than two changes per year, these changes need not merely
|
||||
flip back and forth between two alternatives, and the rules themselves
|
||||
can change at times.
|
||||
Whether and when a timezone changes its clock,
|
||||
and even the timezone's notional base offset from <abbr>UTC</abbr>,
|
||||
and even the timezone’s notional base offset from <abbr>UTC</abbr>,
|
||||
are variable.
|
||||
It does not always make sense to talk about a timezone's
|
||||
"base offset", which is not necessarily a single number.
|
||||
It does not always make sense to talk about a timezone’s
|
||||
“base offset”, which is not necessarily a single number.
|
||||
</p>
|
||||
|
||||
</section>
|
||||
|
|
@ -118,16 +119,16 @@ Each timezone has a name that uniquely identifies the timezone.
|
|||
Inexperienced users are not expected to select these names unaided.
|
||||
Distributors should provide documentation and/or a simple selection
|
||||
interface that explains each name via a map or via descriptive text like
|
||||
"Czech Republic" instead of the timezone name "<code>Europe/Prague</code>".
|
||||
“Czech Republic” instead of the timezone name “<code>Europe/Prague</code>”.
|
||||
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
|
||||
<code>tzselect</code> program in the <code><abbr>tz</abbr></code> code.
|
||||
Unicode's <a href="https://cldr.unicode.org">Common Locale Data
|
||||
Unicode’s <a href="https://cldr.unicode.org">Common Locale Data
|
||||
Repository (<abbr>CLDR</abbr>)</a>
|
||||
contains data that may be useful for other selection
|
||||
interfaces; it maps timezone names like <code>Europe/Prague</code> to
|
||||
locale-dependent strings like "Prague", "Praha", "Прага", and "布拉格".
|
||||
locale-dependent strings like “Prague”, “Praha”, “Прага”, and “布拉格”.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
@ -142,13 +143,13 @@ among the following goals:
|
|||
civil time.
|
||||
</li>
|
||||
<li>
|
||||
Indicate to experts where the timezone's clocks typically are.
|
||||
Indicate to experts where the timezone’s clocks typically are.
|
||||
</li>
|
||||
<li>
|
||||
Be robust in the presence of political changes.
|
||||
For example, names are typically not tied to countries, to avoid
|
||||
incompatibilities when countries change their name (e.g.,
|
||||
Swaziland→Eswatini) or when locations change countries (e.g., Hong
|
||||
Swaziland→Eswatini) or when locations change countries (e.g., Hong
|
||||
Kong from UK colony to China).
|
||||
There is no requirement that every country or national
|
||||
capital must have a timezone name.
|
||||
|
|
@ -166,11 +167,11 @@ Names normally have the format
|
|||
<var>AREA</var><code>/</code><var>LOCATION</var>, where
|
||||
<var>AREA</var> is a continent or ocean, and
|
||||
<var>LOCATION</var> is a specific location within the area.
|
||||
North and South America share the same area, '<code>America</code>'.
|
||||
Typical names are '<code>Africa/Cairo</code>',
|
||||
'<code>America/New_York</code>', and '<code>Pacific/Honolulu</code>'.
|
||||
North and South America share the same area, <code>America</code>.
|
||||
Typical names are <code>Africa/Cairo</code>,
|
||||
<code>America/New_York</code>, and <code>Pacific/Honolulu</code>.
|
||||
Some names are further qualified to help avoid confusion; for example,
|
||||
'<code>America/Indiana/Petersburg</code>' distinguishes Petersburg,
|
||||
<code>America/Indiana/Petersburg</code> distinguishes Petersburg,
|
||||
Indiana from other Petersburgs in America.
|
||||
</p>
|
||||
|
||||
|
|
@ -183,25 +184,25 @@ in decreasing order of importance:
|
|||
<ul>
|
||||
<li>
|
||||
Use only valid POSIX file name components (i.e., the parts of
|
||||
names other than '<code>/</code>').
|
||||
Do not use the file name components '<code>.</code>' and
|
||||
'<code>..</code>'.
|
||||
names other than "<code>/</code>").
|
||||
Do not use the file name components "<code>.</code>" and
|
||||
"<code>..</code>".
|
||||
Within a file name component, use only <a
|
||||
href="https://en.wikipedia.org/wiki/ASCII">ASCII</a> letters,
|
||||
'<code>.</code>', '<code>-</code>' and '<code>_</code>'.
|
||||
"<code>.</code>", "<code>-</code>" and "<code>_</code>".
|
||||
Do not use digits, as that might create an ambiguity with <a
|
||||
href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">POSIX's proleptic
|
||||
<code>TZ</code> strings</a>.
|
||||
href="https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap08.html#tag_08_03">POSIX’s
|
||||
proleptic <code>TZ</code> strings</a>.
|
||||
A file name component must not exceed 14 characters or start with
|
||||
'<code>-</code>'.
|
||||
"<code>-</code>".
|
||||
E.g., prefer <code>America/Noronha</code> to
|
||||
<code>America/Fernando_de_Noronha</code>.
|
||||
Exceptions: see the discussion of legacy names below.
|
||||
</li>
|
||||
<li>
|
||||
A name must not be empty, or contain '<code>//</code>', or
|
||||
start or end with '<code>/</code>'.
|
||||
Also, a name must not be '<code>Etc/Unknown</code>', as
|
||||
A name must not be empty, or contain "<code>//</code>", or
|
||||
start or end with "<code>/</code>".
|
||||
Also, a name must not be "<code>Etc/Unknown</code>", as
|
||||
<abbr>CLDR</abbr> uses that string for an unknown or invalid timezone.
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -213,7 +214,7 @@ in decreasing order of importance:
|
|||
<li>
|
||||
If one name <var>A</var> is an initial prefix of another
|
||||
name <var>AB</var> (ignoring case), then <var>B</var> must not
|
||||
start with '<code>/</code>', as a regular file cannot have the
|
||||
start with "<code>/</code>", as a regular file cannot have the
|
||||
same name as a directory in POSIX.
|
||||
For example, <code>America/New_York</code> precludes
|
||||
<code>America/New_York/Bronx</code>.
|
||||
|
|
@ -280,8 +281,8 @@ in decreasing order of importance:
|
|||
<code>Atlantic/Canaries</code>.
|
||||
</li>
|
||||
<li>
|
||||
Omit common suffixes like '<code>_Islands</code>' and
|
||||
'<code>_City</code>', unless that would lead to ambiguity.
|
||||
Omit common suffixes like "<code>_Islands</code>" and
|
||||
"<code>_City</code>", unless that would lead to ambiguity.
|
||||
E.g., prefer <code>America/Cayman</code> to
|
||||
<code>America/Cayman_Islands</code> and
|
||||
<code>America/Guatemala</code> to
|
||||
|
|
@ -292,10 +293,10 @@ in decreasing order of importance:
|
|||
country of Mexico has several time zones</a>.
|
||||
</li>
|
||||
<li>
|
||||
Use '<code>_</code>' to represent a space.
|
||||
Use "<code>_</code>" to represent a space.
|
||||
</li>
|
||||
<li>
|
||||
Omit '<code>.</code>' from abbreviations in names.
|
||||
Omit "<code>.</code>" from abbreviations in names.
|
||||
E.g., prefer <code>Atlantic/St_Helena</code> to
|
||||
<code>Atlantic/St._Helena</code>.
|
||||
</li>
|
||||
|
|
@ -303,15 +304,15 @@ in decreasing order of importance:
|
|||
Do not change established names if they only marginally violate
|
||||
the above guidelines.
|
||||
For example, do not change the existing name <code>Europe/Rome</code> to
|
||||
<code>Europe/Milan</code> merely because Milan's population has grown
|
||||
to be somewhat greater than Rome's.
|
||||
<code>Europe/Milan</code> merely because Milan’s population has grown
|
||||
to be somewhat greater than Rome’s.
|
||||
</li>
|
||||
<li>
|
||||
If a name is changed, put its old spelling in the
|
||||
'<code>backward</code>' file as a link to the new spelling.
|
||||
"<code>backward</code>" file as a link to the new spelling.
|
||||
This means old spellings will continue to work.
|
||||
Ordinarily a name change should occur only in the rare case when
|
||||
a location's consensus English-language spelling changes; for example,
|
||||
a location’s consensus English-language spelling changes; for example,
|
||||
in 2008 <code>Asia/Calcutta</code> was renamed to <code>Asia/Kolkata</code>
|
||||
due to long-time widespread use of the new city name instead of the old.
|
||||
</li>
|
||||
|
|
@ -327,11 +328,11 @@ have included the following:
|
|||
<ul>
|
||||
<li>
|
||||
Older versions of this package used a different naming scheme.
|
||||
See the file '<code>backward</code>' for most of these older names
|
||||
(e.g., '<code>US/Eastern</code>' instead of '<code>America/New_York</code>').
|
||||
See the file "<code>backward</code>" for most of these older names
|
||||
(e.g., <code>US/Eastern</code> instead of <code>America/New_York</code>).
|
||||
The other old-fashioned names still supported are
|
||||
'<code>WET</code>', '<code>CET</code>', '<code>MET</code>', and
|
||||
'<code>EET</code>' (see the file '<code>europe</code>').
|
||||
<code>WET</code>, <code>CET</code>, <code>MET</code>, and
|
||||
<code>EET</code> (see the file "<code>europe</code>").
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
|
@ -339,13 +340,13 @@ Older versions of this package defined legacy names that are
|
|||
incompatible with the first guideline of location names, but which are
|
||||
still supported.
|
||||
These legacy names are mostly defined in the file
|
||||
'<code>etcetera</code>'.
|
||||
Also, the file '<code>backward</code>' defines the legacy names
|
||||
'<code>Etc/GMT0</code>', '<code>Etc/GMT-0</code>', '<code>Etc/GMT+0</code>',
|
||||
'<code>GMT0</code>', '<code>GMT-0</code>' and '<code>GMT+0</code>',
|
||||
and the file '<code>northamerica</code>' defines the legacy names
|
||||
'<code>EST5EDT</code>', '<code>CST6CDT</code>',
|
||||
'<code>MST7MDT</code>', and '<code>PST8PDT</code>'.
|
||||
"<code>etcetera</code>".
|
||||
Also, the file "<code>backward</code>" defines the legacy names
|
||||
<code>Etc/GMT0</code>, <code>Etc/GMT-0</code>, <code>Etc/GMT+0</code>,
|
||||
<code>GMT0</code>, <code>GMT-0</code> and <code>GMT+0</code>,
|
||||
and the file "<code>northamerica</code>" defines the legacy names
|
||||
<code>EST5EDT</code>, <code>CST6CDT</code>,
|
||||
<code>MST7MDT</code>, and <code>PST8PDT</code>.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
|
@ -365,11 +366,11 @@ The file <code>zone1970.tab</code> lists geographical locations used
|
|||
to name timezones.
|
||||
It is intended to be an exhaustive list of names for geographic
|
||||
regions as described above; this is a subset of the timezones in the data.
|
||||
Although a <code>zone1970.tab</code> location's
|
||||
Although a <code>zone1970.tab</code> location’s
|
||||
<a href="https://en.wikipedia.org/wiki/Longitude">longitude</a>
|
||||
corresponds to
|
||||
its <a href="https://en.wikipedia.org/wiki/Local_mean_time">local mean
|
||||
time (<abbr>LMT</abbr>)</a> offset with one hour for every 15°
|
||||
time (<abbr>LMT</abbr>)</a> offset with one hour for every 15°
|
||||
east longitude, this relationship is not exact.
|
||||
The backward-compatibility file <code>zone.tab</code> is similar
|
||||
but conforms to the older-version guidelines related to <abbr>ISO</abbr> 3166-1;
|
||||
|
|
@ -395,7 +396,7 @@ on platforms that do not support proleptic <code>TZ</code> strings
|
|||
like <code><+08>-8</code>;
|
||||
no other source file other than <code>backward</code>
|
||||
contains links to its zones.
|
||||
One of <code>etcetera</code>'s names is <code>Etc/UTC</code>,
|
||||
One of <code>etcetera</code>’s names is <code>Etc/UTC</code>,
|
||||
used by functions like <code>gmtime</code> to obtain leap
|
||||
second information on platforms that support leap seconds.
|
||||
Another <code>etcetera</code> name, <code>GMT</code>,
|
||||
|
|
@ -407,7 +408,7 @@ is used by older code releases.
|
|||
<h2 id="abbreviations">Time zone abbreviations</h2>
|
||||
<p>
|
||||
When this package is installed, it generates time zone abbreviations
|
||||
like '<code>EST</code>' to be compatible with human tradition and POSIX.
|
||||
like <code>EST</code> to be compatible with human tradition and POSIX.
|
||||
Here are the general guidelines used for choosing time zone abbreviations,
|
||||
in decreasing order of importance:
|
||||
</p>
|
||||
|
|
@ -415,25 +416,24 @@ in decreasing order of importance:
|
|||
<ul>
|
||||
<li>
|
||||
Use three to six characters that are ASCII alphanumerics or
|
||||
'<code>+</code>' or '<code>-</code>'.
|
||||
"<code>+</code>" or "<code>-</code>".
|
||||
Previous editions of this database also used characters like
|
||||
space and '<code>?</code>', but these characters have a
|
||||
space and "<code>?</code>", but these characters have a
|
||||
special meaning to the
|
||||
<a href="https://en.wikipedia.org/wiki/Unix_shell">UNIX shell</a>
|
||||
and cause commands like
|
||||
'<code><a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#set">set</a>
|
||||
`<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/date.html">date</a>`</code>'
|
||||
"<code><a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#set">set</a>
|
||||
`<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/date.html">date</a>`</code>"
|
||||
to have unexpected effects.
|
||||
Previous editions of this guideline required upper-case letters, but the
|
||||
Congressman who introduced
|
||||
<a href="https://en.wikipedia.org/wiki/Chamorro_Time_Zone">Chamorro
|
||||
Standard Time</a> preferred "ChST", so lower-case letters are now
|
||||
allowed.
|
||||
Also, POSIX from 2001 on relaxed the rule to allow '<code>-</code>',
|
||||
'<code>+</code>', and alphanumeric characters from the portable
|
||||
Standard Time</a> preferred “ChST”, so lower-case letters are now allowed.
|
||||
Also, POSIX from 2001 on relaxed the rule to allow "<code>-</code>",
|
||||
"<code>+</code>", and alphanumeric characters from the portable
|
||||
character set in the current locale.
|
||||
In practice ASCII alphanumerics and '<code>+</code>' and
|
||||
'<code>-</code>' are safe in all locales.
|
||||
In practice ASCII alphanumerics and "<code>+</code>" and
|
||||
"<code>-</code>" are safe in all locales.
|
||||
|
||||
<p>
|
||||
In other words, in the C locale the POSIX extended regular
|
||||
|
|
@ -445,10 +445,10 @@ in decreasing order of importance:
|
|||
</li>
|
||||
<li>
|
||||
Use abbreviations that are in common use among English-speakers,
|
||||
e.g., 'EST' for Eastern Standard Time in North America.
|
||||
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'.
|
||||
a French application might translate “EST” to “HNE”.
|
||||
|
||||
<p>
|
||||
<small>These abbreviations (for standard/daylight/etc. time) are:
|
||||
|
|
@ -483,7 +483,7 @@ in decreasing order of importance:
|
|||
NST/NDT/NWT/NPT/NDDT Newfoundland,
|
||||
NST/NDT/NWT/NPT Nome,
|
||||
NZMT/NZST New Zealand through 1945,
|
||||
NZST/NZDT New Zealand 1946–present,
|
||||
NZST/NZDT New Zealand 1946–present,
|
||||
PKT/PKST Pakistan,
|
||||
PST/PDT/PWT/PPT Pacific,
|
||||
PST/PDT Philippine,
|
||||
|
|
@ -500,12 +500,12 @@ in decreasing order of importance:
|
|||
</li>
|
||||
<li>
|
||||
<p>
|
||||
For times taken from a city's longitude, use the
|
||||
For times taken from a city’s longitude, use the
|
||||
traditional <var>x</var>MT notation.
|
||||
The only abbreviation like this in current use is '<abbr>GMT</abbr>'.
|
||||
The only abbreviation like this in current use is <abbr>GMT</abbr>.
|
||||
The others are for timestamps before 1960,
|
||||
except that Monrovia Mean Time persisted until 1972.
|
||||
Typically, numeric abbreviations (e.g., '<code>-</code>004430' for
|
||||
Typically, numeric abbreviations (e.g., <code>-</code>004430 for
|
||||
MMT) would cause trouble here, as the numeric strings would exceed
|
||||
the POSIX length limit.
|
||||
</p>
|
||||
|
|
@ -546,39 +546,39 @@ in decreasing order of importance:
|
|||
<small>A few abbreviations also follow the pattern that
|
||||
<abbr>GMT</abbr>/<abbr>BST</abbr> established for time in the UK.
|
||||
They are:
|
||||
BMT/BST for Bermuda 1890–1930,
|
||||
BMT/BST for Bermuda 1890–1930,
|
||||
CMT/BST for Calamarca Mean Time and Bolivian Summer Time
|
||||
1890–1932,
|
||||
1890–1932,
|
||||
DMT/IST for Dublin/Dunsink Mean Time and Irish Summer Time
|
||||
1880–1916,
|
||||
MMT/MST/MDST for Moscow 1880–1919, and
|
||||
RMT/LST for Riga Mean Time and Latvian Summer time 1880–1926.
|
||||
1880–1916,
|
||||
MMT/MST/MDST for Moscow 1880–1919, and
|
||||
RMT/LST for Riga Mean Time and Latvian Summer time 1880–1926.
|
||||
</small>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
Use '<abbr>LMT</abbr>' for local mean time of locations before the
|
||||
introduction of standard time; see "<a href="#scope">Scope of the
|
||||
<code><abbr>tz</abbr></code> database</a>".
|
||||
Use “<abbr>LMT</abbr>” for local mean time of locations before the
|
||||
introduction of standard time; see “<a href="#scope">Scope of the
|
||||
<code><abbr>tz</abbr></code> database</a>”.
|
||||
</li>
|
||||
<li>
|
||||
If there is no common English abbreviation, use numeric offsets like
|
||||
<code>-</code>05 and <code>+</code>0530 that are generated
|
||||
by <code>zic</code>'s <code>%z</code> notation.
|
||||
by <code>zic</code>’s <code>%z</code> notation.
|
||||
</li>
|
||||
<li>
|
||||
Use current abbreviations for older timestamps to avoid confusion.
|
||||
For example, in 1910 a common English abbreviation for time
|
||||
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
|
||||
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
|
||||
the need for determining when “CET” supplanted “MEZ” in common
|
||||
usage.
|
||||
</li>
|
||||
<li>
|
||||
Use a consistent style in a timezone's history.
|
||||
Use a consistent style in a timezone’s history.
|
||||
For example, if a history tends to use numeric
|
||||
abbreviations and a particular entry could go either way, use a
|
||||
numeric abbreviation.
|
||||
|
|
@ -586,13 +586,13 @@ in decreasing order of importance:
|
|||
<li>
|
||||
Use
|
||||
<a href="https://en.wikipedia.org/wiki/Universal_Time">Universal Time</a>
|
||||
(<abbr>UT</abbr>) (with time zone abbreviation '<code>-</code>00') for
|
||||
(<abbr>UT</abbr>) (with time zone abbreviation <code>-</code>00) for
|
||||
locations while uninhabited.
|
||||
The leading '<code>-</code>' is a flag that the <abbr>UT</abbr> offset is in
|
||||
The leading "<code>-</code>" is a flag that the <abbr>UT</abbr> offset is in
|
||||
some sense undefined; this notation is derived
|
||||
from <a href="https://www.rfc-editor.org/rfc/rfc3339">Internet
|
||||
<abbr title="Request For Comments">RFC</abbr> 3339</a>.
|
||||
(The abbreviation 'Z' that
|
||||
(The abbreviation Z that
|
||||
<a href="https://www.rfc-editor.org/rfc/rfc9557">Internet
|
||||
<abbr>RFC</abbr> 9557</a> uses for this concept
|
||||
would violate the POSIX requirement
|
||||
|
|
@ -602,11 +602,11 @@ in decreasing order of importance:
|
|||
|
||||
<p>
|
||||
Application writers should note that these abbreviations are ambiguous
|
||||
in practice: e.g., 'CST' means one thing in China and something else
|
||||
in North America, and 'IST' can refer to time in India, Ireland or
|
||||
in practice: e.g., CST means one thing in China and something else
|
||||
in North America, and IST can refer to time in India, Ireland or
|
||||
Israel.
|
||||
To avoid ambiguity, use numeric <abbr>UT</abbr> offsets like
|
||||
'<code>-</code>0600' instead of time zone abbreviations like 'CST'.
|
||||
<code>-</code>0600 instead of time zone abbreviations like CST.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
@ -617,7 +617,7 @@ The <code><abbr>tz</abbr></code> database is not authoritative, and it
|
|||
surely has errors.
|
||||
Corrections are welcome and encouraged; see the file <code>CONTRIBUTING</code>.
|
||||
Users requiring authoritative data should consult national standards
|
||||
bodies and the references cited in the database's comments.
|
||||
bodies and the references cited in the database’s comments.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
@ -639,7 +639,7 @@ Errors in the <code><abbr>tz</abbr></code> database arise from many sources:
|
|||
clocks actually behaved; the vast majority of the necessary
|
||||
information was lost or never recorded.
|
||||
Thousands more timezones would be needed if
|
||||
the <code><abbr>tz</abbr></code> database's scope were extended to
|
||||
the <code><abbr>tz</abbr></code> 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.
|
||||
|
|
@ -649,11 +649,11 @@ Errors in the <code><abbr>tz</abbr></code> database arise from many sources:
|
|||
In her 2015 book
|
||||
<cite><a
|
||||
href="https://www.hup.harvard.edu/catalog.php?isbn=9780674286146">The
|
||||
Global Transformation of Time, 1870–1950</a></cite>,
|
||||
Global Transformation of Time, 1870–1950</a></cite>,
|
||||
Vanessa Ogle writes
|
||||
"Outside of Europe and North America there was no system of time
|
||||
“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".
|
||||
prior to the middle decades of the twentieth century”.
|
||||
See: Timothy Shenk, <a
|
||||
href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle">Booked:
|
||||
A Global History of Time</a>. <cite>Dissent</cite> 2015-12-17.
|
||||
|
|
@ -671,8 +671,8 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
For the UK the <code><abbr>tz</abbr></code> database relies on
|
||||
years of first-class work done by
|
||||
Joseph Myers and others; see
|
||||
"<a href="https://www.polyomino.org.uk/british-time/">History of
|
||||
legal time in Britain</a>".
|
||||
“<a href="https://www.polyomino.org.uk/british-time/">History of
|
||||
legal time in Britain</a>”.
|
||||
Other countries are not done nearly as well.
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -697,13 +697,13 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
entries are often accurate for only a small subset of that region.
|
||||
For example, <code>Europe/London</code> 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
|
||||
have London’s exact meridian, and its 1847 transition
|
||||
to <abbr>GMT</abbr> is known to be valid only for the L&NW and
|
||||
the Caledonian railways.
|
||||
</li>
|
||||
<li>
|
||||
The <code><abbr>tz</abbr></code> database does not record the
|
||||
earliest time for which a timezone's
|
||||
earliest time for which a timezone’s
|
||||
data entries are thereafter valid for every location in the region.
|
||||
For example, <code>Europe/London</code> is valid for all locations
|
||||
in its region after <abbr>GMT</abbr> was made the standard time,
|
||||
|
|
@ -714,7 +714,7 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
</li>
|
||||
<li>
|
||||
The <code><abbr>tz</abbr></code> database does not record a
|
||||
region's boundaries, and in many cases the boundaries are not known.
|
||||
region’s boundaries, and in many cases the boundaries are not known.
|
||||
For example, the timezone
|
||||
<code>America/Kentucky/Louisville</code> represents a region
|
||||
around the city of Louisville, the boundaries of which are
|
||||
|
|
@ -747,7 +747,7 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
than what the <code><abbr>tz</abbr></code> code can handle.
|
||||
For example, from 1880 to 1916 clocks in Ireland observed Dublin Mean
|
||||
Time (estimated to be <abbr>UT</abbr>
|
||||
−00:25:21.1); although the <code><abbr>tz</abbr></code>
|
||||
−00:25:21.1); although the <code><abbr>tz</abbr></code>
|
||||
source data can represent the .1 second, TZif files and the code cannot.
|
||||
In practice these old specifications were rarely if ever
|
||||
implemented to subsecond precision.
|
||||
|
|
@ -787,7 +787,7 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
non-hour-based system at night.
|
||||
And even today, some local practices diverge from the Gregorian
|
||||
calendar with 24-hour days. These divergences range from
|
||||
relatively minor, such as Japanese bars giving times like "24:30" for the
|
||||
relatively minor, such as Japanese bars giving times like 24:30 for the
|
||||
wee hours of the morning, to more-significant differences such as <a
|
||||
href="https://theworld.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time">the
|
||||
east African practice of starting the day at dawn</a>, renumbering
|
||||
|
|
@ -825,16 +825,16 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
<li>
|
||||
Civil time was not based on atomic time before 1972, and we do not
|
||||
know the history of
|
||||
<a href="https://en.wikipedia.org/wiki/Earth's_rotation">earth's
|
||||
<a href="https://en.wikipedia.org/wiki/Earth's_rotation">earth’s
|
||||
rotation</a> accurately enough to map <a
|
||||
href="https://en.wikipedia.org/wiki/International_System_of_Units"><abbr
|
||||
title="International System of Units">SI</abbr></a> seconds to
|
||||
historical <a href="https://en.wikipedia.org/wiki/Solar_time">solar time</a>
|
||||
to more than about one-hour accuracy.
|
||||
See: Stephenson FR, Morrison LV, Hohenkerk CY.
|
||||
<a href="https://dx.doi.org/10.1098/rspa.2016.0404">Measurement of
|
||||
the Earth's rotation: 720 BC to AD 2015</a>.
|
||||
<cite>Proc Royal Soc A</cite>. 2016;472:20160404.
|
||||
See: Morrison LV, Stephenson FR, Hohenkerk CY, Zawilski M.
|
||||
<a href="https://doi.org/10.1098/rspa.2020.0776">Addendum 2020
|
||||
to ‘Measurement of the Earth’s rotation: 720 BC to AD 2015’</a>.
|
||||
<cite>Proc Royal Soc A</cite>. 2021;477:20200776.
|
||||
Also see: Espenak F. <a
|
||||
href="https://eclipse.gsfc.nasa.gov/SEhelp/uncertainty2004.html">Uncertainty
|
||||
in Delta T (ΔT)</a>.
|
||||
|
|
@ -843,7 +843,7 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
The relationship between POSIX time (that is, <abbr>UTC</abbr> but
|
||||
ignoring <a href="https://en.wikipedia.org/wiki/Leap_second">leap
|
||||
seconds</a>) and <abbr>UTC</abbr> is not agreed upon.
|
||||
This affects time stamps during the leap second era (1972–2035).
|
||||
This affects time stamps during the leap second era (1972–2035).
|
||||
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
|
||||
|
|
@ -862,12 +862,12 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes
|
|||
|
||||
<p>
|
||||
In short, many, perhaps most, of the <code><abbr>tz</abbr></code>
|
||||
database's pre-1970 and future timestamps are either wrong or
|
||||
database’s pre-1970 and future timestamps are either wrong or
|
||||
misleading.
|
||||
Any attempt to pass the
|
||||
<code><abbr>tz</abbr></code> database off as the definition of time
|
||||
should be unacceptable to anybody who cares about the facts.
|
||||
In particular, the <code><abbr>tz</abbr></code> database's
|
||||
In particular, the <code><abbr>tz</abbr></code> database’s
|
||||
<abbr>LMT</abbr> offsets should not be considered meaningful, and
|
||||
should not prompt creation of timezones
|
||||
merely because two locations
|
||||
|
|
@ -886,7 +886,7 @@ Code compatible with this package is already
|
|||
primary use of this package is to update obsolete time-related files.
|
||||
To do this, you may need to compile the time zone compiler
|
||||
<code>zic</code> supplied with this package instead of using the
|
||||
system <code>zic</code>, since the format of <code>zic</code>'s
|
||||
system <code>zic</code>, since the format of <code>zic</code>’s
|
||||
input is occasionally extended, and a platform may still be shipping
|
||||
an older <code>zic</code>.
|
||||
</p>
|
||||
|
|
@ -914,7 +914,8 @@ environment variable <code>TZ</code>, which can have two forms:
|
|||
|
||||
<h3 id="POSIX.1-2017">POSIX.1-2017 properties and limitations</h3>
|
||||
<p>
|
||||
Some platforms support only the features required by POSIX.1-2017,
|
||||
Some platforms support only the features required by POSIX.1-2017
|
||||
and earlier editions,
|
||||
and have not yet upgraded to POSIX.1-2024.
|
||||
Code intended to be portable to these platforms must deal
|
||||
with problems that were fixed in later POSIX editions.
|
||||
|
|
@ -956,14 +957,14 @@ with problems that were fixed in later POSIX editions.
|
|||
are 3 or more characters specifying the standard
|
||||
and daylight saving time (<abbr>DST</abbr>) zone abbreviations.
|
||||
Starting with POSIX.1-2001, <var>std</var> and <var>dst</var>
|
||||
may also be in a quoted form like '<code><+09></code>';
|
||||
may also be quoted in angle brackets, like <code><+09></code>;
|
||||
this allows "<code>+</code>" and "<code>-</code>" in the names.
|
||||
</dd>
|
||||
<dt><var>offset</var></dt><dd>
|
||||
is of the form
|
||||
'<code>[±]<var>hh</var>:[<var>mm</var>[:<var>ss</var>]]</code>'
|
||||
<code>[±]<var>hh</var>:[<var>mm</var>[:<var>ss</var>]]</code>
|
||||
and specifies the offset west of <abbr>UT</abbr>.
|
||||
'<var>hh</var>' may be a single digit;
|
||||
<var>hh</var> may be a single digit;
|
||||
0≤<var>hh</var>≤24.
|
||||
The default <abbr>DST</abbr> offset is one hour ahead of
|
||||
standard time.
|
||||
|
|
@ -976,10 +977,10 @@ with problems that were fixed in later POSIX editions.
|
|||
</dd>
|
||||
<dt><var>time</var></dt><dd>
|
||||
takes the form
|
||||
'<var>hh</var><code>:</code>[<var>mm</var>[<code>:</code><var>ss</var>]]'
|
||||
<var>hh</var><code>:</code>[<var>mm</var>[<code>:</code><var>ss</var>]]
|
||||
and defaults to 02:00.
|
||||
This is the same format as the offset, except that a
|
||||
leading '<code>+</code>' or '<code>-</code>' is not allowed.
|
||||
leading "<code>+</code>" or "<code>-</code>" is not allowed.
|
||||
</dd>
|
||||
<dt><var>date</var></dt><dd>
|
||||
takes one of the following forms:
|
||||
|
|
@ -996,7 +997,7 @@ with problems that were fixed in later POSIX editions.
|
|||
for the <var>d</var>th day of week <var>n</var> of
|
||||
month <var>m</var> of the year, where week 1 is the first
|
||||
week in which day <var>d</var> appears, and
|
||||
'<code>5</code>' stands for the last week in which
|
||||
"<code>5</code>" stands for the last week in which
|
||||
day <var>d</var> appears (which may be either the 4th or
|
||||
5th week).
|
||||
Typically, this is the only useful form; the <var>n</var>
|
||||
|
|
@ -1011,8 +1012,8 @@ with problems that were fixed in later POSIX editions.
|
|||
Zealand after 2007.
|
||||
It says that standard time (<abbr>NZST</abbr>) is 12 hours ahead
|
||||
of <abbr>UT</abbr>, and that daylight saving time
|
||||
(<abbr>NZDT</abbr>) is observed from September's last Sunday at
|
||||
02:00 until April's first Sunday at 03:00:
|
||||
(<abbr>NZDT</abbr>) is observed from September’s last Sunday at
|
||||
02:00 until April’s first Sunday at 03:00:
|
||||
</p>
|
||||
|
||||
<pre><code>TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'</code></pre>
|
||||
|
|
@ -1048,11 +1049,11 @@ POSIX.1-2024 extends POSIX.1-2017 in the following significant ways:
|
|||
Earlier POSIX editions lack this requirement.
|
||||
</li>
|
||||
<li>
|
||||
DST transition times can range from −167:59:59
|
||||
DST transition times can range from −167:59:59
|
||||
to 167:59:59 instead of merely from 00:00:00 to 24:59:59.
|
||||
This allows for proleptic TZ strings
|
||||
like <code>"<-02>2<-01>,M3.5.0/-1,M10.5.0/0"</code>
|
||||
where the transition time −1:00 means 23:00 the previous day.
|
||||
where the transition time −1:00 means 23:00 the previous day.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
|
|
@ -1065,14 +1066,14 @@ However POSIX.1-2024, like earlier POSIX editions, has some limitations:
|
|||
</li>
|
||||
<li>
|
||||
In POSIX, there is no tamper-proof way for a process to learn the
|
||||
system's best idea of local (wall clock) time.
|
||||
system’s best idea of local (wall clock) time.
|
||||
This is important for applications that an administrator wants
|
||||
used only at certain times – without regard to whether the
|
||||
used only at certain times – without regard to whether the
|
||||
user has fiddled the
|
||||
<code>TZ</code> environment variable.
|
||||
While an administrator can "do everything in <abbr>UT</abbr>" to
|
||||
While an administrator can “do everything in <abbr>UT</abbr>” to
|
||||
get around the problem, doing so is inconvenient and precludes
|
||||
handling daylight saving time shifts – as might be required to
|
||||
handling daylight saving time shifts – as might be required to
|
||||
limit phone calls to off-peak hours.
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -1081,8 +1082,7 @@ However POSIX.1-2024, like earlier POSIX editions, has some limitations:
|
|||
</li>
|
||||
<li>
|
||||
POSIX does not define the <abbr>DST</abbr> transitions
|
||||
for <code>TZ</code> values like
|
||||
"<code>EST5EDT</code>".
|
||||
for settings like <code>TZ='EST5EDT'</code>.
|
||||
Traditionally the current <abbr>US</abbr> <abbr>DST</abbr> rules
|
||||
were used to interpret such values, but this meant that the
|
||||
<abbr>US</abbr> <abbr>DST</abbr> rules were compiled into each
|
||||
|
|
@ -1124,7 +1124,7 @@ However POSIX.1-2024, like earlier POSIX editions, has some limitations:
|
|||
If the <code>TZ</code> environment variable uses the geographical format,
|
||||
it is used in generating
|
||||
the name of a file from which time-related information is read.
|
||||
The file's format is <dfn><abbr>TZif</abbr></dfn>,
|
||||
The file’s format is <dfn><abbr>TZif</abbr></dfn>,
|
||||
a timezone information format that contains binary data; see
|
||||
<a href="https://www.rfc-editor.org/rfc/9636">Internet
|
||||
<abbr>RFC</abbr> 9636</a>.
|
||||
|
|
@ -1138,18 +1138,18 @@ However POSIX.1-2024, like earlier POSIX editions, has some limitations:
|
|||
<p>
|
||||
When the <code><abbr>tz</abbr></code> code was developed in the 1980s,
|
||||
it was recognized that allowing the <code>TZ</code> environment
|
||||
variable to take on values such as '<code>America/New_York</code>'
|
||||
might cause "old" programs (that expect <code>TZ</code> to have a
|
||||
variable to take on values such as <code>America/New_York</code>
|
||||
might cause old programs (that expect <code>TZ</code> to have a
|
||||
certain format) to operate incorrectly; consideration was given to using
|
||||
some other environment variable (for example, <code>TIMEZONE</code>)
|
||||
to hold the string used to generate the <abbr>TZif</abbr> file's name.
|
||||
to hold the string used to generate the <abbr>TZif</abbr> file’s name.
|
||||
In the end, however, it was decided to continue using
|
||||
<code>TZ</code>: it is widely used for time zone purposes;
|
||||
separately maintaining both <code>TZ</code>
|
||||
and <code>TIMEZONE</code> seemed a nuisance; and systems where
|
||||
"new" forms of <code>TZ</code> might cause problems can simply
|
||||
use legacy <code>TZ</code> values such as "<code>EST5EDT</code>" which
|
||||
can be used by "new" programs as well as by "old" programs that
|
||||
new forms of <code>TZ</code> might cause problems can simply
|
||||
use legacy settings such as <code>TZ='EST5EDT'</code> which
|
||||
can be used by new programs as well as by old programs that
|
||||
assume pre-POSIX <code>TZ</code> values.
|
||||
</p>
|
||||
</li>
|
||||
|
|
@ -1192,20 +1192,20 @@ The vestigial <abbr>API</abbr>s are:
|
|||
The POSIX <code>tzname</code> variable does not suffice and is no
|
||||
longer needed.
|
||||
It is planned to be removed in a future edition of POSIX.
|
||||
To get a timestamp's time zone abbreviation, consult
|
||||
To get a timestamp’s time zone abbreviation, consult
|
||||
the <code>tm_zone</code> member if available; otherwise,
|
||||
use <code>strftime</code>'s <code>"%Z"</code> conversion
|
||||
use <code>strftime</code>’s <code>"%Z"</code> conversion
|
||||
specification.
|
||||
</li>
|
||||
<li>
|
||||
The POSIX <code>daylight</code> and <code>timezone</code>
|
||||
variables do not suffice and are no longer needed.
|
||||
They are planned to be removed in a future edition of POSIX.
|
||||
To get a timestamp's <abbr>UT</abbr> offset, consult
|
||||
To get a timestamp’s <abbr>UT</abbr> offset, consult
|
||||
the <code>tm_gmtoff</code> member if available; otherwise,
|
||||
subtract values returned by <code>localtime</code>
|
||||
and <code>gmtime</code> using the rules of the Gregorian calendar,
|
||||
or use <code>strftime</code>'s <code>"%z"</code> conversion
|
||||
or use <code>strftime</code>’s <code>"%z"</code> conversion
|
||||
specification if a string like <code>"+0900"</code> suffices.
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -1230,9 +1230,9 @@ The vestigial <abbr>API</abbr>s are:
|
|||
<li>
|
||||
The <a href="https://en.wikipedia.org/wiki/Version_7_Unix">7th Edition
|
||||
UNIX</a> <code>timezone</code> function is not present in this
|
||||
package; it is impossible to reliably map <code>timezone</code>'s
|
||||
arguments (a "minutes west of <abbr>GMT</abbr>" value and a
|
||||
"daylight saving time in effect" flag) to a time zone
|
||||
package; it is impossible to reliably map <code>timezone</code>’s
|
||||
arguments (a “minutes west of <abbr>GMT</abbr>” 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 <code>timezone</code> function
|
||||
may now examine <code>localtime(&clock)->tm_zone</code>
|
||||
|
|
@ -1262,7 +1262,7 @@ The vestigial <abbr>API</abbr>s are:
|
|||
The functions that are conditionally compiled
|
||||
if <code>STD_INSPIRED</code> is nonzero should, at this point, be
|
||||
looked on primarily as food for thought.
|
||||
They are not in any sense "standard compatible" – some are
|
||||
They are not in any sense “standard compatible” – some are
|
||||
not, in fact, specified in <em>any</em> standard.
|
||||
They do, however, represent responses of various authors to
|
||||
standardization proposals.
|
||||
|
|
@ -1293,11 +1293,11 @@ The <code><abbr>tz</abbr></code> code and data supply the following interfaces:
|
|||
<ul>
|
||||
<li>
|
||||
A set of timezone names as per
|
||||
"<a href="#naming">Timezone identifiers</a>" above.
|
||||
“<a href="#naming">Timezone identifiers</a>” above.
|
||||
</li>
|
||||
<li>
|
||||
Library functions described in "<a href="#functions">Time and date
|
||||
functions</a>" above.
|
||||
Library functions described in “<a href="#functions">Time and date
|
||||
functions</a>” above.
|
||||
</li>
|
||||
<li>
|
||||
The programs <code>tzselect</code>, <code>zdump</code>,
|
||||
|
|
@ -1319,7 +1319,7 @@ The <code><abbr>tz</abbr></code> code and data supply the following interfaces:
|
|||
</li>
|
||||
<li>
|
||||
The version number of the code and data, as the first line of
|
||||
the text file '<code>version</code>' in each release.
|
||||
the text file "<code>version</code>" in each release.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
|
@ -1347,7 +1347,7 @@ For example, even though the <samp>Asia/Bangkok</samp> timezone
|
|||
currently includes Chang Mai, Hanoi, and Phnom Penh, this is not part
|
||||
of the stable interface and the timezone can split at any time.
|
||||
If a calendar application records a future event in some location other
|
||||
than Bangkok by putting "<samp>Asia/Bangkok</samp>" in the event's record,
|
||||
than Bangkok by putting <samp>Asia/Bangkok</samp> in the event’s record,
|
||||
the application should be robust in the presence of timezone splits
|
||||
between now and the future time.
|
||||
</p>
|
||||
|
|
@ -1381,7 +1381,7 @@ commonly used by
|
|||
<a href="https://www.ntp.org"><abbr title="Network Time Protocol">NTP</abbr></a>
|
||||
software that adjusts the kernel clock.
|
||||
However, kernel-clock twiddling approximates UTC only roughly,
|
||||
and systems needing more precise UTC can use this package's leap
|
||||
and systems needing more precise UTC can use this package’s leap
|
||||
second support directly.
|
||||
</p>
|
||||
|
||||
|
|
@ -1391,8 +1391,8 @@ counts of seconds since the POSIX epoch normally include leap seconds,
|
|||
as opposed to POSIX <code>time_t</code> counts which exclude leap seconds.
|
||||
This modified timescale is converted to <abbr>UTC</abbr>
|
||||
at the same point that time zone and <abbr>DST</abbr>
|
||||
adjustments are applied –
|
||||
namely, at calls to <code>localtime</code> and analogous functions –
|
||||
adjustments are applied –
|
||||
namely, at calls to <code>localtime</code> and analogous functions –
|
||||
and the process is driven by leap second information
|
||||
stored in alternate versions of the <abbr>TZif</abbr> files.
|
||||
Because a leap second adjustment may be needed even
|
||||
|
|
@ -1402,7 +1402,7 @@ also need to consult a <abbr>TZif</abbr> file,
|
|||
conventionally named <samp><abbr>Etc/UTC</abbr></samp>
|
||||
(<samp><abbr>GMT</abbr></samp> in previous versions),
|
||||
to see whether leap second corrections are needed.
|
||||
To convert an application's <code>time_t</code> timestamps to or from
|
||||
To convert an application’s <code>time_t</code> timestamps to or from
|
||||
POSIX <code>time_t</code> timestamps (for use when, say,
|
||||
embedding or interpreting timestamps in portable
|
||||
<a href="https://en.wikipedia.org/wiki/Tar_(computing)"><code>tar</code></a>
|
||||
|
|
@ -1425,7 +1425,7 @@ So if you configure your kernel to count leap seconds, you should also
|
|||
discard <samp>zoneinfo</samp> and rename <samp>zoneinfo-leaps</samp>
|
||||
to <samp>zoneinfo</samp>.
|
||||
Alternatively, you can install just one set of <abbr>TZif</abbr> files
|
||||
in the first place; see the <code>REDO</code> variable in this package's
|
||||
in the first place; see the <code>REDO</code> variable in this package’s
|
||||
<a href="https://en.wikipedia.org/wiki/Makefile">makefile</a>.
|
||||
</p>
|
||||
</section>
|
||||
|
|
@ -1440,7 +1440,7 @@ An excellent resource in this area is Edward M. Reingold
|
|||
and Nachum Dershowitz, <cite><a
|
||||
href="https://www.cambridge.org/fr/academic/subjects/computer-science/computing-general-interest/calendrical-calculations-ultimate-edition-4th-edition">Calendrical
|
||||
Calculations: The Ultimate Edition</a></cite>, Cambridge University Press (2018).
|
||||
Other information and sources are given in the file '<code>calendars</code>'
|
||||
Other information and sources are given in the file "<code>calendars</code>"
|
||||
in the <code><abbr>tz</abbr></code> distribution.
|
||||
They sometimes disagree.
|
||||
</p>
|
||||
|
|
@ -1450,20 +1450,20 @@ They sometimes disagree.
|
|||
<h2 id="planets">Time and time zones off Earth</h2>
|
||||
<p>
|
||||
The European Space Agency is <a
|
||||
href='https://www.esa.int/Applications/Navigation/Telling_time_on_the_Moon'>considering</a>
|
||||
href="https://www.esa.int/Applications/Navigation/Telling_time_on_the_Moon">considering</a>
|
||||
the establishment of a reference timescale for the Moon, which has
|
||||
days roughly equivalent to 29.5 Earth days, and where relativistic
|
||||
effects cause clocks to tick slightly faster than on Earth.
|
||||
Also, <abbr title="National Aeronautics and Space Administration">NASA</abbr>
|
||||
has been <a
|
||||
href='https://www.whitehouse.gov/wp-content/uploads/2024/04/Celestial-Time-Standardization-Policy.pdf'>ordered</a>
|
||||
href="https://www.whitehouse.gov/wp-content/uploads/2024/04/Celestial-Time-Standardization-Policy.pdf">ordered</a>
|
||||
to consider the establishment of Coordinated Lunar Time (<abbr>LTC</abbr>).
|
||||
It is not yet known whether the US and European efforts will result in
|
||||
multiple timescales on the Moon.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Some people's work schedules have used
|
||||
Some people’s work schedules have used
|
||||
<a href="https://en.wikipedia.org/wiki/Timekeeping_on_Mars">Mars time</a>.
|
||||
Jet Propulsion Laboratory (JPL) coordinators kept Mars time on
|
||||
and off during the
|
||||
|
|
@ -1473,7 +1473,7 @@ Some of their family members also adapted to Mars time.
|
|||
Dozens of special Mars watches were built for JPL workers who kept
|
||||
Mars time during the
|
||||
<a href="https://en.wikipedia.org/wiki/Mars_Exploration_Rover">Mars
|
||||
Exploration Rovers (MER)</a> mission (2004–2018).
|
||||
Exploration Rovers (MER)</a> mission (2004–2018).
|
||||
These timepieces looked like normal Seikos and Citizens but were adjusted
|
||||
to use Mars seconds rather than terrestrial seconds, although
|
||||
unfortunately the adjusted watches were unreliable and appear to have
|
||||
|
|
@ -1481,12 +1481,12 @@ had only limited use.
|
|||
</p>
|
||||
|
||||
<p>
|
||||
A Mars solar day is called a "sol" and has a mean period equal to
|
||||
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.
|
||||
(One MER worker noted, "If I am working Mars hours, and Mars hours are
|
||||
2.5% more than Earth hours, shouldn't I get an extra 2.5% pay raise?")
|
||||
(One MER worker noted, “If I am working Mars hours, and Mars hours are
|
||||
2.5% more than Earth hours, shouldn’t I get an extra 2.5% pay raise?”)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
@ -1494,7 +1494,7 @@ The <a href="https://en.wikipedia.org/wiki/Prime_meridian">prime
|
|||
meridian</a> of Mars goes through the center of the crater
|
||||
<a href="https://en.wikipedia.org/wiki/Airy-0">Airy-0</a>, named in
|
||||
honor of the British astronomer who built the Greenwich telescope that
|
||||
defines Earth's prime meridian.
|
||||
defines Earth’s prime meridian.
|
||||
Mean solar time on the Mars prime meridian is
|
||||
called Mars Coordinated Time (<abbr>MTC</abbr>).
|
||||
</p>
|
||||
|
|
@ -1502,13 +1502,13 @@ called Mars Coordinated Time (<abbr>MTC</abbr>).
|
|||
<p>
|
||||
Each landed mission on Mars has adopted a different reference for
|
||||
solar timekeeping, so there is no real standard for Mars time zones.
|
||||
For example, the MER mission defined two time zones "Local
|
||||
Solar Time A" and "Local Solar Time B" for its two missions, each zone
|
||||
For example, the MER mission 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.
|
||||
The A and B zones differ enough so that an MER worker assigned to
|
||||
the A zone might suffer "Mars lag" when switching to work in the B zone.
|
||||
Such a "time zone" is not particularly suited for any application
|
||||
the A zone might suffer “Mars lag” when switching to work in the B zone.
|
||||
Such a “time zone” is not particularly suited for any application
|
||||
other than the mission itself.
|
||||
</p>
|
||||
|
||||
|
|
@ -1522,13 +1522,13 @@ sequential count of Mars solar days elapsed since about 1873-12-29
|
|||
|
||||
<p>
|
||||
In our solar system, Mars is the planet with time and calendar most
|
||||
like Earth's.
|
||||
like Earth’s.
|
||||
On other planets, Sun-based time and calendars would work quite
|
||||
differently.
|
||||
For example, although Mercury's
|
||||
For example, although Mercury’s
|
||||
<a href="https://en.wikipedia.org/wiki/Rotation_period">sidereal
|
||||
rotation period</a> is 58.646 Earth days, Mercury revolves around the
|
||||
Sun so rapidly that an observer on Mercury's equator would see a
|
||||
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
|
||||
|
|
@ -1554,8 +1554,8 @@ Sources for time on other planets:
|
|||
<ul>
|
||||
<li>
|
||||
Michael Allison and Robert Schmunk,
|
||||
"<a href="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Technical
|
||||
Notes on Mars Solar Time as Adopted by the Mars24 Sunclock</a>"
|
||||
“<a href="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Technical
|
||||
Notes on Mars Solar Time as Adopted by the Mars24 Sunclock</a>”
|
||||
(2020-03-08).
|
||||
</li>
|
||||
<li>
|
||||
|
|
@ -1565,28 +1565,33 @@ Sources for time on other planets:
|
|||
</li>
|
||||
<li>
|
||||
Jia-Rui Chong,
|
||||
"<a href="https://www.latimes.com/archives/la-xpm-2004-jan-14-sci-marstime14-story.html">Workdays
|
||||
Fit for a Martian</a>", <cite>Los Angeles Times</cite>
|
||||
(2004-01-14), pp A1, A20–A21.
|
||||
“<a href="https://www.latimes.com/archives/la-xpm-2004-jan-14-sci-marstime14-story.html">Workdays
|
||||
Fit for a Martian</a>”, <cite>Los Angeles Times</cite>
|
||||
(2004-01-14), pp A1, A20–A21.
|
||||
</li>
|
||||
<li>
|
||||
Tom Chmielewski,
|
||||
"<a href="https://www.theatlantic.com/technology/archive/2015/02/jet-lag-is-worse-on-mars/386033/">Jet
|
||||
Lag Is Worse on Mars</a>", <cite>The Atlantic</cite> (2015-02-26)
|
||||
“<a href="https://www.theatlantic.com/technology/archive/2015/02/jet-lag-is-worse-on-mars/386033/">Jet
|
||||
Lag Is Worse on Mars</a>”, <cite>The Atlantic</cite> (2015-02-26)
|
||||
</li>
|
||||
<li>
|
||||
Matt Williams,
|
||||
"<a href="https://www.universetoday.com/37481/days-of-the-planets/">How
|
||||
long is a day on the other planets of the solar system?</a>"
|
||||
“<a href="https://www.universetoday.com/37481/days-of-the-planets/">How
|
||||
long is a day on the other planets of the solar system?</a>”
|
||||
(2016-01-20).
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<hr>
|
||||
This file is in the public domain, so clarified as of 2009-05-17 by
|
||||
Arthur David Olson.
|
||||
<hr>
|
||||
This web page is in the public domain, so clarified as of
|
||||
2009-05-17 by Arthur David Olson.
|
||||
<br>
|
||||
Please send corrections to this web page to the
|
||||
<a href="mailto:tz@iana.org">time zone mailing list</a>.
|
||||
The mailing list and its archives are public,
|
||||
so please do not send confidential information.
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
2
version
2
version
|
|
@ -1 +1 @@
|
|||
2025b
|
||||
2025c
|
||||
|
|
|
|||
24
zone1970.tab
24
zone1970.tab
|
|
@ -2,15 +2,15 @@
|
|||
#
|
||||
# This file is in the public domain.
|
||||
#
|
||||
# From Paul Eggert (2018-06-27):
|
||||
# From Paul Eggert (2025-05-15):
|
||||
# This file contains a table where each row stands for a timezone where
|
||||
# civil timestamps have agreed since 1970. Columns are separated by
|
||||
# a single tab. Lines beginning with '#' are comments. All text uses
|
||||
# a single tab. Lines beginning with ‘#’ are comments. All text uses
|
||||
# UTF-8 encoding. The columns of the table are as follows:
|
||||
#
|
||||
# 1. The countries that overlap the timezone, as a comma-separated list
|
||||
# of ISO 3166 2-character country codes. See the file 'iso3166.tab'.
|
||||
# 2. Latitude and longitude of the timezone's principal location
|
||||
# of ISO 3166 2-character country codes.
|
||||
# 2. Latitude and longitude of the timezone’s principal location
|
||||
# in ISO 6709 sign-degrees-minutes-seconds format,
|
||||
# either ±DDMM±DDDMM or ±DDMMSS±DDDMMSS,
|
||||
# first latitude (+ is north), then longitude (+ is east).
|
||||
|
|
@ -197,7 +197,7 @@ KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda
|
|||
KZ +5312+06337 Asia/Qostanay Qostanay/Kostanay/Kustanay
|
||||
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 +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
|
||||
|
|
@ -245,7 +245,7 @@ PE -1203-07703 America/Lima
|
|||
PF -1732-14934 Pacific/Tahiti Society Islands
|
||||
PF -0900-13930 Pacific/Marquesas Marquesas Islands
|
||||
PF -2308-13457 Pacific/Gambier Gambier Islands
|
||||
PG,AQ,FM -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas), Chuuk, Yap, Dumont d'Urville
|
||||
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 +143512+1205804 Asia/Manila
|
||||
PK +2452+06703 Asia/Karachi
|
||||
|
|
@ -265,7 +265,7 @@ RO +4426+02606 Europe/Bucharest
|
|||
RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade
|
||||
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
|
||||
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
|
||||
# Mention RU and UA alphabetically. See "territorial claims" above.
|
||||
# Mention RU and UA alphabetically. See “territorial claims” above.
|
||||
RU,UA +4457+03406 Europe/Simferopol Crimea
|
||||
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
|
||||
RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
|
||||
|
|
@ -353,20 +353,20 @@ ZA,LS,SZ -2615+02800 Africa/Johannesburg
|
|||
# The next section contains experimental tab-separated comments for
|
||||
# use by user agents like tzselect that identify continents and oceans.
|
||||
#
|
||||
# For example, the comment "#@AQ<tab>Antarctica/" means the country code
|
||||
# For example, the comment ‘#@AQ<tab>Antarctica/’ means the country code
|
||||
# AQ is in the continent Antarctica regardless of the Zone name,
|
||||
# so Pacific/Auckland should be listed under Antarctica as well as
|
||||
# under the Pacific because its line's country codes include AQ.
|
||||
# under the Pacific because its line’s country codes include AQ.
|
||||
#
|
||||
# If more than one country code is affected each is listed separated
|
||||
# by commas, e.g., #@IS,SH<tab>Atlantic/". If a country code is in
|
||||
# by commas, e.g., ‘#@IS,SH<tab>Atlantic/’. If a country code is in
|
||||
# more than one continent or ocean, each is listed separated by
|
||||
# commas, e.g., the second column of "#@CY,TR<tab>Asia/,Europe/".
|
||||
# commas, e.g., the second column of ‘#@CY,TR<tab>Asia/,Europe/’.
|
||||
#
|
||||
# These experimental comments are present only for country codes where
|
||||
# the continent or ocean is not already obvious from the Zone name.
|
||||
# For example, there is no such comment for RU since it already
|
||||
# corresponds to Zone names starting with both "Europe/" and "Asia/".
|
||||
# corresponds to Zone names starting with both ‘Europe/’ and ‘Asia/’.
|
||||
#
|
||||
#@AQ Antarctica/
|
||||
#@IS,SH Atlantic/
|
||||
|
|
|
|||
94
zonenow.tab
94
zonenow.tab
|
|
@ -5,12 +5,12 @@
|
|||
# From Paul Eggert (2023-12-18):
|
||||
# This file contains a table where each row stands for a timezone
|
||||
# where civil timestamps are predicted to agree from now on.
|
||||
# This file is like zone1970.tab (see zone1970.tab's comments),
|
||||
# This file is like zone1970.tab (see zone1970.tab’s comments),
|
||||
# but with the following changes:
|
||||
#
|
||||
# 1. Each timezone corresponds to a set of clocks that are planned
|
||||
# to agree from now on. This is a larger set of clocks than in
|
||||
# zone1970.tab, where each timezone's clocks must agree from 1970 on.
|
||||
# zone1970.tab, where each timezone’s clocks must agree from 1970 on.
|
||||
# 2. The first column is irrelevant and ignored.
|
||||
# 3. The table is sorted in a different way:
|
||||
# first by standard time UTC offset;
|
||||
|
|
@ -29,19 +29,19 @@
|
|||
#XX coordinates TZ comments
|
||||
#
|
||||
# -11 - SST
|
||||
XX -1416-17042 Pacific/Pago_Pago Midway; Samoa ("SST")
|
||||
XX -1416-17042 Pacific/Pago_Pago Midway; Samoa (SST)
|
||||
#
|
||||
# -11
|
||||
XX -1901-16955 Pacific/Niue Niue
|
||||
#
|
||||
# -10 - HST
|
||||
XX +211825-1575130 Pacific/Honolulu Hawaii ("HST")
|
||||
XX +211825-1575130 Pacific/Honolulu Hawaii (HST)
|
||||
#
|
||||
# -10
|
||||
XX -1732-14934 Pacific/Tahiti Tahiti; Cook Islands
|
||||
#
|
||||
# -10/-09 - HST / HDT (North America DST)
|
||||
XX +515248-1763929 America/Adak western Aleutians in Alaska ("HST/HDT")
|
||||
XX +515248-1763929 America/Adak western Aleutians in Alaska (HST/HDT)
|
||||
#
|
||||
# -09:30
|
||||
XX -0900-13930 Pacific/Marquesas Marquesas
|
||||
|
|
@ -50,58 +50,58 @@ XX -0900-13930 Pacific/Marquesas Marquesas
|
|||
XX -2308-13457 Pacific/Gambier Gambier
|
||||
#
|
||||
# -09/-08 - AKST/AKDT (North America DST)
|
||||
XX +611305-1495401 America/Anchorage most of Alaska ("AKST/AKDT")
|
||||
XX +611305-1495401 America/Anchorage most of Alaska (AKST/AKDT)
|
||||
#
|
||||
# -08
|
||||
XX -2504-13005 Pacific/Pitcairn Pitcairn
|
||||
#
|
||||
# -08/-07 - PST/PDT (North America DST)
|
||||
XX +340308-1181434 America/Los_Angeles Pacific ("PST/PDT") - US & Canada; Mexico near US border
|
||||
XX +340308-1181434 America/Los_Angeles Pacific (PST/PDT) - US & Canada; Mexico near US border
|
||||
#
|
||||
# -07 - MST
|
||||
XX +332654-1120424 America/Phoenix Mountain Standard ("MST") - Arizona; western Mexico; Yukon
|
||||
XX +332654-1120424 America/Phoenix Mountain Standard (MST) - Arizona; western Mexico; Yukon
|
||||
#
|
||||
# -07/-06 - MST/MDT (North America DST)
|
||||
XX +394421-1045903 America/Denver Mountain ("MST/MDT") - US & Canada; Mexico near US border
|
||||
XX +394421-1045903 America/Denver Mountain (MST/MDT) - US & Canada; Mexico near US border
|
||||
#
|
||||
# -06
|
||||
XX -0054-08936 Pacific/Galapagos Galápagos
|
||||
#
|
||||
# -06 - CST
|
||||
XX +1924-09909 America/Mexico_City Central Standard ("CST") - Saskatchewan; central Mexico; Central America
|
||||
XX +1924-09909 America/Mexico_City Central Standard (CST) - Saskatchewan; central Mexico; Central America
|
||||
#
|
||||
# -06/-05 (Chile DST)
|
||||
XX -2709-10926 Pacific/Easter Easter Island
|
||||
#
|
||||
# -06/-05 - CST/CDT (North America DST)
|
||||
XX +415100-0873900 America/Chicago Central ("CST/CDT") - US & Canada; Mexico near US border
|
||||
XX +415100-0873900 America/Chicago Central (CST/CDT) - US & Canada; Mexico near US border
|
||||
#
|
||||
# -05
|
||||
XX -1203-07703 America/Lima eastern South America
|
||||
#
|
||||
# -05 - EST
|
||||
XX +175805-0764736 America/Jamaica Eastern Standard ("EST") - Caymans; Jamaica; eastern Mexico; Panama
|
||||
XX +175805-0764736 America/Jamaica Eastern Standard (EST) - Caymans; Jamaica; eastern Mexico; Panama
|
||||
#
|
||||
# -05/-04 - CST/CDT (Cuba DST)
|
||||
XX +2308-08222 America/Havana Cuba
|
||||
#
|
||||
# -05/-04 - EST/EDT (North America DST)
|
||||
XX +404251-0740023 America/New_York Eastern ("EST/EDT") - US & Canada
|
||||
XX +404251-0740023 America/New_York Eastern (EST/EDT) - US & Canada
|
||||
#
|
||||
# -04
|
||||
XX +1030-06656 America/Caracas western South America
|
||||
#
|
||||
# -04 - AST
|
||||
XX +1828-06954 America/Santo_Domingo Atlantic Standard ("AST") - eastern Caribbean
|
||||
XX +1828-06954 America/Santo_Domingo Atlantic Standard (AST) - eastern Caribbean
|
||||
#
|
||||
# -04/-03 (Chile DST)
|
||||
XX -3327-07040 America/Santiago most of Chile
|
||||
#
|
||||
# -04/-03 - AST/ADT (North America DST)
|
||||
XX +4439-06336 America/Halifax Atlantic ("AST/ADT") - Canada; Bermuda
|
||||
XX +4439-06336 America/Halifax Atlantic (AST/ADT) - Canada; Bermuda
|
||||
#
|
||||
# -03:30/-02:30 - NST/NDT (North America DST)
|
||||
XX +4734-05243 America/St_Johns Newfoundland ("NST/NDT")
|
||||
XX +4734-05243 America/St_Johns Newfoundland (NST/NDT)
|
||||
#
|
||||
# -03
|
||||
XX -2332-04637 America/Sao_Paulo eastern and southern South America
|
||||
|
|
@ -122,43 +122,43 @@ XX +1455-02331 Atlantic/Cape_Verde Cape Verde
|
|||
XX +3744-02540 Atlantic/Azores Azores
|
||||
#
|
||||
# +00 - GMT
|
||||
XX +0519-00402 Africa/Abidjan far western Africa; Iceland ("GMT")
|
||||
XX +0519-00402 Africa/Abidjan far western Africa; Iceland (GMT)
|
||||
#
|
||||
# +00/+01 - GMT/BST (EU DST)
|
||||
XX +513030-0000731 Europe/London United Kingdom ("GMT/BST")
|
||||
XX +513030-0000731 Europe/London United Kingdom (GMT/BST)
|
||||
#
|
||||
# +00/+01 - WET/WEST (EU DST)
|
||||
XX +3843-00908 Europe/Lisbon western Europe ("WET/WEST")
|
||||
XX +3843-00908 Europe/Lisbon western Europe (WET/WEST)
|
||||
#
|
||||
# +00/+02 - Troll DST
|
||||
XX -720041+0023206 Antarctica/Troll Troll Station in Antarctica
|
||||
#
|
||||
# +01 - CET
|
||||
XX +3647+00303 Africa/Algiers Algeria, Tunisia ("CET")
|
||||
XX +3647+00303 Africa/Algiers Algeria, Tunisia (CET)
|
||||
#
|
||||
# +01 - WAT
|
||||
XX +0627+00324 Africa/Lagos western Africa ("WAT")
|
||||
XX +0627+00324 Africa/Lagos western Africa (WAT)
|
||||
#
|
||||
# +01/+00 - IST/GMT (EU DST in reverse)
|
||||
XX +5320-00615 Europe/Dublin Ireland ("IST/GMT")
|
||||
XX +5320-00615 Europe/Dublin Ireland (IST/GMT)
|
||||
#
|
||||
# +01/+00 - (Morocco DST)
|
||||
XX +3339-00735 Africa/Casablanca Morocco
|
||||
#
|
||||
# +01/+02 - CET/CEST (EU DST)
|
||||
XX +4852+00220 Europe/Paris central Europe ("CET/CEST")
|
||||
XX +4852+00220 Europe/Paris central Europe (CET/CEST)
|
||||
#
|
||||
# +02 - CAT
|
||||
XX -2558+03235 Africa/Maputo central Africa ("CAT")
|
||||
XX -2558+03235 Africa/Maputo central Africa (CAT)
|
||||
#
|
||||
# +02 - EET
|
||||
XX +3254+01311 Africa/Tripoli Libya; Kaliningrad ("EET")
|
||||
XX +3254+01311 Africa/Tripoli Libya; Kaliningrad (EET)
|
||||
#
|
||||
# +02 - SAST
|
||||
XX -2615+02800 Africa/Johannesburg southern Africa ("SAST")
|
||||
XX -2615+02800 Africa/Johannesburg southern Africa (SAST)
|
||||
#
|
||||
# +02/+03 - EET/EEST (EU DST)
|
||||
XX +3758+02343 Europe/Athens eastern Europe ("EET/EEST")
|
||||
XX +3758+02343 Europe/Athens eastern Europe (EET/EEST)
|
||||
#
|
||||
# +02/+03 - EET/EEST (Egypt DST)
|
||||
XX +3003+03115 Africa/Cairo Egypt
|
||||
|
|
@ -179,10 +179,10 @@ XX +314650+0351326 Asia/Jerusalem Israel
|
|||
XX +4101+02858 Europe/Istanbul Near East; Belarus
|
||||
#
|
||||
# +03 - EAT
|
||||
XX -0117+03649 Africa/Nairobi eastern Africa ("EAT")
|
||||
XX -0117+03649 Africa/Nairobi eastern Africa (EAT)
|
||||
#
|
||||
# +03 - MSK
|
||||
XX +554521+0373704 Europe/Moscow Moscow ("MSK")
|
||||
XX +554521+0373704 Europe/Moscow Moscow (MSK)
|
||||
#
|
||||
# +03:30
|
||||
XX +3540+05126 Asia/Tehran Iran
|
||||
|
|
@ -197,13 +197,13 @@ XX +3431+06912 Asia/Kabul Afghanistan
|
|||
XX +4120+06918 Asia/Tashkent Russia; Kazakhstan; Tajikistan; Turkmenistan; Uzbekistan; Maldives
|
||||
#
|
||||
# +05 - PKT
|
||||
XX +2452+06703 Asia/Karachi Pakistan ("PKT")
|
||||
XX +2452+06703 Asia/Karachi Pakistan (PKT)
|
||||
#
|
||||
# +05:30
|
||||
XX +0656+07951 Asia/Colombo Sri Lanka
|
||||
#
|
||||
# +05:30 - IST
|
||||
XX +2232+08822 Asia/Kolkata India ("IST")
|
||||
XX +2232+08822 Asia/Kolkata India (IST)
|
||||
#
|
||||
# +05:45
|
||||
XX +2743+08519 Asia/Kathmandu Nepal
|
||||
|
|
@ -218,25 +218,25 @@ XX +1647+09610 Asia/Yangon Myanmar; Cocos
|
|||
XX +1345+10031 Asia/Bangkok Russia; Indochina; Christmas Island
|
||||
#
|
||||
# +07 - WIB
|
||||
XX -0610+10648 Asia/Jakarta Indonesia ("WIB")
|
||||
XX -0610+10648 Asia/Jakarta Indonesia (WIB)
|
||||
#
|
||||
# +08
|
||||
XX +0117+10351 Asia/Singapore Russia; Brunei; Malaysia; Singapore; Concordia
|
||||
#
|
||||
# +08 - AWST
|
||||
XX -3157+11551 Australia/Perth Western Australia ("AWST")
|
||||
XX -3157+11551 Australia/Perth Western Australia (AWST)
|
||||
#
|
||||
# +08 - CST
|
||||
XX +3114+12128 Asia/Shanghai China ("CST")
|
||||
XX +3114+12128 Asia/Shanghai China (CST)
|
||||
#
|
||||
# +08 - HKT
|
||||
XX +2217+11409 Asia/Hong_Kong Hong Kong ("HKT")
|
||||
XX +2217+11409 Asia/Hong_Kong Hong Kong (HKT)
|
||||
#
|
||||
# +08 - PHT
|
||||
XX +143512+1205804 Asia/Manila Philippines ("PHT")
|
||||
XX +143512+1205804 Asia/Manila Philippines (PHT)
|
||||
#
|
||||
# +08 - WITA
|
||||
XX -0507+11924 Asia/Makassar Indonesia ("WITA")
|
||||
XX -0507+11924 Asia/Makassar Indonesia (WITA)
|
||||
#
|
||||
# +08:45
|
||||
XX -3143+12852 Australia/Eucla Eucla
|
||||
|
|
@ -245,31 +245,31 @@ XX -3143+12852 Australia/Eucla Eucla
|
|||
XX +5203+11328 Asia/Chita Russia; Palau; East Timor
|
||||
#
|
||||
# +09 - JST
|
||||
XX +353916+1394441 Asia/Tokyo Japan ("JST"); Eyre Bird Observatory
|
||||
XX +353916+1394441 Asia/Tokyo Japan (JST); Eyre Bird Observatory
|
||||
#
|
||||
# +09 - KST
|
||||
XX +3733+12658 Asia/Seoul Korea ("KST")
|
||||
XX +3733+12658 Asia/Seoul Korea (KST)
|
||||
#
|
||||
# +09 - WIT
|
||||
XX -0232+14042 Asia/Jayapura Indonesia ("WIT")
|
||||
XX -0232+14042 Asia/Jayapura Indonesia (WIT)
|
||||
#
|
||||
# +09:30 - ACST
|
||||
XX -1228+13050 Australia/Darwin Northern Territory ("ACST")
|
||||
XX -1228+13050 Australia/Darwin Northern Territory (ACST)
|
||||
#
|
||||
# +09:30/+10:30 - ACST/ACDT (Australia DST)
|
||||
XX -3455+13835 Australia/Adelaide South Australia ("ACST/ACDT")
|
||||
XX -3455+13835 Australia/Adelaide South Australia (ACST/ACDT)
|
||||
#
|
||||
# +10
|
||||
XX +4310+13156 Asia/Vladivostok Russia; Yap; Chuuk; Papua New Guinea; Dumont d'Urville
|
||||
XX +4310+13156 Asia/Vladivostok Russia; Yap; Chuuk; Papua New Guinea; Dumont d’Urville
|
||||
#
|
||||
# +10 - AEST
|
||||
XX -2728+15302 Australia/Brisbane Queensland ("AEST")
|
||||
XX -2728+15302 Australia/Brisbane Queensland (AEST)
|
||||
#
|
||||
# +10 - ChST
|
||||
XX +1328+14445 Pacific/Guam Mariana Islands ("ChST")
|
||||
XX +1328+14445 Pacific/Guam Mariana Islands (ChST)
|
||||
#
|
||||
# +10/+11 - AEST/AEDT (Australia DST)
|
||||
XX -3352+15113 Australia/Sydney southeast Australia ("AEST/AEDT")
|
||||
XX -3352+15113 Australia/Sydney southeast Australia (AEST/AEDT)
|
||||
#
|
||||
# +10:30/+11
|
||||
XX -3133+15905 Australia/Lord_Howe Lord Howe Island
|
||||
|
|
@ -284,7 +284,7 @@ XX -2903+16758 Pacific/Norfolk Norfolk Island
|
|||
XX +5301+15839 Asia/Kamchatka Russia; Tuvalu; Fiji; etc.
|
||||
#
|
||||
# +12/+13 (New Zealand DST)
|
||||
XX -3652+17446 Pacific/Auckland New Zealand ("NZST/NZDT")
|
||||
XX -3652+17446 Pacific/Auckland New Zealand (NZST/NZDT)
|
||||
#
|
||||
# +12:45/+13:45 (Chatham DST)
|
||||
XX -4357-17633 Pacific/Chatham Chatham Islands
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue