Pull up the following, requested by kre in ticket #586: external/public-domain/tz/dist/Makefile up to 1.1.1.38 external/public-domain/tz/dist/NEWS up to 1.1.1.45 external/public-domain/tz/dist/TZDATA_VERSION up to 1.37 external/public-domain/tz/dist/africa up to 1.1.1.33 external/public-domain/tz/dist/asia up to 1.12 external/public-domain/tz/dist/australasia up to 1.9 external/public-domain/tz/dist/checknow.awk up to 1.1.1.2 external/public-domain/tz/dist/etcetera up to 1.1.1.8 external/public-domain/tz/dist/europe up to 1.1.1.39 external/public-domain/tz/dist/leap-seconds.list up to 1.7 external/public-domain/tz/dist/leapseconds up to 1.7 external/public-domain/tz/dist/leapseconds.awk up to 1.1.1.14 external/public-domain/tz/dist/northamerica up to 1.1.1.35 external/public-domain/tz/dist/southamerica up to 1.1.1.25 external/public-domain/tz/dist/theory.html up to 1.1.1.19 external/public-domain/tz/dist/version up to 1.12 external/public-domain/tz/dist/zishrink.awk up to 1.1.1.9 external/public-domain/tz/dist/zonenow.tab up to 1.1.1.2 Updated tzdata to 2024adiff -r1.1.1.35.2.2 -r1.1.1.35.2.3 src/external/public-domain/tz/dist/Makefile
(martin)
--- src/external/public-domain/tz/dist/Makefile 2023/12/29 20:41:11 1.1.1.35.2.2
+++ src/external/public-domain/tz/dist/Makefile 2024/02/06 12:22:41 1.1.1.35.2.3
@@ -43,27 +43,27 @@ BUGEMAIL= tz@iana.org | @@ -43,27 +43,27 @@ BUGEMAIL= tz@iana.org | |||
43 | # Rearguard users might also want "ZFLAGS = -b fat"; see below. | 43 | # Rearguard users might also want "ZFLAGS = -b fat"; see below. | |
44 | DATAFORM= main | 44 | DATAFORM= main | |
45 | 45 | |||
46 | # Change the line below for your timezone (after finding the one you want in | 46 | # Change the line below for your timezone (after finding the one you want in | |
47 | # one of the $(TDATA) source files, or adding it to a source file). | 47 | # one of the $(TDATA) source files, or adding it to a source file). | |
48 | # Alternatively, if you discover you've got the wrong timezone, you can just | 48 | # Alternatively, if you discover you've got the wrong timezone, you can just | |
49 | # 'zic -l -' to remove it, or 'zic -l rightzone' to change it. | 49 | # 'zic -l -' to remove it, or 'zic -l rightzone' to change it. | |
50 | # Use the command | 50 | # Use the command | |
51 | # make zonenames | 51 | # make zonenames | |
52 | # to get a list of the values you can use for LOCALTIME. | 52 | # to get a list of the values you can use for LOCALTIME. | |
53 | 53 | |||
54 | LOCALTIME= Factory | 54 | LOCALTIME= Factory | |
55 | 55 | |||
56 | # The POSIXRULES macro controls interpretation of POSIX-like TZ | 56 | # The POSIXRULES macro controls interpretation of POSIX-2017.1-like TZ | |
57 | # settings like TZ='EET-2EEST' that lack DST transition rules. | 57 | # settings like TZ='EET-2EEST' that lack DST transition rules. | |
58 | # If POSIXRULES is '-', no template is installed; this is the default. | 58 | # If POSIXRULES is '-', no template is installed; this is the default. | |
59 | # Any other value for POSIXRULES is obsolete and should not be relied on, as: | 59 | # Any other value for POSIXRULES is obsolete and should not be relied on, as: | |
60 | # * It does not work correctly in popular implementations such as GNU/Linux. | 60 | # * It does not work correctly in popular implementations such as GNU/Linux. | |
61 | # * It does not work even in tzcode, except for historical timestamps | 61 | # * It does not work even in tzcode, except for historical timestamps | |
62 | # that precede the last explicit transition in the POSIXRULES file. | 62 | # that precede the last explicit transition in the POSIXRULES file. | |
63 | # Hence it typically does not work for current and future timestamps. | 63 | # Hence it typically does not work for current and future timestamps. | |
64 | # If, despite the above, you want a template for handling these settings, | 64 | # If, despite the above, you want a template for handling these settings, | |
65 | # you can change the line below (after finding the timezone you want in the | 65 | # you can change the line below (after finding the timezone you want in the | |
66 | # one of the $(TDATA) source files, or adding it to a source file). | 66 | # one of the $(TDATA) source files, or adding it to a source file). | |
67 | # Alternatively, if you discover you've got the wrong timezone, you can just | 67 | # Alternatively, if you discover you've got the wrong timezone, you can just | |
68 | # 'zic -p -' to remove it, or 'zic -p rightzone' to change it. | 68 | # 'zic -p -' to remove it, or 'zic -p rightzone' to change it. | |
69 | # Use the command | 69 | # Use the command | |
@@ -264,27 +264,27 @@ LDLIBS= | @@ -264,27 +264,27 @@ LDLIBS= | |||
264 | # -DSUPPORT_C89 if the tzcode library should support C89 callers+ | 264 | # -DSUPPORT_C89 if the tzcode library should support C89 callers+ | |
265 | # However, this might trigger latent bugs in C99-or-later callers. | 265 | # However, this might trigger latent bugs in C99-or-later callers. | |
266 | # -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has | 266 | # -DSUPPRESS_TZDIR to not prepend TZDIR to file names; this has | |
267 | # security implications and is not recommended for general use | 267 | # security implications and is not recommended for general use | |
268 | # -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; | 268 | # -DTHREAD_SAFE to make localtime.c thread-safe, as POSIX requires; | |
269 | # not needed by the main-program tz code, which is single-threaded. | 269 | # not needed by the main-program tz code, which is single-threaded. | |
270 | # Append other compiler flags as needed, e.g., -pthread on GNU/Linux. | 270 | # Append other compiler flags as needed, e.g., -pthread on GNU/Linux. | |
271 | # -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t | 271 | # -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t | |
272 | # This is intended for internal use only; it mangles external names. | 272 | # This is intended for internal use only; it mangles external names. | |
273 | # -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" | 273 | # -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" | |
274 | # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; | 274 | # -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; | |
275 | # the default is system-supplied, typically "/usr/lib/locale" | 275 | # the default is system-supplied, typically "/usr/lib/locale" | |
276 | # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified | 276 | # -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified | |
277 | # DST transitions for POSIX-style TZ strings lacking them, | 277 | # DST transitions for POSIX.1-2017-style TZ strings lacking them, | |
278 | # in the usual case where POSIXRULES is '-'. If not specified, | 278 | # in the usual case where POSIXRULES is '-'. If not specified, | |
279 | # TZDEFRULESTRING defaults to US rules for future DST transitions. | 279 | # TZDEFRULESTRING defaults to US rules for future DST transitions. | |
280 | # This mishandles some past timestamps, as US DST rules have changed. | 280 | # This mishandles some past timestamps, as US DST rules have changed. | |
281 | # It also mishandles settings like TZ='EET-2EEST' for eastern Europe, | 281 | # It also mishandles settings like TZ='EET-2EEST' for eastern Europe, | |
282 | # as Europe and US DST rules differ. | 282 | # as Europe and US DST rules differ. | |
283 | # -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255) | 283 | # -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255) | |
284 | # -DUNINIT_TRAP if reading uninitialized storage can cause problems | 284 | # -DUNINIT_TRAP if reading uninitialized storage can cause problems | |
285 | # other than simply getting garbage data | 285 | # other than simply getting garbage data | |
286 | # -DUSE_LTZ=0 to build zdump with the system time zone library | 286 | # -DUSE_LTZ=0 to build zdump with the system time zone library | |
287 | # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. | 287 | # Also set TZDOBJS=zdump.o and CHECK_TIME_T_ALTERNATIVES= below. | |
288 | # -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and | 288 | # -DZIC_BLOAT_DEFAULT=\"fat\" to default zic's -b option to "fat", and | |
289 | # similarly for "slim". Fat TZif files work around incompatibilities | 289 | # similarly for "slim". Fat TZif files work around incompatibilities | |
290 | # and bugs in some TZif readers, notably older ones that | 290 | # and bugs in some TZif readers, notably older ones that | |
@@ -330,50 +330,51 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn | @@ -330,50 +330,51 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn | |||
330 | -Wtrampolines -Wundef -Wuninitialized -Wunused-macros -Wuse-after-free=3 \ | 330 | -Wtrampolines -Wundef -Wuninitialized -Wunused-macros -Wuse-after-free=3 \ | |
331 | -Wvariadic-macros -Wvla -Wwrite-strings \ | 331 | -Wvariadic-macros -Wvla -Wwrite-strings \ | |
332 | -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ | 332 | -Wno-address -Wno-format-nonliteral -Wno-sign-compare \ | |
333 | -Wno-type-limits | 333 | -Wno-type-limits | |
334 | # | 334 | # | |
335 | # If your system has a "GMT offset" field in its "struct tm"s | 335 | # If your system has a "GMT offset" field in its "struct tm"s | |
336 | # (or if you decide to add such a field in your system's "time.h" file), | 336 | # (or if you decide to add such a field in your system's "time.h" file), | |
337 | # add the name to a define such as | 337 | # add the name to a define such as | |
338 | # -DTM_GMTOFF=tm_gmtoff | 338 | # -DTM_GMTOFF=tm_gmtoff | |
339 | # to the end of the "CFLAGS=" line. If not defined, the code attempts to | 339 | # to the end of the "CFLAGS=" line. If not defined, the code attempts to | |
340 | # guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. | 340 | # guess TM_GMTOFF from other macros; define NO_TM_GMTOFF to suppress this. | |
341 | # Similarly, if your system has a "zone abbreviation" field, define | 341 | # Similarly, if your system has a "zone abbreviation" field, define | |
342 | # -DTM_ZONE=tm_zone | 342 | # -DTM_ZONE=tm_zone | |
343 | # and define NO_TM_ZONE to suppress any guessing. Although these two fields | 343 | # and define NO_TM_ZONE to suppress any guessing. | |
344 | # not required by POSIX, a future version of POSIX is planned to require them | 344 | # Although these two fields are not required by POSIX.1-2017, | |
345 | # and they are widely available on GNU/Linux and BSD systems. | 345 | # POSIX 202x/D4 requires them and they are widely available | |
346 | # on GNU/Linux and BSD systems. | |||
346 | # | 347 | # | |
347 | # The next batch of options control support for external variables | 348 | # The next batch of options control support for external variables | |
348 | # exported by tzcode. In practice these variables are less useful | 349 | # exported by tzcode. In practice these variables are less useful | |
349 | # than TM_GMTOFF and TM_ZONE. However, most of them are standardized. | 350 | # than TM_GMTOFF and TM_ZONE. However, most of them are standardized. | |
350 | # # | 351 | # # | |
351 | # # To omit or support the external variable "tzname", add one of: | 352 | # # To omit or support the external variable "tzname", add one of: | |
352 | # # -DHAVE_TZNAME=0 # do not support "tzname" | 353 | # # -DHAVE_TZNAME=0 # do not support "tzname" | |
353 | # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library | 354 | # # -DHAVE_TZNAME=1 # support "tzname", which is defined by system library | |
354 | # # -DHAVE_TZNAME=2 # support and define "tzname" | 355 | # # -DHAVE_TZNAME=2 # support and define "tzname" | |
355 | # # to the "CFLAGS=" line. "tzname" is required by POSIX 1988 and later. | 356 | # # to the "CFLAGS=" line. "tzname" is required by POSIX.1-1988 and later. | |
356 | # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. | 357 | # # If not defined, the code attempts to guess HAVE_TZNAME from other macros. | |
357 | # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause | 358 | # # Warning: unless time_tz is also defined, HAVE_TZNAME=1 can cause | |
358 | # # crashes when combined with some platforms' standard libraries, | 359 | # # crashes when combined with some platforms' standard libraries, | |
359 | # # presumably due to memory allocation issues. | 360 | # # presumably due to memory allocation issues. | |
360 | # # | 361 | # # | |
361 | # # To omit or support the external variables "timezone" and "daylight", add | 362 | # # To omit or support the external variables "timezone" and "daylight", add | |
362 | # # -DUSG_COMPAT=0 # do not support | 363 | # # -DUSG_COMPAT=0 # do not support | |
363 | # # -DUSG_COMPAT=1 # support, and variables are defined by system library | 364 | # # -DUSG_COMPAT=1 # support, and variables are defined by system library | |
364 | # # -DUSG_COMPAT=2 # support and define variables | 365 | # # -DUSG_COMPAT=2 # support and define variables | |
365 | # # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by | 366 | # # to the "CFLAGS=" line; "timezone" and "daylight" are inspired by Unix | |
366 | # # Unix Systems Group code and are required by POSIX 2008 (with XSI) and later. | 367 | # # Systems Group code and are required by POSIX.1-2008 and later (with XSI). | |
367 | # # If not defined, the code attempts to guess USG_COMPAT from other macros. | 368 | # # If not defined, the code attempts to guess USG_COMPAT from other macros. | |
368 | # # | 369 | # # | |
369 | # # To support the external variable "altzone", add | 370 | # # To support the external variable "altzone", add | |
370 | # # -DALTZONE=0 # do not support | 371 | # # -DALTZONE=0 # do not support | |
371 | # # -DALTZONE=1 # support "altzone", which is defined by system library | 372 | # # -DALTZONE=1 # support "altzone", which is defined by system library | |
372 | # # -DALTZONE=2 # support and define "altzone" | 373 | # # -DALTZONE=2 # support and define "altzone" | |
373 | # # to the end of the "CFLAGS=" line; although "altzone" appeared in | 374 | # # to the end of the "CFLAGS=" line; although "altzone" appeared in | |
374 | # # System V Release 3.1 it has not been standardized. | 375 | # # System V Release 3.1 it has not been standardized. | |
375 | # # If not defined, the code attempts to guess ALTZONE from other macros. | 376 | # # If not defined, the code attempts to guess ALTZONE from other macros. | |
376 | # | 377 | # | |
377 | # If you want functions that were inspired by early versions of X3J11's work, | 378 | # If you want functions that were inspired by early versions of X3J11's work, | |
378 | # add | 379 | # add | |
379 | # -DSTD_INSPIRED | 380 | # -DSTD_INSPIRED | |
@@ -417,38 +418,44 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn | @@ -417,38 +418,44 @@ GCC_DEBUG_FLAGS = -DGCC_LINT -g3 -O3 -fn | |||
417 | # to the end of the "CFLAGS=" line. This causes "strftime" to always return | 418 | # to the end of the "CFLAGS=" line. This causes "strftime" to always return | |
418 | # 53 as a week number (rather than 52 or 53) for January days before | 419 | # 53 as a week number (rather than 52 or 53) for January days before | |
419 | # January's first Monday when a "%V" format is used and January 1 | 420 | # January's first Monday when a "%V" format is used and January 1 | |
420 | # falls on a Friday, Saturday, or Sunday. | 421 | # falls on a Friday, Saturday, or Sunday. | |
421 | # | 422 | # | |
422 | # POSIX says CFLAGS defaults to "-O 1". | 423 | # POSIX says CFLAGS defaults to "-O 1". | |
423 | # Uncomment the following line and edit its contents as needed. | 424 | # Uncomment the following line and edit its contents as needed. | |
424 | 425 | |||
425 | #CFLAGS= -O 1 | 426 | #CFLAGS= -O 1 | |
426 | 427 | |||
427 | 428 | |||
428 | # The name of a POSIX-like library archiver, its flags, C compiler, | 429 | # The name of a POSIX-like library archiver, its flags, C compiler, | |
429 | # linker flags, and 'make' utility. Ordinarily the defaults suffice. | 430 | # linker flags, and 'make' utility. Ordinarily the defaults suffice. | |
430 | # The commented-out values are the defaults specified by POSIX 202x/D3. | 431 | # The commented-out values are the defaults specified by POSIX.1-202x/D4. | |
431 | #AR = ar | 432 | #AR = ar | |
432 | #ARFLAGS = -rv | 433 | #ARFLAGS = -rv | |
433 | #CC = c17 | 434 | #CC = c17 | |
434 | #LDFLAGS = | 435 | #LDFLAGS = | |
435 | #MAKE = make | 436 | #MAKE = make | |
436 | 437 | |||
437 | # For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in | 438 | # For leap seconds, this Makefile uses LEAPSECONDS='-L leapseconds' in | |
438 | # submake command lines. The default is no leap seconds. | 439 | # submake command lines. The default is no leap seconds. | |
439 | 440 | |||
440 | LEAPSECONDS= | 441 | LEAPSECONDS= | |
441 | 442 | |||
443 | # Where to fetch leap-seconds.list from. | |||
444 | leaplist_URI = \ | |||
445 | https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list | |||
446 | # The file is generated by the IERS Earth Orientation Centre, in Paris. | |||
447 | leaplist_TZ = Europe/Paris | |||
448 | ||||
442 | # The zic command and its arguments. | 449 | # The zic command and its arguments. | |
443 | 450 | |||
444 | zic= ./zic | 451 | zic= ./zic | |
445 | ZIC= $(zic) $(ZFLAGS) | 452 | ZIC= $(zic) $(ZFLAGS) | |
446 | 453 | |||
447 | # To shrink the size of installed TZif files, | 454 | # To shrink the size of installed TZif files, | |
448 | # append "-r @N" to omit data before N-seconds-after-the-Epoch. | 455 | # append "-r @N" to omit data before N-seconds-after-the-Epoch. | |
449 | # To grow the files and work around bugs in older applications, | 456 | # To grow the files and work around bugs in older applications, | |
450 | # possibly at the expense of introducing bugs in newer ones, | 457 | # possibly at the expense of introducing bugs in newer ones, | |
451 | # append "-b fat"; see ZIC_BLOAT_DEFAULT above. | 458 | # append "-b fat"; see ZIC_BLOAT_DEFAULT above. | |
452 | # See the zic man page for more about -b and -r. | 459 | # See the zic man page for more about -b and -r. | |
453 | ZFLAGS= | 460 | ZFLAGS= | |
454 | 461 | |||
@@ -461,27 +468,28 @@ ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDI | @@ -461,27 +468,28 @@ ZIC_INSTALL= $(ZIC) -d '$(DESTDIR)$(TZDI | |||
461 | # Also, it is better (though not essential) if 'awk' supports UTF-8, | 468 | # Also, it is better (though not essential) if 'awk' supports UTF-8, | |
462 | # and unfortunately mawk and busybox awk do not support UTF-8. | 469 | # and unfortunately mawk and busybox awk do not support UTF-8. | |
463 | # Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems. | 470 | # Try AWK=gawk or AWK=nawk if your awk has the abovementioned problems. | |
464 | AWK= awk | 471 | AWK= awk | |
465 | 472 | |||
466 | # The full path name of a POSIX-compliant shell, preferably one that supports | 473 | # The full path name of a POSIX-compliant shell, preferably one that supports | |
467 | # the Korn shell's 'select' statement as an extension. | 474 | # the Korn shell's 'select' statement as an extension. | |
468 | # These days, Bash is the most popular. | 475 | # These days, Bash is the most popular. | |
469 | # It should be OK to set this to /bin/sh, on platforms where /bin/sh | 476 | # It should be OK to set this to /bin/sh, on platforms where /bin/sh | |
470 | # lacks 'select' or doesn't completely conform to POSIX, but /bin/bash | 477 | # lacks 'select' or doesn't completely conform to POSIX, but /bin/bash | |
471 | # is typically nicer if it works. | 478 | # is typically nicer if it works. | |
472 | KSHELL= /bin/bash | 479 | KSHELL= /bin/bash | |
473 | 480 | |||
474 | # Name of curl <https://curl.haxx.se/>, used for HTML validation. | 481 | # Name of curl <https://curl.haxx.se/>, used for HTML validation | |
482 | # and to fetch leap-seconds.list from upstream. | |||
475 | CURL= curl | 483 | CURL= curl | |
476 | 484 | |||
477 | # Name of GNU Privacy Guard <https://gnupg.org/>, used to sign distributions. | 485 | # Name of GNU Privacy Guard <https://gnupg.org/>, used to sign distributions. | |
478 | GPG= gpg | 486 | GPG= gpg | |
479 | 487 | |||
480 | # This expensive test requires USE_LTZ. | 488 | # This expensive test requires USE_LTZ. | |
481 | # To suppress it, define this macro to be empty. | 489 | # To suppress it, define this macro to be empty. | |
482 | CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives | 490 | CHECK_TIME_T_ALTERNATIVES = check_time_t_alternatives | |
483 | 491 | |||
484 | # SAFE_CHAR is a regular expression that matches a safe character. | 492 | # SAFE_CHAR is a regular expression that matches a safe character. | |
485 | # Some parts of this distribution are limited to safe characters; | 493 | # Some parts of this distribution are limited to safe characters; | |
486 | # others can use any UTF-8 character. | 494 | # others can use any UTF-8 character. | |
487 | # For now, the safe characters are a safe subset of ASCII. | 495 | # For now, the safe characters are a safe subset of ASCII. | |
@@ -708,26 +716,48 @@ version.h: version | @@ -708,26 +716,48 @@ version.h: version | |||
708 | mv $@.out $@ | 716 | mv $@.out $@ | |
709 | 717 | |||
710 | zdump: $(TZDOBJS) | 718 | zdump: $(TZDOBJS) | |
711 | $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) | 719 | $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) | |
712 | 720 | |||
713 | zic: $(TZCOBJS) | 721 | zic: $(TZCOBJS) | |
714 | $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS) | 722 | $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS) | |
715 | 723 | |||
716 | leapseconds: $(LEAP_DEPS) | 724 | leapseconds: $(LEAP_DEPS) | |
717 | $(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \ | 725 | $(AWK) -v EXPIRES_LINE=$(EXPIRES_LINE) \ | |
718 | -f leapseconds.awk leap-seconds.list >$@.out | 726 | -f leapseconds.awk leap-seconds.list >$@.out | |
719 | mv $@.out $@ | 727 | mv $@.out $@ | |
720 | 728 | |||
729 | # Awk script to extract a Git-style author from leap-seconds.list comments. | |||
730 | EXTRACT_AUTHOR = \ | |||
731 | author_line { sub(/^.[[:space:]]*/, ""); \ | |||
732 | sub(/:[[:space:]]*/, " <"); \ | |||
733 | printf "%s>\n", $$0; \ | |||
734 | success = 1; \ | |||
735 | exit \ | |||
736 | } \ | |||
737 | /Questions or comments to:/ { author_line = 1 } \ | |||
738 | END { exit !success } | |||
739 | ||||
740 | # Fetch leap-seconds.list from upstream. | |||
741 | fetch-leap-seconds.list: | |||
742 | $(CURL) -OR $(leaplist_URI) | |||
743 | ||||
744 | # Fetch leap-seconds.list from upstream and commit it to the local repository. | |||
745 | commit-leap-seconds.list: fetch-leap-seconds.list | |||
746 | author=$$($(AWK) '$(EXTRACT_AUTHOR)' leap-seconds.list) && \ | |||
747 | date=$$(TZ=$(leaplist_TZ) stat -c%y leap-seconds.list) && \ | |||
748 | git commit --author="$$author" --date="$$date" -m'make $@' \ | |||
749 | leap-seconds.list | |||
750 | ||||
721 | # Arguments to pass to submakes of install_data. | 751 | # Arguments to pass to submakes of install_data. | |
722 | # They can be overridden by later submake arguments. | 752 | # They can be overridden by later submake arguments. | |
723 | INSTALLARGS = \ | 753 | INSTALLARGS = \ | |
724 | BACKWARD='$(BACKWARD)' \ | 754 | BACKWARD='$(BACKWARD)' \ | |
725 | DESTDIR='$(DESTDIR)' \ | 755 | DESTDIR='$(DESTDIR)' \ | |
726 | LEAPSECONDS='$(LEAPSECONDS)' \ | 756 | LEAPSECONDS='$(LEAPSECONDS)' \ | |
727 | PACKRATDATA='$(PACKRATDATA)' \ | 757 | PACKRATDATA='$(PACKRATDATA)' \ | |
728 | PACKRATLIST='$(PACKRATLIST)' \ | 758 | PACKRATLIST='$(PACKRATLIST)' \ | |
729 | TZDEFAULT='$(TZDEFAULT)' \ | 759 | TZDEFAULT='$(TZDEFAULT)' \ | |
730 | TZDIR='$(TZDIR)' \ | 760 | TZDIR='$(TZDIR)' \ | |
731 | ZIC='$(ZIC)' | 761 | ZIC='$(ZIC)' | |
732 | 762 | |||
733 | INSTALL_DATA_DEPS = zic leapseconds tzdata.zi | 763 | INSTALL_DATA_DEPS = zic leapseconds tzdata.zi | |
@@ -1304,26 +1334,27 @@ zonenames: tzdata.zi | @@ -1304,26 +1334,27 @@ zonenames: tzdata.zi | |||
1304 | @$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi | 1334 | @$(AWK) '/^Z/ { print $$2 } /^L/ { print $$3 }' tzdata.zi | |
1305 | 1335 | |||
1306 | asctime.o: private.h tzfile.h | 1336 | asctime.o: private.h tzfile.h | |
1307 | date.o: private.h | 1337 | date.o: private.h | |
1308 | difftime.o: private.h | 1338 | difftime.o: private.h | |
1309 | localtime.o: private.h tzfile.h tzdir.h | 1339 | localtime.o: private.h tzfile.h tzdir.h | |
1310 | strftime.o: private.h tzfile.h | 1340 | strftime.o: private.h tzfile.h | |
1311 | zdump.o: version.h | 1341 | zdump.o: version.h | |
1312 | zic.o: private.h tzfile.h tzdir.h version.h | 1342 | zic.o: private.h tzfile.h tzdir.h version.h | |
1313 | 1343 | |||
1314 | .PHONY: ALL INSTALL all | 1344 | .PHONY: ALL INSTALL all | |
1315 | .PHONY: check check_mild check_time_t_alternatives | 1345 | .PHONY: check check_mild check_time_t_alternatives | |
1316 | .PHONY: check_web check_zishrink | 1346 | .PHONY: check_web check_zishrink | |
1317 | .PHONY: clean clean_misc dummy.zd force_tzs | 1347 | .PHONY: clean clean_misc commit-leap-seconds.list dummy.zd | |
1348 | .PHONY: fetch-leap-seconds.list force_tzs | |||
1318 | .PHONY: install install_data maintainer-clean names | 1349 | .PHONY: install install_data maintainer-clean names | |
1319 | .PHONY: posix_only posix_right public | 1350 | .PHONY: posix_only posix_right public | |
1320 | .PHONY: rearguard_signatures rearguard_signatures_version | 1351 | .PHONY: rearguard_signatures rearguard_signatures_version | |
1321 | .PHONY: rearguard_tarballs rearguard_tarballs_version | 1352 | .PHONY: rearguard_tarballs rearguard_tarballs_version | |
1322 | .PHONY: right_only right_posix signatures signatures_version | 1353 | .PHONY: right_only right_posix signatures signatures_version | |
1323 | .PHONY: tarballs tarballs_version | 1354 | .PHONY: tarballs tarballs_version | |
1324 | .PHONY: traditional_signatures traditional_signatures_version | 1355 | .PHONY: traditional_signatures traditional_signatures_version | |
1325 | .PHONY: traditional_tarballs traditional_tarballs_version | 1356 | .PHONY: traditional_tarballs traditional_tarballs_version | |
1326 | .PHONY: tailored_tarballs tailored_tarballs_version | 1357 | .PHONY: tailored_tarballs tailored_tarballs_version | |
1327 | .PHONY: typecheck | 1358 | .PHONY: typecheck | |
1328 | .PHONY: zonenames zones | 1359 | .PHONY: zonenames zones | |
1329 | .PHONY: $(ZDS) | 1360 | .PHONY: $(ZDS) |
--- src/external/public-domain/tz/dist/NEWS 2023/12/29 20:41:11 1.1.1.40.2.2
+++ src/external/public-domain/tz/dist/NEWS 2024/02/06 12:22:41 1.1.1.40.2.3
@@ -1,15 +1,83 @@ | @@ -1,15 +1,83 @@ | |||
1 | News for the tz database | 1 | News for the tz database | |
2 | 2 | |||
3 | Release 2024a - 2024-02-01 09:28:56 -0800 | |||
4 | ||||
5 | Briefly: | |||
6 | Kazakhstan unifies on UTC+5 beginning 2024-03-01. | |||
7 | Palestine springs forward a week later after Ramadan. | |||
8 | zic no longer pretends to support indefinite-past DST. | |||
9 | localtime no longer mishandles Ciudad Juárez in 2422. | |||
10 | ||||
11 | Changes to future timestamps | |||
12 | ||||
13 | Kazakhstan unifies on UTC+5. This affects Asia/Almaty and | |||
14 | Asia/Qostanay which together represent the eastern portion of the | |||
15 | country that will transition from UTC+6 on 2024-03-01 at 00:00 to | |||
16 | join the western portion. (Thanks to Zhanbolat Raimbekov.) | |||
17 | ||||
18 | Palestine springs forward a week later than previously predicted | |||
19 | in 2024 and 2025. (Thanks to Heba Hamad.) Change spring-forward | |||
20 | predictions to the second Saturday after Ramadan, not the first; | |||
21 | this also affects other predictions starting in 2039. | |||
22 | ||||
23 | Changes to past timestamps | |||
24 | ||||
25 | Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00 | |||
26 | not 00:00. (Thanks to Äoà n Trần Công Danh.) | |||
27 | ||||
28 | From 1947 through 1949, Toronto's transitions occurred at 02:00 | |||
29 | not 00:00. (Thanks to Chris Walton.) | |||
30 | ||||
31 | In 1911 Miquelon adopted standard time on June 15, not May 15. | |||
32 | ||||
33 | Changes to code | |||
34 | ||||
35 | The FROM and TO columns of Rule lines can no longer be "minimum" | |||
36 | or an abbreviation of "minimum", because TZif files do not support | |||
37 | DST rules that extend into the indefinite past - although these | |||
38 | rules were supported when TZif files had only 32-bit data, this | |||
39 | stopped working when 64-bit TZif files were introduced in 1995. | |||
40 | This should not be a problem for realistic data, since DST was | |||
41 | first used in the 20th century. As a transition aid, FROM columns | |||
42 | like "minimum" are now diagnosed and then treated as if they were | |||
43 | the year 1900; this should suffice for TZif files on old systems | |||
44 | with only 32-bit time_t, and it is more compatible with bugs in | |||
45 | 2023c-and-earlier localtime.c. (Problem reported by Yoshito | |||
46 | Umaoka.) | |||
47 | ||||
48 | localtime and related functions no longer mishandle some | |||
49 | timestamps that occur about 400 years after a switch to a time | |||
50 | zone with a DST schedule. In 2023d data this problem was visible | |||
51 | for some timestamps in November 2422, November 2822, etc. in | |||
52 | America/Ciudad_Juarez. (Problem reported by Gilmore Davidson.) | |||
53 | ||||
54 | strftime %s now uses tm_gmtoff if available. (Problem and draft | |||
55 | patch reported by Dag-Erling Smørgrav.) | |||
56 | ||||
57 | Changes to build procedure | |||
58 | ||||
59 | The leap-seconds.list file is now copied from the IERS instead of | |||
60 | from its downstream counterpart at NIST, as the IERS version is | |||
61 | now in the public domain too and tends to be more up-to-date. | |||
62 | (Thanks to Martin Burnicki for liaisoning with the IERS.) | |||
63 | ||||
64 | Changes to documentation | |||
65 | ||||
66 | The strftime man page documents which struct tm members affect | |||
67 | which conversion specs, and that tzset is called. (Problems | |||
68 | reported by Robert Elz and Steve Summit.) | |||
69 | ||||
70 | ||||
3 | Release 2023d - 2023-12-21 20:02:24 -0800 | 71 | Release 2023d - 2023-12-21 20:02:24 -0800 | |
4 | 72 | |||
5 | Briefly: | 73 | Briefly: | |
6 | Ittoqqortoormiit, Greenland changes time zones on 2024-03-31. | 74 | Ittoqqortoormiit, Greenland changes time zones on 2024-03-31. | |
7 | Vostok, Antarctica changed time zones on 2023-12-18. | 75 | Vostok, Antarctica changed time zones on 2023-12-18. | |
8 | Casey, Antarctica changed time zones five times since 2020. | 76 | Casey, Antarctica changed time zones five times since 2020. | |
9 | Code and data fixes for Palestine timestamps starting in 2072. | 77 | Code and data fixes for Palestine timestamps starting in 2072. | |
10 | A new data file zonenow.tab for timestamps starting now. | 78 | A new data file zonenow.tab for timestamps starting now. | |
11 | 79 | |||
12 | Changes to future timestamps | 80 | Changes to future timestamps | |
13 | 81 | |||
14 | Ittoqqortoormiit, Greenland (America/Scoresbysund) joins most of | 82 | Ittoqqortoormiit, Greenland (America/Scoresbysund) joins most of | |
15 | the rest of Greenland's timekeeping practice on 2024-03-31, by | 83 | the rest of Greenland's timekeeping practice on 2024-03-31, by |
--- src/external/public-domain/tz/dist/TZDATA_VERSION 2023/12/29 20:41:11 1.32.2.2
+++ src/external/public-domain/tz/dist/TZDATA_VERSION 2024/02/06 12:22:41 1.32.2.3
--- src/external/public-domain/tz/dist/africa 2023/12/29 20:41:11 1.1.1.30.2.2
+++ src/external/public-domain/tz/dist/africa 2024/02/06 12:22:41 1.1.1.30.2.3
@@ -20,26 +20,30 @@ | @@ -20,26 +20,30 @@ | |||
20 | # Association's Standard Schedules Information Manual (IATA SSIM), | 20 | # Association's Standard Schedules Information Manual (IATA SSIM), | |
21 | # published semiannually. Law sent in several helpful summaries | 21 | # published semiannually. Law sent in several helpful summaries | |
22 | # of the IATA's data after 1990. Except where otherwise noted, | 22 | # of the IATA's data after 1990. Except where otherwise noted, | |
23 | # IATA SSIM is the source for entries after 1990. | 23 | # IATA SSIM is the source for entries after 1990. | |
24 | # | 24 | # | |
25 | # Another source occasionally used is Edward W. Whitman, World Time Differences, | 25 | # Another source occasionally used is Edward W. Whitman, World Time Differences, | |
26 | # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which | 26 | # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which | |
27 | # I found in the UCLA library. | 27 | # I found in the UCLA library. | |
28 | # | 28 | # | |
29 | # For data circa 1899, a common source is: | 29 | # For data circa 1899, a common source is: | |
30 | # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. | 30 | # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. | |
31 | # https://www.jstor.org/stable/1774359 | 31 | # https://www.jstor.org/stable/1774359 | |
32 | # | 32 | # | |
33 | # For the 1911/1912 establishment of standard time in French possessions, see: | |||
34 | # Société Française de Physique, Recueil de constantes physiques (1913), | |||
35 | # page 752, 18b. | |||
36 | # | |||
33 | # European-style abbreviations are commonly used along the Mediterranean. | 37 | # European-style abbreviations are commonly used along the Mediterranean. | |
34 | # For sub-Saharan Africa abbreviations were less standardized. | 38 | # For sub-Saharan Africa abbreviations were less standardized. | |
35 | # Previous editions of this database used WAT, CAT, SAT, and EAT | 39 | # Previous editions of this database used WAT, CAT, SAT, and EAT | |
36 | # for UT +00 through +03, respectively, | 40 | # for UT +00 through +03, respectively, | |
37 | # but in 1997 Mark R V Murray reported that | 41 | # but in 1997 Mark R V Murray reported that | |
38 | # 'SAST' is the official abbreviation for +02 in the country of South Africa, | 42 | # 'SAST' is the official abbreviation for +02 in the country of South Africa, | |
39 | # 'CAT' is commonly used for +02 in countries north of South Africa, and | 43 | # 'CAT' is commonly used for +02 in countries north of South Africa, and | |
40 | # 'WAT' is probably the best name for +01, as the common phrase for | 44 | # 'WAT' is probably the best name for +01, as the common phrase for | |
41 | # the area that includes Nigeria is "West Africa". | 45 | # the area that includes Nigeria is "West Africa". | |
42 | # | 46 | # | |
43 | # To summarize, the following abbreviations seemed to have some currency: | 47 | # To summarize, the following abbreviations seemed to have some currency: | |
44 | # +00 GMT Greenwich Mean Time | 48 | # +00 GMT Greenwich Mean Time | |
45 | # +02 CAT Central Africa Time | 49 | # +02 CAT Central Africa Time | |
@@ -143,27 +147,27 @@ Zone Africa/Douala 0:38:48 - LMT 1912 | @@ -143,27 +147,27 @@ Zone Africa/Douala 0:38:48 - LMT 1912 | |||
143 | Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia | 147 | Zone Atlantic/Cape_Verde -1:34:04 - LMT 1912 Jan 01 2:00u # Praia | |
144 | -2:00 - -02 1942 Sep | 148 | -2:00 - -02 1942 Sep | |
145 | -2:00 1:00 -01 1945 Oct 15 | 149 | -2:00 1:00 -01 1945 Oct 15 | |
146 | -2:00 - -02 1975 Nov 25 2:00 | 150 | -2:00 - -02 1975 Nov 25 2:00 | |
147 | -1:00 - -01 | 151 | -1:00 - -01 | |
148 | 152 | |||
149 | # Central African Republic | 153 | # Central African Republic | |
150 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 154 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
151 | Zone Africa/Bangui 1:14:20 - LMT 1912 | 155 | Zone Africa/Bangui 1:14:20 - LMT 1912 | |
152 | 1:00 - WAT | 156 | 1:00 - WAT | |
153 | 157 | |||
154 | # Chad | 158 | # Chad | |
155 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 159 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
156 | Zone Africa/Ndjamena 1:00:12 - LMT 1912 # N'Djamena | 160 | Zone Africa/Ndjamena 1:00:12 - LMT 1912 Jan 1 # N'Djamena | |
157 | 1:00 - WAT 1979 Oct 14 | 161 | 1:00 - WAT 1979 Oct 14 | |
158 | 1:00 1:00 WAST 1980 Mar 8 | 162 | 1:00 1:00 WAST 1980 Mar 8 | |
159 | 1:00 - WAT | 163 | 1:00 - WAT | |
160 | 164 | |||
161 | # Comoros | 165 | # Comoros | |
162 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 166 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
163 | Zone Indian/Comoro 2:53:04 - LMT 1911 Jul # Moroni, Gran Comoro | 167 | Zone Indian/Comoro 2:53:04 - LMT 1911 Jul # Moroni, Gran Comoro | |
164 | 3:00 - EAT | 168 | 3:00 - EAT | |
165 | 169 | |||
166 | # Democratic Republic of the Congo | 170 | # Democratic Republic of the Congo | |
167 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 171 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
168 | Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9 | 172 | Zone Africa/Kinshasa 1:01:12 - LMT 1897 Nov 9 | |
169 | 1:00 - WAT | 173 | 1:00 - WAT | |
@@ -178,27 +182,27 @@ Zone Africa/Lubumbashi 1:49:52 - LMT 189 | @@ -178,27 +182,27 @@ Zone Africa/Lubumbashi 1:49:52 - LMT 189 | |||
178 | Zone Africa/Brazzaville 1:01:08 - LMT 1912 | 182 | Zone Africa/Brazzaville 1:01:08 - LMT 1912 | |
179 | 1:00 - WAT | 183 | 1:00 - WAT | |
180 | 184 | |||
181 | # Côte d'Ivoire (Ivory Coast) | 185 | # Côte d'Ivoire (Ivory Coast) | |
182 | 186 | |||
183 | # The other parts of the St Helena territory are similar: | 187 | # The other parts of the St Helena territory are similar: | |
184 | # Tristan da Cunha: on GMT, say Whitman and the CIA | 188 | # Tristan da Cunha: on GMT, say Whitman and the CIA | |
185 | # Ascension: on GMT, say the USNO (1995-12-21) and the CIA | 189 | # Ascension: on GMT, say the USNO (1995-12-21) and the CIA | |
186 | # Gough (scientific station since 1955; sealers wintered previously): | 190 | # Gough (scientific station since 1955; sealers wintered previously): | |
187 | # on GMT, says the CIA | 191 | # on GMT, says the CIA | |
188 | # Inaccessible, Nightingale: uninhabited | 192 | # Inaccessible, Nightingale: uninhabited | |
189 | 193 | |||
190 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 194 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
191 | Zone Africa/Abidjan -0:16:08 - LMT 1912 | 195 | Zone Africa/Abidjan -0:16:08 - LMT 1912 Jan 1 | |
192 | 0:00 - GMT | 196 | 0:00 - GMT | |
193 | 197 | |||
194 | # Djibouti | 198 | # Djibouti | |
195 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 199 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
196 | Zone Africa/Djibouti 2:52:36 - LMT 1911 Jul | 200 | Zone Africa/Djibouti 2:52:36 - LMT 1911 Jul | |
197 | 3:00 - EAT | 201 | 3:00 - EAT | |
198 | 202 | |||
199 | 203 | |||
200 | ############################################################################### | 204 | ############################################################################### | |
201 | 205 | |||
202 | # Egypt | 206 | # Egypt | |
203 | 207 | |||
204 | # Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh | 208 | # Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh |
--- src/external/public-domain/tz/dist/asia 2023/12/29 20:41:12 1.7.2.2
+++ src/external/public-domain/tz/dist/asia 2024/02/06 12:22:42 1.7.2.3
@@ -2468,98 +2468,112 @@ Zone Asia/Amman 2:23:44 - LMT 1931 | @@ -2468,98 +2468,112 @@ Zone Asia/Amman 2:23:44 - LMT 1931 | |||
2468 | # 1920-01-01 to the fourth time belt. But I do not understand | 2468 | # 1920-01-01 to the fourth time belt. But I do not understand | |
2469 | # how that could happen.... | 2469 | # how that could happen.... | |
2470 | # | 2470 | # | |
2471 | # [For Atyrau and Oral] 1919 decree | 2471 | # [For Atyrau and Oral] 1919 decree | |
2472 | # (http://www.worldtimezone.com/dst_news/dst_news_russia-1919-02-08.html | 2472 | # (http://www.worldtimezone.com/dst_news/dst_news_russia-1919-02-08.html | |
2473 | # and in Byalokoz) lists Ural river (plus 10 versts on its left bank) in | 2473 | # and in Byalokoz) lists Ural river (plus 10 versts on its left bank) in | |
2474 | # the third time belt (before 1930 this means +03). | 2474 | # the third time belt (before 1930 this means +03). | |
2475 | 2475 | |||
2476 | # From Alexander Konzurovski (2018-12-20): | 2476 | # From Alexander Konzurovski (2018-12-20): | |
2477 | # (Asia/Qyzylorda) is changing its time zone from UTC+6 to UTC+5 | 2477 | # (Asia/Qyzylorda) is changing its time zone from UTC+6 to UTC+5 | |
2478 | # effective December 21st, 2018.... | 2478 | # effective December 21st, 2018.... | |
2479 | # http://adilet.zan.kz/rus/docs/P1800000817 (russian language). | 2479 | # http://adilet.zan.kz/rus/docs/P1800000817 (russian language). | |
2480 | 2480 | |||
2481 | # From Zhanbolat Raimbekov (2024-01-19): | |||
2482 | # Kazakhstan (all parts) switching to UTC+5 on March 1, 2024 | |||
2483 | # https://www.gov.kz/memleket/entities/mti/press/news/details/688998?lang=ru | |||
2484 | # [in Russian] | |||
2485 | # (2024-01-20): https://primeminister.kz/ru/decisions/19012024-20 | |||
2486 | # | |||
2487 | # From Alexander Krivenyshev (2024-01-19): | |||
2488 | # According to a different news and the official web site for the Ministry of | |||
2489 | # Trade and Integration of the Republic of Kazakhstan: | |||
2490 | # https://en.inform.kz/news/kazakhstan-to-switch-to-single-hour-zone-mar-1-54ad0b/ | |||
2491 | ||||
2481 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 2492 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
2482 | # | 2493 | # | |
2483 | # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan | 2494 | # Almaty (formerly Alma-Ata), representing most locations in Kazakhstan | |
2484 | # This includes KZ-AKM, KZ-ALA, KZ-ALM, KZ-AST, KZ-BAY, KZ-VOS, KZ-ZHA, | 2495 | # This includes Abai/Abay (ISO 3166-2 code KZ-10), Aqmola/Akmola (KZ-11), | |
2485 | # KZ-KAR, KZ-SEV, KZ-PAV, and KZ-YUZ. | 2496 | # Almaty (KZ-19), Almaty city (KZ-75), Astana city (KZ-71), | |
2497 | # East Kazkhstan (KZ-63), Jambyl/Zhambyl (KZ-31), Jetisu/Zhetysu (KZ-33), | |||
2498 | # Karaganda (KZ-35), North Kazakhstan (KZ-59), Pavlodar (KZ-55), | |||
2499 | # Shyumkent city (KZ-79), Turkistan (KZ-61), and Ulytau (KZ-62). | |||
2486 | Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata | 2500 | Zone Asia/Almaty 5:07:48 - LMT 1924 May 2 # or Alma-Ata | |
2487 | 5:00 - +05 1930 Jun 21 | 2501 | 5:00 - +05 1930 Jun 21 | |
2488 | 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s | 2502 | 6:00 RussiaAsia +06/+07 1991 Mar 31 2:00s | |
2489 | 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s | 2503 | 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s | |
2490 | 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s | 2504 | 6:00 RussiaAsia +06/+07 2004 Oct 31 2:00s | |
2491 | 6:00 - +06 | 2505 | 6:00 - +06 2024 Mar 1 0:00 | |
2492 | # Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-KZY) | 2506 | 5:00 - +05 | |
2507 | # Qyzylorda (aka Kyzylorda, Kizilorda, Kzyl-Orda, etc.) (KZ-43) | |||
2493 | Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 | 2508 | Zone Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 | |
2494 | 4:00 - +04 1930 Jun 21 | 2509 | 4:00 - +04 1930 Jun 21 | |
2495 | 5:00 - +05 1981 Apr 1 | 2510 | 5:00 - +05 1981 Apr 1 | |
2496 | 5:00 1:00 +06 1981 Oct 1 | 2511 | 5:00 1:00 +06 1981 Oct 1 | |
2497 | 6:00 - +06 1982 Apr 1 | 2512 | 6:00 - +06 1982 Apr 1 | |
2498 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | 2513 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | |
2499 | 4:00 RussiaAsia +04/+05 1991 Sep 29 2:00s | 2514 | 4:00 RussiaAsia +04/+05 1991 Sep 29 2:00s | |
2500 | 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s | 2515 | 5:00 RussiaAsia +05/+06 1992 Jan 19 2:00s | |
2501 | 6:00 RussiaAsia +06/+07 1992 Mar 29 2:00s | 2516 | 6:00 RussiaAsia +06/+07 1992 Mar 29 2:00s | |
2502 | 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s | 2517 | 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s | |
2503 | 6:00 - +06 2018 Dec 21 0:00 | 2518 | 6:00 - +06 2018 Dec 21 0:00 | |
2504 | 5:00 - +05 | 2519 | 5:00 - +05 | |
2505 | # | 2520 | # Qostanay (aka Kostanay, Kustanay) (KZ-39) | |
2506 | # Qostanay (aka Kostanay, Kustanay) (KZ-KUS) | |||
2507 | # The 1991/2 rules are unclear partly because of the 1997 Turgai | 2521 | # The 1991/2 rules are unclear partly because of the 1997 Turgai | |
2508 | # reorganization. | 2522 | # reorganization. | |
2509 | Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 | 2523 | Zone Asia/Qostanay 4:14:28 - LMT 1924 May 2 | |
2510 | 4:00 - +04 1930 Jun 21 | 2524 | 4:00 - +04 1930 Jun 21 | |
2511 | 5:00 - +05 1981 Apr 1 | 2525 | 5:00 - +05 1981 Apr 1 | |
2512 | 5:00 1:00 +06 1981 Oct 1 | 2526 | 5:00 1:00 +06 1981 Oct 1 | |
2513 | 6:00 - +06 1982 Apr 1 | 2527 | 6:00 - +06 1982 Apr 1 | |
2514 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | 2528 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | |
2515 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | 2529 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | |
2516 | 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s | 2530 | 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s | |
2517 | 6:00 - +06 | 2531 | 6:00 - +06 2024 Mar 1 0:00 | |
2518 | 2532 | 5:00 - +05 | ||
2519 | # Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-AKT) | 2533 | # Aqtöbe (aka Aktobe, formerly Aktyubinsk) (KZ-15) | |
2520 | Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 | 2534 | Zone Asia/Aqtobe 3:48:40 - LMT 1924 May 2 | |
2521 | 4:00 - +04 1930 Jun 21 | 2535 | 4:00 - +04 1930 Jun 21 | |
2522 | 5:00 - +05 1981 Apr 1 | 2536 | 5:00 - +05 1981 Apr 1 | |
2523 | 5:00 1:00 +06 1981 Oct 1 | 2537 | 5:00 1:00 +06 1981 Oct 1 | |
2524 | 6:00 - +06 1982 Apr 1 | 2538 | 6:00 - +06 1982 Apr 1 | |
2525 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | 2539 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | |
2526 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | 2540 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | |
2527 | 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s | 2541 | 5:00 RussiaAsia +05/+06 2004 Oct 31 2:00s | |
2528 | 5:00 - +05 | 2542 | 5:00 - +05 | |
2529 | # Mangghystaū (KZ-MAN) | 2543 | # Mangghystaū (KZ-47) | |
2530 | # Aqtau was not founded until 1963, but it represents an inhabited region, | 2544 | # Aqtau was not founded until 1963, but it represents an inhabited region, | |
2531 | # so include timestamps before 1963. | 2545 | # so include timestamps before 1963. | |
2532 | Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 | 2546 | Zone Asia/Aqtau 3:21:04 - LMT 1924 May 2 | |
2533 | 4:00 - +04 1930 Jun 21 | 2547 | 4:00 - +04 1930 Jun 21 | |
2534 | 5:00 - +05 1981 Oct 1 | 2548 | 5:00 - +05 1981 Oct 1 | |
2535 | 6:00 - +06 1982 Apr 1 | 2549 | 6:00 - +06 1982 Apr 1 | |
2536 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | 2550 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | |
2537 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | 2551 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | |
2538 | 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s | 2552 | 5:00 RussiaAsia +05/+06 1994 Sep 25 2:00s | |
2539 | 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s | 2553 | 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s | |
2540 | 5:00 - +05 | 2554 | 5:00 - +05 | |
2541 | # Atyraū (KZ-ATY) is like Mangghystaū except it switched from | 2555 | # Atyraū (KZ-23) is like Mangghystaū except it switched from | |
2542 | # +04/+05 to +05/+06 in spring 1999, not fall 1994. | 2556 | # +04/+05 to +05/+06 in spring 1999, not fall 1994. | |
2543 | Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 | 2557 | Zone Asia/Atyrau 3:27:44 - LMT 1924 May 2 | |
2544 | 3:00 - +03 1930 Jun 21 | 2558 | 3:00 - +03 1930 Jun 21 | |
2545 | 5:00 - +05 1981 Oct 1 | 2559 | 5:00 - +05 1981 Oct 1 | |
2546 | 6:00 - +06 1982 Apr 1 | 2560 | 6:00 - +06 1982 Apr 1 | |
2547 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | 2561 | 5:00 RussiaAsia +05/+06 1991 Mar 31 2:00s | |
2548 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | 2562 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | |
2549 | 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s | 2563 | 5:00 RussiaAsia +05/+06 1999 Mar 28 2:00s | |
2550 | 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s | 2564 | 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s | |
2551 | 5:00 - +05 | 2565 | 5:00 - +05 | |
2552 | # West Kazakhstan (KZ-ZAP) | 2566 | # West Kazakhstan (KZ-27) | |
2553 | # From Paul Eggert (2016-03-18): | 2567 | # From Paul Eggert (2016-03-18): | |
2554 | # The 1989 transition is from USSR act No. 227 (1989-03-14). | 2568 | # The 1989 transition is from USSR act No. 227 (1989-03-14). | |
2555 | Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk | 2569 | Zone Asia/Oral 3:25:24 - LMT 1924 May 2 # or Ural'sk | |
2556 | 3:00 - +03 1930 Jun 21 | 2570 | 3:00 - +03 1930 Jun 21 | |
2557 | 5:00 - +05 1981 Apr 1 | 2571 | 5:00 - +05 1981 Apr 1 | |
2558 | 5:00 1:00 +06 1981 Oct 1 | 2572 | 5:00 1:00 +06 1981 Oct 1 | |
2559 | 6:00 - +06 1982 Apr 1 | 2573 | 6:00 - +06 1982 Apr 1 | |
2560 | 5:00 RussiaAsia +05/+06 1989 Mar 26 2:00s | 2574 | 5:00 RussiaAsia +05/+06 1989 Mar 26 2:00s | |
2561 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | 2575 | 4:00 RussiaAsia +04/+05 1992 Jan 19 2:00s | |
2562 | 5:00 RussiaAsia +05/+06 1992 Mar 29 2:00s | 2576 | 5:00 RussiaAsia +05/+06 1992 Mar 29 2:00s | |
2563 | 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s | 2577 | 4:00 RussiaAsia +04/+05 2004 Oct 31 2:00s | |
2564 | 5:00 - +05 | 2578 | 5:00 - +05 | |
2565 | 2579 | |||
@@ -3470,47 +3484,55 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 | @@ -3470,47 +3484,55 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 | |||
3470 | # and winter time for the years: 2023,2024,2025,2026 ... | 3484 | # and winter time for the years: 2023,2024,2025,2026 ... | |
3471 | # https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf | 3485 | # https://mm.icann.org/pipermail/tz/attachments/20220830/9f024566/Time-0001.pdf | |
3472 | # (2022-08-31): ... the Saturday before the last Sunday in March and October | 3486 | # (2022-08-31): ... the Saturday before the last Sunday in March and October | |
3473 | # at 2:00 AM ,for the years from 2023 to 2026. | 3487 | # at 2:00 AM ,for the years from 2023 to 2026. | |
3474 | # (2022-09-05): https://mtit.pna.ps/Site/New/1453 | 3488 | # (2022-09-05): https://mtit.pna.ps/Site/New/1453 | |
3475 | 3489 | |||
3476 | # From Heba Hamad (2023-03-22): | 3490 | # From Heba Hamad (2023-03-22): | |
3477 | # ... summer time will begin in Palestine from Saturday 04-29-2023, | 3491 | # ... summer time will begin in Palestine from Saturday 04-29-2023, | |
3478 | # 02:00 AM by 60 minutes forward. | 3492 | # 02:00 AM by 60 minutes forward. | |
3479 | # From Heba Hemad (2023-10-09): | 3493 | # From Heba Hemad (2023-10-09): | |
3480 | # ... winter time will begin in Palestine from Saturday 10-28-2023, | 3494 | # ... winter time will begin in Palestine from Saturday 10-28-2023, | |
3481 | # 02:00 AM by 60 minutes back. | 3495 | # 02:00 AM by 60 minutes back. | |
3482 | # | 3496 | # | |
3483 | # From Paul Eggert (2023-03-22): | 3497 | # From Heba Hamad (2024-01-25): | |
3498 | # the summer time for the years 2024,2025 will begin in Palestine | |||
3499 | # from Saturday at 02:00 AM by 60 minutes forward as shown below: | |||
3500 | # year date | |||
3501 | # 2024 2024-04-20 | |||
3502 | # 2025 2025-04-12 | |||
3503 | # | |||
3504 | # From Paul Eggert (2024-01-25): | |||
3484 | # For now, guess that spring and fall transitions will normally | 3505 | # For now, guess that spring and fall transitions will normally | |
3485 | # continue to use 2022's rules, that during DST Palestine will switch | 3506 | # continue to use 2022's rules, that during DST Palestine will switch | |
3486 | # to standard time at 02:00 the last Saturday before Ramadan and back | 3507 | # to standard time at 02:00 the last Saturday before Ramadan and back | |
3487 | # to DST at 02:00 the first Saturday after Ramadan, and that | 3508 | # to DST at 02:00 the second Saturday after Ramadan, and that | |
3488 | # if the normal spring-forward or fall-back transition occurs during | 3509 | # if the normal spring-forward or fall-back transition occurs during | |
3489 | # Ramadan the former is delayed and the latter advanced. | 3510 | # Ramadan the former is delayed and the latter advanced. | |
3490 | # To implement this, I predicted Ramadan-oriented transition dates for | 3511 | # To implement this, I predicted Ramadan-oriented transition dates for | |
3491 | # 2023 through 2086 by running the following program under GNU Emacs 28.2, | 3512 | # 2026 through 2086 by running the following program under GNU Emacs 29.2, | |
3492 | # with the results integrated by hand into the table below. | 3513 | # with the results integrated by hand into the table below. | |
3493 | # Predictions after 2086 are approximated without Ramadan. | 3514 | # Predictions after 2086 are approximated without Ramadan. | |
3494 | # | 3515 | # | |
3495 | # (let ((islamic-year 1444)) | 3516 | # (let ((islamic-year 1447)) | |
3496 | # (require 'cal-islam) | 3517 | # (require 'cal-islam) | |
3497 | # (while (< islamic-year 1510) | 3518 | # (while (< islamic-year 1510) | |
3498 | # (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year))) | 3519 | # (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year))) | |
3499 | # (b (+ 1 (calendar-islamic-to-absolute (list 10 1 islamic-year)))) | 3520 | # (b (+ 1 (calendar-islamic-to-absolute (list 10 1 islamic-year)))) | |
3500 | # (saturday 6)) | 3521 | # (saturday 6)) | |
3501 | # (while (/= saturday (mod (setq a (1- a)) 7))) | 3522 | # (while (/= saturday (mod (setq a (1- a)) 7))) | |
3502 | # (while (/= saturday (mod b 7)) | 3523 | # (while (/= saturday (mod b 7)) | |
3503 | # (setq b (1+ b))) | 3524 | # (setq b (1+ b))) | |
3525 | # (setq b (+ 7 b)) | |||
3504 | # (setq a (calendar-gregorian-from-absolute a)) | 3526 | # (setq a (calendar-gregorian-from-absolute a)) | |
3505 | # (setq b (calendar-gregorian-from-absolute b)) | 3527 | # (setq b (calendar-gregorian-from-absolute b)) | |
3506 | # (insert | 3528 | # (insert | |
3507 | # (format | 3529 | # (format | |
3508 | # (concat "Rule Palestine\t%d\tonly\t-\t%s\t%2d\t2:00\t0\t-\n" | 3530 | # (concat "Rule Palestine\t%d\tonly\t-\t%s\t%2d\t2:00\t0\t-\n" | |
3509 | # "Rule Palestine\t%d\tonly\t-\t%s\t%2d\t2:00\t1:00\tS\n") | 3531 | # "Rule Palestine\t%d\tonly\t-\t%s\t%2d\t2:00\t1:00\tS\n") | |
3510 | # (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a)) | 3532 | # (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a)) | |
3511 | # (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b))))) | 3533 | # (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b))))) | |
3512 | # (setq islamic-year (+ 1 islamic-year)))) | 3534 | # (setq islamic-year (+ 1 islamic-year)))) | |
3513 | 3535 | |||
3514 | # Rule NAME FROM TO - IN ON AT SAVE LETTER/S | 3536 | # Rule NAME FROM TO - IN ON AT SAVE LETTER/S | |
3515 | Rule EgyptAsia 1957 only - May 10 0:00 1:00 S | 3537 | Rule EgyptAsia 1957 only - May 10 0:00 1:00 S | |
3516 | Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 - | 3538 | Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 - | |
@@ -3541,104 +3563,104 @@ Rule Palestine 2013 only - Sep 27 0:00 0 | @@ -3541,104 +3563,104 @@ Rule Palestine 2013 only - Sep 27 0:00 0 | |||
3541 | Rule Palestine 2014 only - Oct 24 0:00 0 - | 3563 | Rule Palestine 2014 only - Oct 24 0:00 0 - | |
3542 | Rule Palestine 2015 only - Mar 28 0:00 1:00 S | 3564 | Rule Palestine 2015 only - Mar 28 0:00 1:00 S | |
3543 | Rule Palestine 2015 only - Oct 23 1:00 0 - | 3565 | Rule Palestine 2015 only - Oct 23 1:00 0 - | |
3544 | Rule Palestine 2016 2018 - Mar Sat<=30 1:00 1:00 S | 3566 | Rule Palestine 2016 2018 - Mar Sat<=30 1:00 1:00 S | |
3545 | Rule Palestine 2016 2018 - Oct Sat<=30 1:00 0 - | 3567 | Rule Palestine 2016 2018 - Oct Sat<=30 1:00 0 - | |
3546 | Rule Palestine 2019 only - Mar 29 0:00 1:00 S | 3568 | Rule Palestine 2019 only - Mar 29 0:00 1:00 S | |
3547 | Rule Palestine 2019 only - Oct Sat<=30 0:00 0 - | 3569 | Rule Palestine 2019 only - Oct Sat<=30 0:00 0 - | |
3548 | Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S | 3570 | Rule Palestine 2020 2021 - Mar Sat<=30 0:00 1:00 S | |
3549 | Rule Palestine 2020 only - Oct 24 1:00 0 - | 3571 | Rule Palestine 2020 only - Oct 24 1:00 0 - | |
3550 | Rule Palestine 2021 only - Oct 29 1:00 0 - | 3572 | Rule Palestine 2021 only - Oct 29 1:00 0 - | |
3551 | Rule Palestine 2022 only - Mar 27 0:00 1:00 S | 3573 | Rule Palestine 2022 only - Mar 27 0:00 1:00 S | |
3552 | Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 - | 3574 | Rule Palestine 2022 2035 - Oct Sat<=30 2:00 0 - | |
3553 | Rule Palestine 2023 only - Apr 29 2:00 1:00 S | 3575 | Rule Palestine 2023 only - Apr 29 2:00 1:00 S | |
3554 | Rule Palestine 2024 only - Apr 13 2:00 1:00 S | 3576 | Rule Palestine 2024 only - Apr 20 2:00 1:00 S | |
3555 | Rule Palestine 2025 only - Apr 5 2:00 1:00 S | 3577 | Rule Palestine 2025 only - Apr 12 2:00 1:00 S | |
3556 | Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S | 3578 | Rule Palestine 2026 2054 - Mar Sat<=30 2:00 1:00 S | |
3557 | Rule Palestine 2036 only - Oct 18 2:00 0 - | 3579 | Rule Palestine 2036 only - Oct 18 2:00 0 - | |
3558 | Rule Palestine 2037 only - Oct 10 2:00 0 - | 3580 | Rule Palestine 2037 only - Oct 10 2:00 0 - | |
3559 | Rule Palestine 2038 only - Sep 25 2:00 0 - | 3581 | Rule Palestine 2038 only - Sep 25 2:00 0 - | |
3560 | Rule Palestine 2039 only - Sep 17 2:00 0 - | 3582 | Rule Palestine 2039 only - Sep 17 2:00 0 - | |
3561 | Rule Palestine 2039 only - Oct 22 2:00 1:00 S | |||
3562 | Rule Palestine 2039 2067 - Oct Sat<=30 2:00 0 - | |||
3563 | Rule Palestine 2040 only - Sep 1 2:00 0 - | 3583 | Rule Palestine 2040 only - Sep 1 2:00 0 - | |
3564 | Rule Palestine 2040 only - Oct 13 2:00 1:00 S | 3584 | Rule Palestine 2040 only - Oct 20 2:00 1:00 S | |
3585 | Rule Palestine 2040 2067 - Oct Sat<=30 2:00 0 - | |||
3565 | Rule Palestine 2041 only - Aug 24 2:00 0 - | 3586 | Rule Palestine 2041 only - Aug 24 2:00 0 - | |
3566 | Rule Palestine 2041 only - Sep 28 2:00 1:00 S | 3587 | Rule Palestine 2041 only - Oct 5 2:00 1:00 S | |
3567 | Rule Palestine 2042 only - Aug 16 2:00 0 - | 3588 | Rule Palestine 2042 only - Aug 16 2:00 0 - | |
3568 | Rule Palestine 2042 only - Sep 20 2:00 1:00 S | 3589 | Rule Palestine 2042 only - Sep 27 2:00 1:00 S | |
3569 | Rule Palestine 2043 only - Aug 1 2:00 0 - | 3590 | Rule Palestine 2043 only - Aug 1 2:00 0 - | |
3570 | Rule Palestine 2043 only - Sep 12 2:00 1:00 S | 3591 | Rule Palestine 2043 only - Sep 19 2:00 1:00 S | |
3571 | Rule Palestine 2044 only - Jul 23 2:00 0 - | 3592 | Rule Palestine 2044 only - Jul 23 2:00 0 - | |
3572 | Rule Palestine 2044 only - Aug 27 2:00 1:00 S | 3593 | Rule Palestine 2044 only - Sep 3 2:00 1:00 S | |
3573 | Rule Palestine 2045 only - Jul 15 2:00 0 - | 3594 | Rule Palestine 2045 only - Jul 15 2:00 0 - | |
3574 | Rule Palestine 2045 only - Aug 19 2:00 1:00 S | 3595 | Rule Palestine 2045 only - Aug 26 2:00 1:00 S | |
3575 | Rule Palestine 2046 only - Jun 30 2:00 0 - | 3596 | Rule Palestine 2046 only - Jun 30 2:00 0 - | |
3576 | Rule Palestine 2046 only - Aug 11 2:00 1:00 S | 3597 | Rule Palestine 2046 only - Aug 18 2:00 1:00 S | |
3577 | Rule Palestine 2047 only - Jun 22 2:00 0 - | 3598 | Rule Palestine 2047 only - Jun 22 2:00 0 - | |
3578 | Rule Palestine 2047 only - Jul 27 2:00 1:00 S | 3599 | Rule Palestine 2047 only - Aug 3 2:00 1:00 S | |
3579 | Rule Palestine 2048 only - Jun 6 2:00 0 - | 3600 | Rule Palestine 2048 only - Jun 6 2:00 0 - | |
3580 | Rule Palestine 2048 only - Jul 18 2:00 1:00 S | 3601 | Rule Palestine 2048 only - Jul 25 2:00 1:00 S | |
3581 | Rule Palestine 2049 only - May 29 2:00 0 - | 3602 | Rule Palestine 2049 only - May 29 2:00 0 - | |
3582 | Rule Palestine 2049 only - Jul 3 2:00 1:00 S | 3603 | Rule Palestine 2049 only - Jul 10 2:00 1:00 S | |
3583 | Rule Palestine 2050 only - May 21 2:00 0 - | 3604 | Rule Palestine 2050 only - May 21 2:00 0 - | |
3584 | Rule Palestine 2050 only - Jun 25 2:00 1:00 S | 3605 | Rule Palestine 2050 only - Jul 2 2:00 1:00 S | |
3585 | Rule Palestine 2051 only - May 6 2:00 0 - | 3606 | Rule Palestine 2051 only - May 6 2:00 0 - | |
3586 | Rule Palestine 2051 only - Jun 17 2:00 1:00 S | 3607 | Rule Palestine 2051 only - Jun 24 2:00 1:00 S | |
3587 | Rule Palestine 2052 only - Apr 27 2:00 0 - | 3608 | Rule Palestine 2052 only - Apr 27 2:00 0 - | |
3588 | Rule Palestine 2052 only - Jun 1 2:00 1:00 S | 3609 | Rule Palestine 2052 only - Jun 8 2:00 1:00 S | |
3589 | Rule Palestine 2053 only - Apr 12 2:00 0 - | 3610 | Rule Palestine 2053 only - Apr 12 2:00 0 - | |
3590 | Rule Palestine 2053 only - May 24 2:00 1:00 S | 3611 | Rule Palestine 2053 only - May 31 2:00 1:00 S | |
3591 | Rule Palestine 2054 only - Apr 4 2:00 0 - | 3612 | Rule Palestine 2054 only - Apr 4 2:00 0 - | |
3592 | Rule Palestine 2054 only - May 16 2:00 1:00 S | 3613 | Rule Palestine 2054 only - May 23 2:00 1:00 S | |
3593 | Rule Palestine 2055 only - May 1 2:00 1:00 S | 3614 | Rule Palestine 2055 only - May 8 2:00 1:00 S | |
3594 | Rule Palestine 2056 only - Apr 22 2:00 1:00 S | 3615 | Rule Palestine 2056 only - Apr 29 2:00 1:00 S | |
3595 | Rule Palestine 2057 only - Apr 7 2:00 1:00 S | 3616 | Rule Palestine 2057 only - Apr 14 2:00 1:00 S | |
3596 | Rule Palestine 2058 max - Mar Sat<=30 2:00 1:00 S | 3617 | Rule Palestine 2058 only - Apr 6 2:00 1:00 S | |
3618 | Rule Palestine 2059 max - Mar Sat<=30 2:00 1:00 S | |||
3597 | Rule Palestine 2068 only - Oct 20 2:00 0 - | 3619 | Rule Palestine 2068 only - Oct 20 2:00 0 - | |
3598 | Rule Palestine 2069 only - Oct 12 2:00 0 - | 3620 | Rule Palestine 2069 only - Oct 12 2:00 0 - | |
3599 | Rule Palestine 2070 only - Oct 4 2:00 0 - | 3621 | Rule Palestine 2070 only - Oct 4 2:00 0 - | |
3600 | Rule Palestine 2071 only - Sep 19 2:00 0 - | 3622 | Rule Palestine 2071 only - Sep 19 2:00 0 - | |
3601 | Rule Palestine 2072 only - Sep 10 2:00 0 - | 3623 | Rule Palestine 2072 only - Sep 10 2:00 0 - | |
3602 | Rule Palestine 2072 only - Oct 15 2:00 1:00 S | 3624 | Rule Palestine 2072 only - Oct 22 2:00 1:00 S | |
3603 | Rule Palestine 2072 max - Oct Sat<=30 2:00 0 - | 3625 | Rule Palestine 2072 max - Oct Sat<=30 2:00 0 - | |
3604 | Rule Palestine 2073 only - Sep 2 2:00 0 - | 3626 | Rule Palestine 2073 only - Sep 2 2:00 0 - | |
3605 | Rule Palestine 2073 only - Oct 7 2:00 1:00 S | 3627 | Rule Palestine 2073 only - Oct 14 2:00 1:00 S | |
3606 | Rule Palestine 2074 only - Aug 18 2:00 0 - | 3628 | Rule Palestine 2074 only - Aug 18 2:00 0 - | |
3607 | Rule Palestine 2074 only - Sep 29 2:00 1:00 S | 3629 | Rule Palestine 2074 only - Oct 6 2:00 1:00 S | |
3608 | Rule Palestine 2075 only - Aug 10 2:00 0 - | 3630 | Rule Palestine 2075 only - Aug 10 2:00 0 - | |
3609 | Rule Palestine 2075 only - Sep 14 2:00 1:00 S | 3631 | Rule Palestine 2075 only - Sep 21 2:00 1:00 S | |
3610 | Rule Palestine 2076 only - Jul 25 2:00 0 - | 3632 | Rule Palestine 2076 only - Jul 25 2:00 0 - | |
3611 | Rule Palestine 2076 only - Sep 5 2:00 1:00 S | 3633 | Rule Palestine 2076 only - Sep 12 2:00 1:00 S | |
3612 | Rule Palestine 2077 only - Jul 17 2:00 0 - | 3634 | Rule Palestine 2077 only - Jul 17 2:00 0 - | |
3613 | Rule Palestine 2077 only - Aug 28 2:00 1:00 S | 3635 | Rule Palestine 2077 only - Sep 4 2:00 1:00 S | |
3614 | Rule Palestine 2078 only - Jul 9 2:00 0 - | 3636 | Rule Palestine 2078 only - Jul 9 2:00 0 - | |
3615 | Rule Palestine 2078 only - Aug 13 2:00 1:00 S | 3637 | Rule Palestine 2078 only - Aug 20 2:00 1:00 S | |
3616 | Rule Palestine 2079 only - Jun 24 2:00 0 - | 3638 | Rule Palestine 2079 only - Jun 24 2:00 0 - | |
3617 | Rule Palestine 2079 only - Aug 5 2:00 1:00 S | 3639 | Rule Palestine 2079 only - Aug 12 2:00 1:00 S | |
3618 | Rule Palestine 2080 only - Jun 15 2:00 0 - | 3640 | Rule Palestine 2080 only - Jun 15 2:00 0 - | |
3619 | Rule Palestine 2080 only - Jul 20 2:00 1:00 S | 3641 | Rule Palestine 2080 only - Jul 27 2:00 1:00 S | |
3620 | Rule Palestine 2081 only - Jun 7 2:00 0 - | 3642 | Rule Palestine 2081 only - Jun 7 2:00 0 - | |
3621 | Rule Palestine 2081 only - Jul 12 2:00 1:00 S | 3643 | Rule Palestine 2081 only - Jul 19 2:00 1:00 S | |
3622 | Rule Palestine 2082 only - May 23 2:00 0 - | 3644 | Rule Palestine 2082 only - May 23 2:00 0 - | |
3623 | Rule Palestine 2082 only - Jul 4 2:00 1:00 S | 3645 | Rule Palestine 2082 only - Jul 11 2:00 1:00 S | |
3624 | Rule Palestine 2083 only - May 15 2:00 0 - | 3646 | Rule Palestine 2083 only - May 15 2:00 0 - | |
3625 | Rule Palestine 2083 only - Jun 19 2:00 1:00 S | 3647 | Rule Palestine 2083 only - Jun 26 2:00 1:00 S | |
3626 | Rule Palestine 2084 only - Apr 29 2:00 0 - | 3648 | Rule Palestine 2084 only - Apr 29 2:00 0 - | |
3627 | Rule Palestine 2084 only - Jun 10 2:00 1:00 S | 3649 | Rule Palestine 2084 only - Jun 17 2:00 1:00 S | |
3628 | Rule Palestine 2085 only - Apr 21 2:00 0 - | 3650 | Rule Palestine 2085 only - Apr 21 2:00 0 - | |
3629 | Rule Palestine 2085 only - Jun 2 2:00 1:00 S | 3651 | Rule Palestine 2085 only - Jun 9 2:00 1:00 S | |
3630 | Rule Palestine 2086 only - Apr 13 2:00 0 - | 3652 | Rule Palestine 2086 only - Apr 13 2:00 0 - | |
3631 | Rule Palestine 2086 only - May 18 2:00 1:00 S | 3653 | Rule Palestine 2086 only - May 25 2:00 1:00 S | |
3632 | 3654 | |||
3633 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3655 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3634 | Zone Asia/Gaza 2:17:52 - LMT 1900 Oct | 3656 | Zone Asia/Gaza 2:17:52 - LMT 1900 Oct | |
3635 | 2:00 Zion EET/EEST 1948 May 15 | 3657 | 2:00 Zion EET/EEST 1948 May 15 | |
3636 | 2:00 EgyptAsia EE%sT 1967 Jun 5 | 3658 | 2:00 EgyptAsia EE%sT 1967 Jun 5 | |
3637 | 2:00 Zion I%sT 1996 | 3659 | 2:00 Zion I%sT 1996 | |
3638 | 2:00 Jordan EE%sT 1999 | 3660 | 2:00 Jordan EE%sT 1999 | |
3639 | 2:00 Palestine EE%sT 2008 Aug 29 0:00 | 3661 | 2:00 Palestine EE%sT 2008 Aug 29 0:00 | |
3640 | 2:00 - EET 2008 Sep | 3662 | 2:00 - EET 2008 Sep | |
3641 | 2:00 Palestine EE%sT 2010 | 3663 | 2:00 Palestine EE%sT 2010 | |
3642 | 2:00 - EET 2010 Mar 27 0:01 | 3664 | 2:00 - EET 2010 Mar 27 0:01 | |
3643 | 2:00 Palestine EE%sT 2011 Aug 1 | 3665 | 2:00 Palestine EE%sT 2011 Aug 1 | |
3644 | 2:00 - EET 2012 | 3666 | 2:00 - EET 2012 | |
@@ -3646,35 +3668,35 @@ Zone Asia/Gaza 2:17:52 - LMT 1900 Oct | @@ -3646,35 +3668,35 @@ Zone Asia/Gaza 2:17:52 - LMT 1900 Oct | |||
3646 | 3668 | |||
3647 | Zone Asia/Hebron 2:20:23 - LMT 1900 Oct | 3669 | Zone Asia/Hebron 2:20:23 - LMT 1900 Oct | |
3648 | 2:00 Zion EET/EEST 1948 May 15 | 3670 | 2:00 Zion EET/EEST 1948 May 15 | |
3649 | 2:00 EgyptAsia EE%sT 1967 Jun 5 | 3671 | 2:00 EgyptAsia EE%sT 1967 Jun 5 | |
3650 | 2:00 Zion I%sT 1996 | 3672 | 2:00 Zion I%sT 1996 | |
3651 | 2:00 Jordan EE%sT 1999 | 3673 | 2:00 Jordan EE%sT 1999 | |
3652 | 2:00 Palestine EE%sT | 3674 | 2:00 Palestine EE%sT | |
3653 | 3675 | |||
3654 | # Paracel Is | 3676 | # Paracel Is | |
3655 | # no information | 3677 | # no information | |
3656 | 3678 | |||
3657 | # Philippines | 3679 | # Philippines | |
3658 | 3680 | |||
3659 | # From Paul Eggert (2018-11-18): | 3681 | # From Paul Eggert (2024-01-21): | |
3660 | # The Spanish initially used American (west-of-Greenwich) time. | 3682 | # The Spanish initially used American (west-of-Greenwich) time. | |
3661 | # It is unknown what time Manila kept when the British occupied it from | 3683 | # It is unknown what time Manila kept when the British occupied it from | |
3662 | # 1762-10-06 through 1764-04; for now assume it kept American time. | 3684 | # 1762-10-06 through 1764-04; for now assume it kept American time. | |
3663 | # On 1844-08-16, Narciso ClaverÃa, governor-general of the | 3685 | # On 1844-08-16, Narciso ClaverÃa, governor-general of the | |
3664 | # Philippines, issued a proclamation announcing that 1844-12-30 was to | 3686 | # Philippines, issued a proclamation announcing that 1844-12-30 was to | |
3665 | # be immediately followed by 1845-01-01; see R.H. van Gent's | 3687 | # be immediately followed by 1845-01-01; see R.H. van Gent's | |
3666 | # History of the International Date Line | 3688 | # History of the International Date Line | |
3667 | # https://www.staff.science.uu.nl/~gent0113/idl/idl_philippines.htm | 3689 | # https://webspace.science.uu.nl/~gent0113/idl/idl_philippines.htm | |
3668 | # The rest of the data entries are from Shanks & Pottenger. | 3690 | # The rest of the data entries are from Shanks & Pottenger. | |
3669 | 3691 | |||
3670 | # From Jesper Nørgaard Welen (2006-04-26): | 3692 | # From Jesper Nørgaard Welen (2006-04-26): | |
3671 | # ... claims that Philippines had DST last time in 1990: | 3693 | # ... claims that Philippines had DST last time in 1990: | |
3672 | # http://story.philippinetimes.com/p.x/ct/9/id/145be20cc6b121c0/cid/3e5bbccc730d258c/ | 3694 | # http://story.philippinetimes.com/p.x/ct/9/id/145be20cc6b121c0/cid/3e5bbccc730d258c/ | |
3673 | # [a story dated 2006-04-25 by Cris Larano of Dow Jones Newswires, | 3695 | # [a story dated 2006-04-25 by Cris Larano of Dow Jones Newswires, | |
3674 | # but no details] | 3696 | # but no details] | |
3675 | 3697 | |||
3676 | # From Paul Eggert (2014-08-14): | 3698 | # From Paul Eggert (2014-08-14): | |
3677 | # The following source says DST may be instituted November-January and again | 3699 | # The following source says DST may be instituted November-January and again | |
3678 | # March-June, but this is not definite. It also says DST was last proclaimed | 3700 | # March-June, but this is not definite. It also says DST was last proclaimed | |
3679 | # during the Ramos administration (1992-1998); but again, no details. | 3701 | # during the Ramos administration (1992-1998); but again, no details. | |
3680 | # Carcamo D. PNoy urged to declare use of daylight saving time. | 3702 | # Carcamo D. PNoy urged to declare use of daylight saving time. | |
@@ -4071,27 +4093,28 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 Ma | @@ -4071,27 +4093,28 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 Ma | |||
4071 | 4093 | |||
4072 | # Vietnam (southern) | 4094 | # Vietnam (southern) | |
4073 | 4095 | |||
4074 | # From Paul Eggert (2014-10-04): | 4096 | # From Paul Eggert (2014-10-04): | |
4075 | # Milne gives 7:16:56 for the meridian of Saigon in 1899, as being | 4097 | # Milne gives 7:16:56 for the meridian of Saigon in 1899, as being | |
4076 | # used in Lower Laos, Cambodia, and Annam. But this is quite a ways | 4098 | # used in Lower Laos, Cambodia, and Annam. But this is quite a ways | |
4077 | # from Saigon's location. For now, ignore this and stick with Shanks | 4099 | # from Saigon's location. For now, ignore this and stick with Shanks | |
4078 | # and Pottenger for LMT before 1906. | 4100 | # and Pottenger for LMT before 1906. | |
4079 | 4101 | |||
4080 | # From Arthur David Olson (2008-03-18): | 4102 | # From Arthur David Olson (2008-03-18): | |
4081 | # The English-language name of Vietnam's most populous city is "Ho Chi Minh | 4103 | # The English-language name of Vietnam's most populous city is "Ho Chi Minh | |
4082 | # City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters. | 4104 | # City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters. | |
4083 | 4105 | |||
4084 | # From Paul Eggert (2022-07-27) after a 2014 heads-up from Trần Ngá»c Quân: | 4106 | # From Paul Eggert (2024-01-14) after a 2014 heads-up from Trần Ngá»c Quân | |
4107 | # and a 2024-01-14 heads-up from Äoà n Trần Công Danh: | |||
4085 | # Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)" | 4108 | # Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)" | |
4086 | # (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50, | 4109 | # (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50, | |
4087 | # is quoted verbatim in: | 4110 | # is quoted verbatim in: | |
4088 | # http://www.thoigian.com.vn/?mPage=P80D01 | 4111 | # http://www.thoigian.com.vn/?mPage=P80D01 | |
4089 | # is translated by Brian Inglis in: | 4112 | # is translated by Brian Inglis in: | |
4090 | # https://mm.icann.org/pipermail/tz/2014-October/021654.html | 4113 | # https://mm.icann.org/pipermail/tz/2014-October/021654.html | |
4091 | # and is the basis for the information below. | 4114 | # and is the basis for the information below. | |
4092 | # | 4115 | # | |
4093 | # The 1906 transition was effective July 1 and standardized Indochina to | 4116 | # The 1906 transition was effective July 1 and standardized Indochina to | |
4094 | # Phù Liễn Observatory, legally 104° 17' 17" east of Paris. | 4117 | # Phù Liễn Observatory, legally 104° 17' 17" east of Paris. | |
4095 | # It's unclear whether this meant legal Paris Mean Time (00:09:21) or | 4118 | # It's unclear whether this meant legal Paris Mean Time (00:09:21) or | |
4096 | # the Paris Meridian; for now guess the former and round the exact | 4119 | # the Paris Meridian; for now guess the former and round the exact | |
4097 | # 07:06:30.1333... to 07:06:30.13 as the legal spec used 66 2/3 ms precision. | 4120 | # 07:06:30.1333... to 07:06:30.13 as the legal spec used 66 2/3 ms precision. | |
@@ -4101,44 +4124,65 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 Ma | @@ -4101,44 +4124,65 @@ Zone Asia/Tashkent 4:37:11 - LMT 1924 Ma | |||
4101 | # The following transitions occurred in Indochina in general (before 1954) | 4124 | # The following transitions occurred in Indochina in general (before 1954) | |
4102 | # and in South Vietnam in particular (after 1954): | 4125 | # and in South Vietnam in particular (after 1954): | |
4103 | # To 07:00 on 1911-05-01. | 4126 | # To 07:00 on 1911-05-01. | |
4104 | # To 08:00 on 1942-12-31 at 23:00. | 4127 | # To 08:00 on 1942-12-31 at 23:00. | |
4105 | # To 09:00 on 1945-03-14 at 23:00. | 4128 | # To 09:00 on 1945-03-14 at 23:00. | |
4106 | # To 07:00 on 1945-09-02 in Vietnam. | 4129 | # To 07:00 on 1945-09-02 in Vietnam. | |
4107 | # To 08:00 on 1947-04-01 in French-controlled Indochina. | 4130 | # To 08:00 on 1947-04-01 in French-controlled Indochina. | |
4108 | # To 07:00 on 1955-07-01 in South Vietnam. | 4131 | # To 07:00 on 1955-07-01 in South Vietnam. | |
4109 | # To 08:00 on 1959-12-31 at 23:00 in South Vietnam. | 4132 | # To 08:00 on 1959-12-31 at 23:00 in South Vietnam. | |
4110 | # To 07:00 on 1975-06-13 in South Vietnam. | 4133 | # To 07:00 on 1975-06-13 in South Vietnam. | |
4111 | # | 4134 | # | |
4112 | # Trần cites the following sources; it's unclear which supplied the info above. | 4135 | # Trần cites the following sources; it's unclear which supplied the info above. | |
4113 | # | 4136 | # | |
4114 | # Hoà ng Xuân Hãn: "Lịch và lịch Việt Nam". Táºp san Khoa há»c Xã há»™i, | 4137 | # Hoà ng Xuân Hãn: "Lịch và lịch Việt Nam". Táºp san Khoa há»c Xã há»™i, | |
4115 | # No. 9, Paris, February 1982. | 4138 | # No. 9, Paris, February 1982. | |
4139 | # | |||
4140 | # Lê Thà nh Lân: "Lịch và niên biểu lịch sỠhai mươi thế kỷ (0001-2010)", | |||
4141 | # NXB Thống kê, Hanoi, 2000. | |||
4116 | # | 4142 | # | |
4117 | # Lê Thà nh Lân: "Lịch và niên biểu lịch sá» hai mÆ°Æ¡i thế ká»· (0001-2010)", | 4143 | # Lê Thà nh Lân: "Lịch hai thế ká»· (1802-2010) và các lịch vÄ©nh cá»u", | |
4118 | # NXB Thống kê, Hanoi, 2000. | 4144 | # NXB Thuáºn Hoá, Huế, 1995. | |
4119 | # | 4145 | # | |
4120 | # Lê Thà nh Lân: "Lịch hai thế ká»· (1802-2010) và các lịch vÄ©nh cá»u", | 4146 | # Here is the decision for the September 1945 transition: | |
4121 | # NXB Thuáºn Hoá, Huế, 1995. | 4147 | # Võ Nguyên Giáp, Việt Nam Dân Quốc Công Báo, No. 1 (1945-09-29), page 13 | |
4148 | # http://baochi.nlv.gov.vn/baochi/cgi-bin/baochi?a=d&d=JwvzO19450929.2.5&dliv=none | |||
4149 | # It says that on 1945-09-01 at 24:00, Vietnam moved back two hours, to +07. | |||
4150 | # It also mentions a 1945-03-29 decree (by a Japanese Goveror-General) | |||
4151 | # to set the time zone to +09, but does not say whether that decree | |||
4152 | # merely legalized an earlier change to +09. | |||
4153 | # | |||
4154 | # July 1955 transition: | |||
4155 | # Ngô Äình Diệm, Công Báo Việt Nam, No. 92 (1955-07-02), page 1780-1781 | |||
4156 | # Ordinance (Dụ) No. 46 (1955-06-25) | |||
4157 | # http://ddsnext.crl.edu/titles/32341#?c=0&m=29&s=0&cv=4&r=0&xywh=-89%2C342%2C1724%2C1216 | |||
4158 | # It says that on 1955-07-01 at 01:00, South Vietnam moved back 1 hour (to +07). | |||
4159 | # | |||
4160 | # December 1959 transition: | |||
4161 | # Ngô Äình Diệm, Công Báo Việt Nam Cá»™ng Hòa, 1960 part 1 (1960-01-02), page 62 | |||
4162 | # Decree (Sắc lệnh) No. 362-TTP (1959-12-30) | |||
4163 | # http://ddsnext.crl.edu/titles/32341#?c=0&m=138&s=0&cv=793&r=0&xywh=-54%2C1504%2C1705%2C1202 | |||
4164 | # It says that on 1959-12-31 at 23:00, South Vietnam moved forward 1 hour (to +08). | |||
4165 | ||||
4122 | 4166 | |||
4123 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 4167 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
4124 | #STDOFF 7:06:30.13 | 4168 | #STDOFF 7:06:30.13 | |
4125 | Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1 | 4169 | Zone Asia/Ho_Chi_Minh 7:06:30 - LMT 1906 Jul 1 | |
4126 | 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT | 4170 | 7:06:30 - PLMT 1911 May 1 # Phù Liễn MT | |
4127 | 7:00 - +07 1942 Dec 31 23:00 | 4171 | 7:00 - +07 1942 Dec 31 23:00 | |
4128 | 8:00 - +08 1945 Mar 14 23:00 | 4172 | 8:00 - +08 1945 Mar 14 23:00 | |
4129 | 9:00 - +09 1945 Sep 2 | 4173 | 9:00 - +09 1945 Sep 1 24:00 | |
4130 | 7:00 - +07 1947 Apr 1 | 4174 | 7:00 - +07 1947 Apr 1 | |
4131 | 8:00 - +08 1955 Jul 1 | 4175 | 8:00 - +08 1955 Jul 1 01:00 | |
4132 | 7:00 - +07 1959 Dec 31 23:00 | 4176 | 7:00 - +07 1959 Dec 31 23:00 | |
4133 | 8:00 - +08 1975 Jun 13 | 4177 | 8:00 - +08 1975 Jun 13 | |
4134 | 7:00 - +07 | 4178 | 7:00 - +07 | |
4135 | 4179 | |||
4136 | # From Paul Eggert (2019-02-19): | 4180 | # From Paul Eggert (2019-02-19): | |
4137 | # | 4181 | # | |
4138 | # The Ho Chi Minh entry suffices for most purposes as it agrees with all of | 4182 | # The Ho Chi Minh entry suffices for most purposes as it agrees with all of | |
4139 | # Vietnam since 1975-06-13. Presumably clocks often changed in south Vietnam | 4183 | # Vietnam since 1975-06-13. Presumably clocks often changed in south Vietnam | |
4140 | # in the early 1970s as locations changed hands during the war; however the | 4184 | # in the early 1970s as locations changed hands during the war; however the | |
4141 | # details are unknown and would likely be too voluminous for this database. | 4185 | # details are unknown and would likely be too voluminous for this database. | |
4142 | # | 4186 | # | |
4143 | # For timestamps in north Vietnam back to 1970 (the tzdb cutoff), | 4187 | # For timestamps in north Vietnam back to 1970 (the tzdb cutoff), | |
4144 | # use Asia/Bangkok; see the VN entries in the file zone1970.tab. | 4188 | # use Asia/Bangkok; see the VN entries in the file zone1970.tab. |
--- src/external/public-domain/tz/dist/version 2023/12/29 20:41:12 1.7.2.2
+++ src/external/public-domain/tz/dist/version 2024/02/06 12:22:42 1.7.2.3
--- src/external/public-domain/tz/dist/australasia 2023/12/29 20:41:12 1.6.2.2
+++ src/external/public-domain/tz/dist/australasia 2024/02/06 12:22:42 1.6.2.3
@@ -420,31 +420,31 @@ Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1 | @@ -420,31 +420,31 @@ Rule Fiji 2010 2013 - Oct Sun>=21 2:00 1 | |||
420 | Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - | 420 | Rule Fiji 2011 only - Mar Sun>=1 3:00 0 - | |
421 | Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - | 421 | Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 - | |
422 | Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - | 422 | Rule Fiji 2014 only - Jan Sun>=18 2:00 0 - | |
423 | Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 - | 423 | Rule Fiji 2014 2018 - Nov Sun>=1 2:00 1:00 - | |
424 | Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 - | 424 | Rule Fiji 2015 2021 - Jan Sun>=12 3:00 0 - | |
425 | Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 - | 425 | Rule Fiji 2019 only - Nov Sun>=8 2:00 1:00 - | |
426 | Rule Fiji 2020 only - Dec 20 2:00 1:00 - | 426 | Rule Fiji 2020 only - Dec 20 2:00 1:00 - | |
427 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 427 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
428 | Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva | 428 | Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva | |
429 | 12:00 Fiji +12/+13 | 429 | 12:00 Fiji +12/+13 | |
430 | 430 | |||
431 | # French Polynesia | 431 | # French Polynesia | |
432 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 432 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
433 | Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct # Rikitea | 433 | Zone Pacific/Gambier -8:59:48 - LMT 1912 Oct 1 # Rikitea | |
434 | -9:00 - -09 | 434 | -9:00 - -09 | |
435 | Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct | 435 | Zone Pacific/Marquesas -9:18:00 - LMT 1912 Oct 1 | |
436 | -9:30 - -0930 | 436 | -9:30 - -0930 | |
437 | Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct # Papeete | 437 | Zone Pacific/Tahiti -9:58:16 - LMT 1912 Oct 1 # Papeete | |
438 | -10:00 - -10 | 438 | -10:00 - -10 | |
439 | # Clipperton (near North America) is administered from French Polynesia; | 439 | # Clipperton (near North America) is administered from French Polynesia; | |
440 | # it is uninhabited. | 440 | # it is uninhabited. | |
441 | 441 | |||
442 | 442 | |||
443 | # Guam | 443 | # Guam | |
444 | 444 | |||
445 | # Rule NAME FROM TO - IN ON AT SAVE LETTER/S | 445 | # Rule NAME FROM TO - IN ON AT SAVE LETTER/S | |
446 | # http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf | 446 | # http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf | |
447 | # http://documents.guam.gov/wp-content/uploads/E.O.-59-7-Guam-Daylight-Savings-Time-May-6-1959.pdf | 447 | # http://documents.guam.gov/wp-content/uploads/E.O.-59-7-Guam-Daylight-Savings-Time-May-6-1959.pdf | |
448 | Rule Guam 1959 only - Jun 27 2:00 1:00 D | 448 | Rule Guam 1959 only - Jun 27 2:00 1:00 D | |
449 | # http://documents.guam.gov/wp-content/uploads/E.O.-61-5-Revocation-of-Daylight-Saving-Time-and-Restoratio.pdf | 449 | # http://documents.guam.gov/wp-content/uploads/E.O.-61-5-Revocation-of-Daylight-Saving-Time-and-Restoratio.pdf | |
450 | Rule Guam 1961 only - Jan 29 2:00 0 S | 450 | Rule Guam 1961 only - Jan 29 2:00 0 S | |
@@ -833,27 +833,27 @@ Rule WS 2011 only - Apr Sat>=1 4:00 0 - | @@ -833,27 +833,27 @@ Rule WS 2011 only - Apr Sat>=1 4:00 0 - | |||
833 | Rule WS 2011 only - Sep lastSat 3:00 1 - | 833 | Rule WS 2011 only - Sep lastSat 3:00 1 - | |
834 | Rule WS 2012 2021 - Apr Sun>=1 4:00 0 - | 834 | Rule WS 2012 2021 - Apr Sun>=1 4:00 0 - | |
835 | Rule WS 2012 2020 - Sep lastSun 3:00 1 - | 835 | Rule WS 2012 2020 - Sep lastSun 3:00 1 - | |
836 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 836 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
837 | Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 | 837 | Zone Pacific/Apia 12:33:04 - LMT 1892 Jul 5 | |
838 | -11:26:56 - LMT 1911 | 838 | -11:26:56 - LMT 1911 | |
839 | -11:30 - -1130 1950 | 839 | -11:30 - -1130 1950 | |
840 | -11:00 WS -11/-10 2011 Dec 29 24:00 | 840 | -11:00 WS -11/-10 2011 Dec 29 24:00 | |
841 | 13:00 WS +13/+14 | 841 | 13:00 WS +13/+14 | |
842 | 842 | |||
843 | # Solomon Is | 843 | # Solomon Is | |
844 | # excludes Bougainville, for which see Papua New Guinea | 844 | # excludes Bougainville, for which see Papua New Guinea | |
845 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 845 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
846 | Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct # Honiara | 846 | Zone Pacific/Guadalcanal 10:39:48 - LMT 1912 Oct 1 # Honiara | |
847 | 11:00 - +11 | 847 | 11:00 - +11 | |
848 | 848 | |||
849 | # Tokelau | 849 | # Tokelau | |
850 | # | 850 | # | |
851 | # From Gwillim Law (2011-12-29) | 851 | # From Gwillim Law (2011-12-29) | |
852 | # A correspondent informed me that Tokelau, like Samoa, will be skipping | 852 | # A correspondent informed me that Tokelau, like Samoa, will be skipping | |
853 | # December 31 this year ... | 853 | # December 31 this year ... | |
854 | # | 854 | # | |
855 | # From Steffen Thorsen (2012-07-25) | 855 | # From Steffen Thorsen (2012-07-25) | |
856 | # ... we double checked by calling hotels and offices based in Tokelau asking | 856 | # ... we double checked by calling hotels and offices based in Tokelau asking | |
857 | # about the time there, and they all told a time that agrees with UTC+13.... | 857 | # about the time there, and they all told a time that agrees with UTC+13.... | |
858 | # Shanks says UT-10 from 1901 [but] ... there is a good chance the change | 858 | # Shanks says UT-10 from 1901 [but] ... there is a good chance the change | |
859 | # actually was to UT-11 back then. | 859 | # actually was to UT-11 back then. | |
@@ -1015,26 +1015,30 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 | @@ -1015,26 +1015,30 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 | |||
1015 | # Association's Standard Schedules Information Manual (IATA SSIM), | 1015 | # Association's Standard Schedules Information Manual (IATA SSIM), | |
1016 | # published semiannually. Law sent in several helpful summaries | 1016 | # published semiannually. Law sent in several helpful summaries | |
1017 | # of the IATA's data after 1990. Except where otherwise noted, | 1017 | # of the IATA's data after 1990. Except where otherwise noted, | |
1018 | # IATA SSIM is the source for entries after 1990. | 1018 | # IATA SSIM is the source for entries after 1990. | |
1019 | # | 1019 | # | |
1020 | # Another source occasionally used is Edward W. Whitman, World Time Differences, | 1020 | # Another source occasionally used is Edward W. Whitman, World Time Differences, | |
1021 | # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which | 1021 | # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which | |
1022 | # I found in the UCLA library. | 1022 | # I found in the UCLA library. | |
1023 | # | 1023 | # | |
1024 | # For data circa 1899, a common source is: | 1024 | # For data circa 1899, a common source is: | |
1025 | # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. | 1025 | # Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94. | |
1026 | # https://www.jstor.org/stable/1774359 | 1026 | # https://www.jstor.org/stable/1774359 | |
1027 | # | 1027 | # | |
1028 | # For the 1911/1912 establishment of standard time in French possessions, see: | |||
1029 | # Société Française de Physique, Recueil de constantes physiques (1913), | |||
1030 | # page 752, 18b. | |||
1031 | # | |||
1028 | # A reliable and entertaining source about time zones is | 1032 | # A reliable and entertaining source about time zones is | |
1029 | # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). | 1033 | # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997). | |
1030 | # | 1034 | # | |
1031 | # I invented the abbreviation marked "*". | 1035 | # I invented the abbreviation marked "*". | |
1032 | # The following abbreviations are from other sources. | 1036 | # The following abbreviations are from other sources. | |
1033 | # Corrections are welcome! | 1037 | # Corrections are welcome! | |
1034 | # std dst | 1038 | # std dst | |
1035 | # LMT Local Mean Time | 1039 | # LMT Local Mean Time | |
1036 | # 8:00 AWST AWDT Western Australia | 1040 | # 8:00 AWST AWDT Western Australia | |
1037 | # 9:30 ACST ACDT Central Australia | 1041 | # 9:30 ACST ACDT Central Australia | |
1038 | # 10:00 AEST AEDT Eastern Australia | 1042 | # 10:00 AEST AEDT Eastern Australia | |
1039 | # 10:00 GST GDT* Guam through 2000 | 1043 | # 10:00 GST GDT* Guam through 2000 | |
1040 | # 10:00 ChST Chamorro | 1044 | # 10:00 ChST Chamorro | |
@@ -2091,27 +2095,27 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 | @@ -2091,27 +2095,27 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 | |||
2091 | # Betty Christian told me yesterday that their local time is the same as | 2095 | # Betty Christian told me yesterday that their local time is the same as | |
2092 | # Pacific Standard Time. They used to be ½ hour different from us here in | 2096 | # Pacific Standard Time. They used to be ½ hour different from us here in | |
2093 | # Sacramento but it was changed a couple of years ago. | 2097 | # Sacramento but it was changed a couple of years ago. | |
2094 | 2098 | |||
2095 | 2099 | |||
2096 | # (Western) Samoa and American Samoa | 2100 | # (Western) Samoa and American Samoa | |
2097 | 2101 | |||
2098 | # Howse writes (p 153) that after the 1879 standardization on Antipodean | 2102 | # Howse writes (p 153) that after the 1879 standardization on Antipodean | |
2099 | # time by the British governor of Fiji, the King of Samoa decided to change | 2103 | # time by the British governor of Fiji, the King of Samoa decided to change | |
2100 | # "the date in his kingdom from the Antipodean to the American system, | 2104 | # "the date in his kingdom from the Antipodean to the American system, | |
2101 | # ordaining - by a masterpiece of diplomatic flattery - that | 2105 | # ordaining - by a masterpiece of diplomatic flattery - that | |
2102 | # the Fourth of July should be celebrated twice in that year." | 2106 | # the Fourth of July should be celebrated twice in that year." | |
2103 | # This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. | 2107 | # This happened in 1892, according to the Evening News (Sydney) of 1892-07-20. | |
2104 | # https://www.staff.science.uu.nl/~gent0113/idl/idl.htm | 2108 | # https://webspace.science.uu.nl/~gent0113/idl/idl_alaska_samoa.htm | |
2105 | 2109 | |||
2106 | # Although Shanks & Pottenger says they both switched to UT -11:30 | 2110 | # Although Shanks & Pottenger says they both switched to UT -11:30 | |
2107 | # in 1911, and to -11 in 1950. many earlier sources give -11 | 2111 | # in 1911, and to -11 in 1950. many earlier sources give -11 | |
2108 | # for American Samoa, e.g., the US National Bureau of Standards | 2112 | # for American Samoa, e.g., the US National Bureau of Standards | |
2109 | # circular "Standard Time Throughout the World", 1932. | 2113 | # circular "Standard Time Throughout the World", 1932. | |
2110 | # Assume American Samoa switched to -11 in 1911, not 1950, | 2114 | # Assume American Samoa switched to -11 in 1911, not 1950, | |
2111 | # and that after 1950 they agreed until (western) Samoa skipped a | 2115 | # and that after 1950 they agreed until (western) Samoa skipped a | |
2112 | # day in 2011. Assume also that the Samoas follow the US and New | 2116 | # day in 2011. Assume also that the Samoas follow the US and New | |
2113 | # Zealand's "ST"/"DT" style of daylight-saving abbreviations. | 2117 | # Zealand's "ST"/"DT" style of daylight-saving abbreviations. | |
2114 | 2118 | |||
2115 | 2119 | |||
2116 | # Tonga | 2120 | # Tonga | |
2117 | 2121 |
--- src/external/public-domain/tz/dist/checknow.awk 2023/12/29 20:41:12 1.1.1.1.2.2
+++ src/external/public-domain/tz/dist/checknow.awk 2024/02/06 12:22:42 1.1.1.1.2.3
@@ -35,20 +35,20 @@ BEGIN { | @@ -35,20 +35,20 @@ BEGIN { | |||
35 | zone2 = zonenow[data] | 35 | zone2 = zonenow[data] | |
36 | if (zone2) { | 36 | if (zone2) { | |
37 | printf "zones %s and %s identical from now on\n", zone, zone2 | 37 | printf "zones %s and %s identical from now on\n", zone, zone2 | |
38 | status = 1 | 38 | status = 1 | |
39 | } else | 39 | } else | |
40 | zonenow[data] = zone | 40 | zonenow[data] = zone | |
41 | } | 41 | } | |
42 | } | 42 | } | |
43 | 43 | |||
44 | END { | 44 | END { | |
45 | for (zone in zone_data) { | 45 | for (zone in zone_data) { | |
46 | data = zone_data[zone] | 46 | data = zone_data[zone] | |
47 | if (!zonenow[data]) { | 47 | if (!zonenow[data]) { | |
48 | printf "checknow.tab should have one of:%s\n", zones[data] | 48 | printf "zonenow.tab should have one of:%s\n", zones[data] | |
49 | zonenow[data] = zone # This suppresses duplicate diagnostics. | 49 | zonenow[data] = zone # This suppresses duplicate diagnostics. | |
50 | status = 1 | 50 | status = 1 | |
51 | } | 51 | } | |
52 | } | 52 | } | |
53 | exit status | 53 | exit status | |
54 | } | 54 | } |
--- src/external/public-domain/tz/dist/zonenow.tab 2023/12/29 20:41:12 1.1.1.1.2.2
+++ src/external/public-domain/tz/dist/zonenow.tab 2024/02/06 12:22:42 1.1.1.1.2.3
@@ -189,42 +189,44 @@ XX -0117+03649 Africa/Nairobi eastern Af | @@ -189,42 +189,44 @@ XX -0117+03649 Africa/Nairobi eastern Af | |||
189 | # +03 - MSK | 189 | # +03 - MSK | |
190 | XX +554521+0373704 Europe/Moscow Moscow ("MSK") | 190 | XX +554521+0373704 Europe/Moscow Moscow ("MSK") | |
191 | # | 191 | # | |
192 | # +03:30 | 192 | # +03:30 | |
193 | XX +3540+05126 Asia/Tehran Iran | 193 | XX +3540+05126 Asia/Tehran Iran | |
194 | # | 194 | # | |
195 | # +04 | 195 | # +04 | |
196 | XX +2518+05518 Asia/Dubai Russia; Caucasus; Persian Gulf; Seychelles; Réunion | 196 | XX +2518+05518 Asia/Dubai Russia; Caucasus; Persian Gulf; Seychelles; Réunion | |
197 | # | 197 | # | |
198 | # +04:30 | 198 | # +04:30 | |
199 | XX +3431+06912 Asia/Kabul Afghanistan | 199 | XX +3431+06912 Asia/Kabul Afghanistan | |
200 | # | 200 | # | |
201 | # +05 | 201 | # +05 | |
202 | XX +4120+06918 Asia/Tashkent Russia; Tajikistan; Turkmenistan; Uzbekistan; Maldives | 202 | XX +4120+06918 Asia/Tashkent Russia; west Kazakhstan; Tajikistan; Turkmenistan; Uzbekistan; Maldives | |
203 | # | 203 | # | |
204 | # +05 - PKT | 204 | # +05 - PKT | |
205 | XX +2452+06703 Asia/Karachi Pakistan ("PKT") | 205 | XX +2452+06703 Asia/Karachi Pakistan ("PKT") | |
206 | # | 206 | # | |
207 | # +05:30 | 207 | # +05:30 | |
208 | XX +0656+07951 Asia/Colombo Sri Lanka | 208 | XX +0656+07951 Asia/Colombo Sri Lanka | |
209 | # | 209 | # | |
210 | # +05:30 - IST | 210 | # +05:30 - IST | |
211 | XX +2232+08822 Asia/Kolkata India ("IST") | 211 | XX +2232+08822 Asia/Kolkata India ("IST") | |
212 | # | 212 | # | |
213 | # +05:45 | 213 | # +05:45 | |
214 | XX +2743+08519 Asia/Kathmandu Nepal | 214 | XX +2743+08519 Asia/Kathmandu Nepal | |
215 | # | 215 | # | |
216 | # +06 | 216 | # +06 | |
217 | XX +2343+09025 Asia/Dhaka Russia; Kyrgyzstan; Bhutan; Bangladesh; Chagos | 217 | XX +2343+09025 Asia/Dhaka Russia; Kyrgyzstan; Bhutan; Bangladesh; Chagos | |
218 | # +06 until 2024-03-01; then +05 | |||
219 | XX +4315+07657 Asia/Almaty Kazakhstan (except western areas) | |||
218 | # | 220 | # | |
219 | # +06:30 | 221 | # +06:30 | |
220 | XX +1647+09610 Asia/Yangon Myanmar; Cocos | 222 | XX +1647+09610 Asia/Yangon Myanmar; Cocos | |
221 | # | 223 | # | |
222 | # +07 | 224 | # +07 | |
223 | XX +1345+10031 Asia/Bangkok Russia; Indochina; Christmas Island | 225 | XX +1345+10031 Asia/Bangkok Russia; Indochina; Christmas Island | |
224 | # | 226 | # | |
225 | # +07 - WIB | 227 | # +07 - WIB | |
226 | XX -0610+10648 Asia/Jakarta Indonesia ("WIB") | 228 | XX -0610+10648 Asia/Jakarta Indonesia ("WIB") | |
227 | # | 229 | # | |
228 | # +08 | 230 | # +08 | |
229 | XX +0117+10351 Asia/Singapore Russia; Brunei; Malaysia; Singapore | 231 | XX +0117+10351 Asia/Singapore Russia; Brunei; Malaysia; Singapore | |
230 | # | 232 | # |
--- src/external/public-domain/tz/dist/etcetera 2022/10/30 01:03:04 1.1.1.7
+++ src/external/public-domain/tz/dist/etcetera 2024/02/06 12:22:42 1.1.1.7.2.1
@@ -1,21 +1,21 @@ | @@ -1,21 +1,21 @@ | |||
1 | # tzdb data for ships at sea and other miscellany | 1 | # tzdb data for ships at sea and other miscellany | |
2 | 2 | |||
3 | # This file is in the public domain, so clarified as of | 3 | # This file is in the public domain, so clarified as of | |
4 | # 2009-05-17 by Arthur David Olson. | 4 | # 2009-05-17 by Arthur David Olson. | |
5 | 5 | |||
6 | # These entries are for uses not otherwise covered by the tz database. | 6 | # These entries are for uses not otherwise covered by the tz database. | |
7 | # Their main practical use is for platforms like Android that lack | 7 | # Their main practical use is for platforms like Android that lack | |
8 | # support for POSIX-style TZ strings. On such platforms these entries | 8 | # support for POSIX.1-2017-style TZ strings. On such platforms these entries | |
9 | # can be useful if the timezone database is wrong or if a ship or | 9 | # can be useful if the timezone database is wrong or if a ship or | |
10 | # aircraft at sea is not in a timezone. | 10 | # aircraft at sea is not in a timezone. | |
11 | 11 | |||
12 | # Starting with POSIX 1003.1-2001, the entries below are all | 12 | # Starting with POSIX 1003.1-2001, the entries below are all | |
13 | # unnecessary as settings for the TZ environment variable. E.g., | 13 | # unnecessary as settings for the TZ environment variable. E.g., | |
14 | # instead of TZ='Etc/GMT+4' one can use the POSIX setting TZ='<-04>+4'. | 14 | # instead of TZ='Etc/GMT+4' one can use the POSIX setting TZ='<-04>+4'. | |
15 | # | 15 | # | |
16 | # Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours | 16 | # Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours | |
17 | # behind GMT but uses the completely misleading abbreviation "GMT". | 17 | # behind GMT but uses the completely misleading abbreviation "GMT". | |
18 | 18 | |||
19 | # The following zone is used by tzcode functions like gmtime, | 19 | # The following zone is used by tzcode functions like gmtime, | |
20 | # which load the "UTC" file to handle seconds properly. | 20 | # which load the "UTC" file to handle seconds properly. | |
21 | Zone Etc/UTC 0 - UTC | 21 | Zone Etc/UTC 0 - UTC |
--- src/external/public-domain/tz/dist/europe 2023/12/29 20:41:12 1.1.1.36.2.2
+++ src/external/public-domain/tz/dist/europe 2024/02/06 12:22:42 1.1.1.36.2.3
@@ -1018,29 +1018,54 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 | @@ -1018,29 +1018,54 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 | |||
1018 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 1018 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
1019 | Zone Europe/Zagreb 1:03:52 - LMT 1884 | 1019 | Zone Europe/Zagreb 1:03:52 - LMT 1884 | |
1020 | 1:00 - CET 1941 Apr 18 23:00 | 1020 | 1:00 - CET 1941 Apr 18 23:00 | |
1021 | 1:00 C-Eur CE%sT 1945 May 8 2:00s | 1021 | 1:00 C-Eur CE%sT 1945 May 8 2:00s | |
1022 | 1:00 1:00 CEST 1945 Sep 16 2:00s | 1022 | 1:00 1:00 CEST 1945 Sep 16 2:00s | |
1023 | 1:00 - CET 1982 Nov 27 | 1023 | 1:00 - CET 1982 Nov 27 | |
1024 | 1:00 EU CE%sT | 1024 | 1:00 EU CE%sT | |
1025 | 1025 | |||
1026 | # Cyprus | 1026 | # Cyprus | |
1027 | # Please see the 'asia' file for Asia/Nicosia. | 1027 | # Please see the 'asia' file for Asia/Nicosia. | |
1028 | 1028 | |||
1029 | # Czech Republic (Czechia) | 1029 | # Czech Republic (Czechia) | |
1030 | # | 1030 | # | |
1031 | # From Paul Eggert (2018-04-15): | 1031 | # From Ivan Benovic (2024-01-30): | |
1032 | # The source for Czech data is: Kdy zaÄÃná a konÄà letnà Äas. 2018-04-15. | 1032 | # https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1946/54/ | |
1033 | # (This is an official link to the Czechoslovak Summer Time Act of | |||
1034 | # March 8, 1946 that authorizes the Czechoslovak government to set the | |||
1035 | # exact dates of change to summer time and back to Central European Time. | |||
1036 | # The act also implicitly confirms Central European Time as the | |||
1037 | # official time zone of Czechoslovakia and currently remains in force | |||
1038 | # in both the Czech Republic and Slovakia.) | |||
1039 | # https://www.psp.cz/eknih/1945pns/tisky/t0216_00.htm | |||
1040 | # (This is a link to the original legislative proposal dating back to | |||
1041 | # February 22, 1946. The accompanying memorandum to the proposal says | |||
1042 | # that an advisory committee on European railroad transportation that | |||
1043 | # met in Brussels in October 1945 decided that the change of time | |||
1044 | # should be carried out in all participating countries in a strictly | |||
1045 | # coordinated manner....) | |||
1046 | # | |||
1047 | # From Paul Eggert (2024-01-30): | |||
1048 | # The source for Czech data is: Kdy zaÄÃná a konÄà letnà Äas. | |||
1033 | # https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas | 1049 | # https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas | |
1050 | # Its main text disagrees with its quoted sources only in 1918, | |||
1051 | # where the main text says spring and autumn transitions | |||
1052 | # occurred at 02:00 and 03:00 respectively (as usual), | |||
1053 | # whereas the 1918 source "Oznámenà o zavedenà letnÃho Äasu v roce 1918" | |||
1054 | # says transitions were at 01:00 and 02:00 respectively. | |||
1055 | # As the 1918 source appears to be a humorous piece, and it is | |||
1056 | # unlikely that Prague would have disagreed with its neighbors by an hour, | |||
1057 | # go with the main text for now. | |||
1058 | # | |||
1034 | # We know of no English-language name for historical Czech winter time; | 1059 | # We know of no English-language name for historical Czech winter time; | |
1035 | # abbreviate it as "GMT", as it happened to be GMT. | 1060 | # abbreviate it as "GMT", as it happened to be GMT. | |
1036 | # | 1061 | # | |
1037 | # Rule NAME FROM TO - IN ON AT SAVE LETTER/S | 1062 | # Rule NAME FROM TO - IN ON AT SAVE LETTER/S | |
1038 | Rule Czech 1945 only - Apr Mon>=1 2:00s 1:00 S | 1063 | Rule Czech 1945 only - Apr Mon>=1 2:00s 1:00 S | |
1039 | Rule Czech 1945 only - Oct 1 2:00s 0 - | 1064 | Rule Czech 1945 only - Oct 1 2:00s 0 - | |
1040 | Rule Czech 1946 only - May 6 2:00s 1:00 S | 1065 | Rule Czech 1946 only - May 6 2:00s 1:00 S | |
1041 | Rule Czech 1946 1949 - Oct Sun>=1 2:00s 0 - | 1066 | Rule Czech 1946 1949 - Oct Sun>=1 2:00s 0 - | |
1042 | Rule Czech 1947 1948 - Apr Sun>=15 2:00s 1:00 S | 1067 | Rule Czech 1947 1948 - Apr Sun>=15 2:00s 1:00 S | |
1043 | Rule Czech 1949 only - Apr 9 2:00s 1:00 S | 1068 | Rule Czech 1949 only - Apr 9 2:00s 1:00 S | |
1044 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 1069 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
1045 | Zone Europe/Prague 0:57:44 - LMT 1850 | 1070 | Zone Europe/Prague 0:57:44 - LMT 1850 | |
1046 | 0:57:44 - PMT 1891 Oct # Prague Mean Time | 1071 | 0:57:44 - PMT 1891 Oct # Prague Mean Time |
--- src/external/public-domain/tz/dist/leap-seconds.list 2023/12/29 20:41:12 1.4.2.2
+++ src/external/public-domain/tz/dist/leap-seconds.list 2024/02/06 12:22:42 1.4.2.3
@@ -1,255 +1,120 @@ | @@ -1,255 +1,120 @@ | |||
1 | # ATOMIC TIME. | |||
2 | # The Coordinated Universal Time (UTC) is the reference time scale derived | |||
3 | # from The "Temps Atomique International" (TAI) calculated by the Bureau | |||
4 | # International des Poids et Mesures (BIPM) using a worldwide network of atomic | |||
5 | # clocks. UTC differs from TAI by an integer number of seconds; it is the basis | |||
6 | # of all activities in the world. | |||
1 | # | 7 | # | |
2 | # In the following text, the symbol '#' introduces | |||
3 | # a comment, which continues from that symbol until | |||
4 | # the end of the line. A plain comment line has a | |||
5 | # whitespace character following the comment indicator. | |||
6 | # There are also special comment lines defined below. | |||
7 | # A special comment will always have a non-whitespace | |||
8 | # character in column 2. | |||
9 | # | |||
10 | # A blank line should be ignored. | |||
11 | # | |||
12 | # The following table shows the corrections that must | |||
13 | # be applied to compute International Atomic Time (TAI) | |||
14 | # from the Coordinated Universal Time (UTC) values that | |||
15 | # are transmitted by almost all time services. | |||
16 | # | |||
17 | # The first column shows an epoch as a number of seconds | |||
18 | # since 1 January 1900, 00:00:00 (1900.0 is also used to | |||
19 | # indicate the same epoch.) Both of these time stamp formats | |||
20 | # ignore the complexities of the time scales that were | |||
21 | # used before the current definition of UTC at the start | |||
22 | # of 1972. (See note 3 below.) | |||
23 | # The second column shows the number of seconds that | |||
24 | # must be added to UTC to compute TAI for any timestamp | |||
25 | # at or after that epoch. The value on each line is | |||
26 | # valid from the indicated initial instant until the | |||
27 | # epoch given on the next one or indefinitely into the | |||
28 | # future if there is no next line. | |||
29 | # (The comment on each line shows the representation of | |||
30 | # the corresponding initial epoch in the usual | |||
31 | # day-month-year format. The epoch always begins at | |||
32 | # 00:00:00 UTC on the indicated day. See Note 5 below.) | |||
33 | # | |||
34 | # Important notes: | |||
35 | # | |||
36 | # 1. Coordinated Universal Time (UTC) is often referred to | |||
37 | # as Greenwich Mean Time (GMT). The GMT time scale is no | |||
38 | # longer used, and the use of GMT to designate UTC is | |||
39 | # discouraged. | |||
40 | # | |||
41 | # 2. The UTC time scale is realized by many national | |||
42 | # laboratories and timing centers. Each laboratory | |||
43 | # identifies its realization with its name: Thus | |||
44 | # UTC(NIST), UTC(USNO), etc. The differences among | |||
45 | # these different realizations are typically on the | |||
46 | # order of a few nanoseconds (i.e., 0.000 000 00x s) | |||
47 | # and can be ignored for many purposes. These differences | |||
48 | # are tabulated in Circular T, which is published monthly | |||
49 | # by the International Bureau of Weights and Measures | |||
50 | # (BIPM). See www.bipm.org for more information. | |||
51 | # | |||
52 | # 3. The current definition of the relationship between UTC | |||
53 | # and TAI dates from 1 January 1972. A number of different | |||
54 | # time scales were in use before that epoch, and it can be | |||
55 | # quite difficult to compute precise timestamps and time | |||
56 | # intervals in those "prehistoric" days. For more information, | |||
57 | # consult: | |||
58 | # | |||
59 | # The Explanatory Supplement to the Astronomical | |||
60 | # Ephemeris. | |||
61 | # or | |||
62 | # Terry Quinn, "The BIPM and the Accurate Measurement | |||
63 | # of Time," Proc. of the IEEE, Vol. 79, pp. 894-905, | |||
64 | # July, 1991. <http://dx.doi.org/10.1109/5.84965> | |||
65 | # reprinted in: | |||
66 | # Christine Hackman and Donald B Sullivan (eds.) | |||
67 | # Time and Frequency Measurement | |||
68 | # American Association of Physics Teachers (1996) | |||
69 | # <http://tf.nist.gov/general/pdf/1168.pdf>, pp. 75-86 | |||
70 | # | |||
71 | # 4. The decision to insert a leap second into UTC is currently | |||
72 | # the responsibility of the International Earth Rotation and | |||
73 | # Reference Systems Service. (The name was changed from the | |||
74 | # International Earth Rotation Service, but the acronym IERS | |||
75 | # is still used.) | |||
76 | # | |||
77 | # Leap seconds are announced by the IERS in its Bulletin C. | |||
78 | # | |||
79 | # See www.iers.org for more details. | |||
80 | # | |||
81 | # Every national laboratory and timing center uses the | |||
82 | # data from the BIPM and the IERS to construct UTC(lab), | |||
83 | # their local realization of UTC. | |||
84 | # | |||
85 | # Although the definition also includes the possibility | |||
86 | # of dropping seconds ("negative" leap seconds), this has | |||
87 | # never been done and is unlikely to be necessary in the | |||
88 | # foreseeable future. | |||
89 | # | |||
90 | # 5. If your system keeps time as the number of seconds since | |||
91 | # some epoch (e.g., NTP timestamps), then the algorithm for | |||
92 | # assigning a UTC time stamp to an event that happens during a positive | |||
93 | # leap second is not well defined. The official name of that leap | |||
94 | # second is 23:59:60, but there is no way of representing that time | |||
95 | # in these systems. | |||
96 | # Many systems of this type effectively stop the system clock for | |||
97 | # one second during the leap second and use a time that is equivalent | |||
98 | # to 23:59:59 UTC twice. For these systems, the corresponding TAI | |||
99 | # timestamp would be obtained by advancing to the next entry in the | |||
100 | # following table when the time equivalent to 23:59:59 UTC | |||
101 | # is used for the second time. Thus the leap second which | |||
102 | # occurred on 30 June 1972 at 23:59:59 UTC would have TAI | |||
103 | # timestamps computed as follows: | |||
104 | # | |||
105 | # ... | |||
106 | # 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds | |||
107 | # 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds | |||
108 | # 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds | |||
109 | # ... | |||
110 | # | |||
111 | # If your system realizes the leap second by repeating 00:00:00 UTC twice | |||
112 | # (this is possible but not usual), then the advance to the next entry | |||
113 | # in the table must occur the second time that a time equivalent to | |||
114 | # 00:00:00 UTC is used. Thus, using the same example as above: | |||
115 | # | |||
116 | # ... | |||
117 | # 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds | |||
118 | # 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds | |||
119 | # 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds | |||
120 | # ... | |||
121 | # | |||
122 | # in both cases the use of timestamps based on TAI produces a smooth | |||
123 | # time scale with no discontinuity in the time interval. However, | |||
124 | # although the long-term behavior of the time scale is correct in both | |||
125 | # methods, the second method is technically not correct because it adds | |||
126 | # the extra second to the wrong day. | |||
127 | # | |||
128 | # This complexity would not be needed for negative leap seconds (if they | |||
129 | # are ever used). The UTC time would skip 23:59:59 and advance from | |||
130 | # 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by | |||
131 | # 1 second at the same instant. This is a much easier situation to deal | |||
132 | # with, since the difficulty of unambiguously representing the epoch | |||
133 | # during the leap second does not arise. | |||
134 | # | |||
135 | # Some systems implement leap seconds by amortizing the leap second | |||
136 | # over the last few minutes of the day. The frequency of the local | |||
137 | # clock is decreased (or increased) to realize the positive (or | |||
138 | # negative) leap second. This method removes the time step described | |||
139 | # above. Although the long-term behavior of the time scale is correct | |||
140 | # in this case, this method introduces an error during the adjustment | |||
141 | # period both in time and in frequency with respect to the official | |||
142 | # definition of UTC. | |||
143 | # | |||
144 | # Questions or comments to: | |||
145 | # Judah Levine | |||
146 | # Time and Frequency Division | |||
147 | # NIST | |||
148 | # Boulder, Colorado | |||
149 | # Judah.Levine@nist.gov | |||
150 | # | |||
151 | # Last Update of leap second values: 8 July 2016 | |||
152 | # | |||
153 | # The following line shows this last update date in NTP timestamp | |||
154 | # format. This is the date on which the most recent change to | |||
155 | # the leap second data was added to the file. This line can | |||
156 | # be identified by the unique pair of characters in the first two | |||
157 | # columns as shown below. | |||
158 | # | |||
159 | #$ 3676924800 | |||
160 | # | |||
161 | # The NTP timestamps are in units of seconds since the NTP epoch, | |||
162 | # which is 1 January 1900, 00:00:00. The Modified Julian Day number | |||
163 | # corresponding to the NTP time stamp, X, can be computed as | |||
164 | # | |||
165 | # X/86400 + 15020 | |||
166 | # | |||
167 | # where the first term converts seconds to days and the second | |||
168 | # term adds the MJD corresponding to the time origin defined above. | |||
169 | # The integer portion of the result is the integer MJD for that | |||
170 | # day, and any remainder is the time of day, expressed as the | |||
171 | # fraction of the day since 0 hours UTC. The conversion from day | |||
172 | # fraction to seconds or to hours, minutes, and seconds may involve | |||
173 | # rounding or truncation, depending on the method used in the | |||
174 | # computation. | |||
175 | # | |||
176 | # The data in this file will be updated periodically as new leap | |||
177 | # seconds are announced. In addition to being entered on the line | |||
178 | # above, the update time (in NTP format) will be added to the basic | |||
179 | # file name leap-seconds to form the name leap-seconds.<NTP TIME>. | |||
180 | # In addition, the generic name leap-seconds.list will always point to | |||
181 | # the most recent version of the file. | |||
182 | # | |||
183 | # This update procedure will be performed only when a new leap second | |||
184 | # is announced. | |||
185 | # | |||
186 | # The following entry specifies the expiration date of the data | |||
187 | # in this file in units of seconds since the origin at the instant | |||
188 | # 1 January 1900, 00:00:00. This expiration date will be changed | |||
189 | # at least twice per year whether or not a new leap second is | |||
190 | # announced. These semi-annual changes will be made no later | |||
191 | # than 1 June and 1 December of each year to indicate what | |||
192 | # action (if any) is to be taken on 30 June and 31 December, | |||
193 | # respectively. (These are the customary effective dates for new | |||
194 | # leap seconds.) This expiration date will be identified by a | |||
195 | # unique pair of characters in columns 1 and 2 as shown below. | |||
196 | # In the unlikely event that a leap second is announced with an | |||
197 | # effective date other than 30 June or 31 December, then this | |||
198 | # file will be edited to include that leap second as soon as it is | |||
199 | # announced or at least one month before the effective date | |||
200 | # (whichever is later). | |||
201 | # If an announcement by the IERS specifies that no leap second is | |||
202 | # scheduled, then only the expiration date of the file will | |||
203 | # be advanced to show that the information in the file is still | |||
204 | # current -- the update time stamp, the data and the name of the file | |||
205 | # will not change. | |||
206 | # | |||
207 | # Updated through IERS Bulletin C66 | |||
208 | # File expires on: 28 June 2024 | |||
209 | # | |||
210 | #@ 3928521600 | |||
211 | # | |||
212 | 2272060800 10 # 1 Jan 1972 | |||
213 | 2287785600 11 # 1 Jul 1972 | |||
214 | 2303683200 12 # 1 Jan 1973 | |||
215 | 2335219200 13 # 1 Jan 1974 | |||
216 | 2366755200 14 # 1 Jan 1975 | |||
217 | 2398291200 15 # 1 Jan 1976 | |||
218 | 2429913600 16 # 1 Jan 1977 | |||
219 | 2461449600 17 # 1 Jan 1978 | |||
220 | 2492985600 18 # 1 Jan 1979 | |||
221 | 2524521600 19 # 1 Jan 1980 | |||
222 | 2571782400 20 # 1 Jul 1981 | |||
223 | 2603318400 21 # 1 Jul 1982 | |||
224 | 2634854400 22 # 1 Jul 1983 | |||
225 | 2698012800 23 # 1 Jul 1985 | |||
226 | 2776982400 24 # 1 Jan 1988 | |||
227 | 2840140800 25 # 1 Jan 1990 | |||
228 | 2871676800 26 # 1 Jan 1991 | |||
229 | 2918937600 27 # 1 Jul 1992 | |||
230 | 2950473600 28 # 1 Jul 1993 | |||
231 | 2982009600 29 # 1 Jul 1994 | |||
232 | 3029443200 30 # 1 Jan 1996 | |||
233 | 3076704000 31 # 1 Jul 1997 | |||
234 | 3124137600 32 # 1 Jan 1999 | |||
235 | 3345062400 33 # 1 Jan 2006 | |||
236 | 3439756800 34 # 1 Jan 2009 | |||
237 | 3550089600 35 # 1 Jul 2012 | |||
238 | 3644697600 36 # 1 Jul 2015 | |||
239 | 3692217600 37 # 1 Jan 2017 | |||
240 | # | |||
241 | # the following special comment contains the | |||
242 | # hash value of the data in this file computed | |||
243 | # use the secure hash algorithm as specified | |||
244 | # by FIPS 180-1. See the files in ~/pub/sha for | |||
245 | # the details of how this hash value is | |||
246 | # computed. Note that the hash computation | |||
247 | # ignores comments and whitespace characters | |||
248 | # in data lines. It includes the NTP values | |||
249 | # of both the last modification time and the | |||
250 | # expiration time of the file, but not the | |||
251 | # white space on those lines. | |||
252 | # the hash line is also ignored in the | |||
253 | # computation. | |||
254 | # | 8 | # | |
255 | #h 16edd0f0 3666784f 37db6bdd e74ced87 59af48f1 | 9 | # ASTRONOMICAL TIME (UT1) is the time scale based on the rate of rotation of the earth. | |
10 | # It is now mainly derived from Very Long Baseline Interferometry (VLBI). The various | |||
11 | # irregular fluctuations progressively detected in the rotation rate of the Earth lead | |||
12 | # in 1972 to the replacement of UT1 by UTC as the reference time scale. | |||
13 | # | |||
14 | # | |||
15 | # LEAP SECOND | |||
16 | # Atomic clocks are more stable than the rate of the earth rotation since the latter | |||
17 | # undergoes a full range of geophysical perturbations at various time scales: lunisolar | |||
18 | # and core-mantle torques, atmospheric and oceanic effetcs, etc. | |||
19 | # Leap seconds are needed to keep the two time scales in agreement, i.e. UT1-UTC smaller | |||
20 | # than 0.9 second. Therefore, when necessary a "leap second" is applied to UTC. | |||
21 | # Since the adoption of this system in 1972 it has been necessary to add a number of seconds to UTC, | |||
22 | # firstly due to the initial choice of the value of the second (1/86400 mean solar day of | |||
23 | # the year 1820) and secondly to the general slowing down of the Earth's rotation. It is | |||
24 | # theorically possible to have a negative leap second (a second removed from UTC), but so far, | |||
25 | # all leap seconds have been positive (a second has been added to UTC). Based on what we know about | |||
26 | # the earth's rotation, it is unlikely that we will ever have a negative leap second. | |||
27 | # | |||
28 | # | |||
29 | # HISTORY | |||
30 | # The first leap second was added on June 30, 1972. Until yhe year 2000, it was necessary in average to add a | |||
31 | # leap second at a rate of 1 to 2 years. Since the year 2000 leap seconds are introduced with an | |||
32 | # average interval of 3 to 4 years due to the acceleration of the Earth rotation speed. | |||
33 | # | |||
34 | # | |||
35 | # RESPONSABILITY OF THE DECISION TO INTRODUCE A LEAP SECOND IN UTC | |||
36 | # The decision to introduce a leap second in UTC is the responsibility of the Earth Orientation Center of | |||
37 | # the International Earth Rotation and reference System Service (IERS). This center is located at Paris | |||
38 | # Observatory. According to international agreements, leap seconds should only be scheduled for certain dates: | |||
39 | # first preference is given to the end of December and June, and second preference at the end of March | |||
40 | # and September. Since the introduction of leap seconds in 1972, only dates in June and December were used. | |||
41 | # | |||
42 | # Questions or comments to: | |||
43 | # Christian Bizouard: christian.bizouard@obspm.fr | |||
44 | # Earth orientation Center of the IERS | |||
45 | # Paris Observatory, France | |||
46 | # | |||
47 | # | |||
48 | # | |||
49 | # COPYRIGHT STATUS OF THIS FILE | |||
50 | # This file is in the public domain. | |||
51 | # | |||
52 | # | |||
53 | # VALIDITY OF THE FILE | |||
54 | # It is important to express the validity of the file. These next two dates are | |||
55 | # given in units of seconds since 1900.0. | |||
56 | # | |||
57 | # 1) Last update of the file. | |||
58 | # | |||
59 | # Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat) | |||
60 | # | |||
61 | # The following line shows the last update of this file in NTP timestamp: | |||
62 | # | |||
63 | #$ 3913697179 | |||
64 | # | |||
65 | # 2) Expiration date of the file given on a semi-annual basis: last June or last December | |||
66 | # | |||
67 | # File expires on 28 December 2024 | |||
68 | # | |||
69 | # Expire date in NTP timestamp: | |||
70 | # | |||
71 | #@ 3944332800 | |||
72 | # | |||
73 | # | |||
74 | # LIST OF LEAP SECONDS | |||
75 | # NTP timestamp (X parameter) is the number of seconds since 1900.0 | |||
76 | # | |||
77 | # MJD: The Modified Julian Day number. MJD = X/86400 + 15020 | |||
78 | # | |||
79 | # DTAI: The difference DTAI= TAI-UTC in units of seconds | |||
80 | # It is the quantity to add to UTC to get the time in TAI | |||
81 | # | |||
82 | # Day Month Year : epoch in clear | |||
83 | # | |||
84 | #NTP Time DTAI Day Month Year | |||
85 | # | |||
86 | 2272060800 10 # 1 Jan 1972 | |||
87 | 2287785600 11 # 1 Jul 1972 | |||
88 | 2303683200 12 # 1 Jan 1973 | |||
89 | 2335219200 13 # 1 Jan 1974 | |||
90 | 2366755200 14 # 1 Jan 1975 | |||
91 | 2398291200 15 # 1 Jan 1976 | |||
92 | 2429913600 16 # 1 Jan 1977 | |||
93 | 2461449600 17 # 1 Jan 1978 | |||
94 | 2492985600 18 # 1 Jan 1979 | |||
95 | 2524521600 19 # 1 Jan 1980 | |||
96 | 2571782400 20 # 1 Jul 1981 | |||
97 | 2603318400 21 # 1 Jul 1982 | |||
98 | 2634854400 22 # 1 Jul 1983 | |||
99 | 2698012800 23 # 1 Jul 1985 | |||
100 | 2776982400 24 # 1 Jan 1988 | |||
101 | 2840140800 25 # 1 Jan 1990 | |||
102 | 2871676800 26 # 1 Jan 1991 | |||
103 | 2918937600 27 # 1 Jul 1992 | |||
104 | 2950473600 28 # 1 Jul 1993 | |||
105 | 2982009600 29 # 1 Jul 1994 | |||
106 | 3029443200 30 # 1 Jan 1996 | |||
107 | 3076704000 31 # 1 Jul 1997 | |||
108 | 3124137600 32 # 1 Jan 1999 | |||
109 | 3345062400 33 # 1 Jan 2006 | |||
110 | 3439756800 34 # 1 Jan 2009 | |||
111 | 3550089600 35 # 1 Jul 2012 | |||
112 | 3644697600 36 # 1 Jul 2015 | |||
113 | 3692217600 37 # 1 Jan 2017 | |||
114 | # | |||
115 | # A hash code has been generated to be able to verify the integrity | |||
116 | # of this file. For more information about using this hash code, | |||
117 | # please see the readme file in the 'source' directory : | |||
118 | # https://hpiers.obspm.fr/iers/bul/bulc/ntp/sources/README | |||
119 | # | |||
120 | #h 9dac5845 8acd32c0 2947d462 daf4a943 f58d9391 |
--- src/external/public-domain/tz/dist/leapseconds 2023/12/29 20:41:12 1.4.2.2
+++ src/external/public-domain/tz/dist/leapseconds 2024/02/06 12:22:42 1.4.2.3
@@ -1,25 +1,22 @@ | @@ -1,25 +1,22 @@ | |||
1 | # Allowance for leap seconds added to each time zone file. | 1 | # Allowance for leap seconds added to each time zone file. | |
2 | 2 | |||
3 | # This file is in the public domain. | 3 | # This file is in the public domain. | |
4 | 4 | |||
5 | # This file is generated automatically from the data in the public-domain | 5 | # This file is generated automatically from the data in the public-domain | |
6 | # NIST format leap-seconds.list file, which can be copied from | 6 | # NIST/IERS format leap-seconds.list file, which can be copied from | |
7 | # <ftp://ftp.nist.gov/pub/time/leap-seconds.list> | |||
8 | # or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>. | |||
9 | # The NIST file is used instead of its IERS upstream counterpart | |||
10 | # <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list> | 7 | # <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list> | |
11 | # because under US law the NIST file is public domain | 8 | # or, in a variant with different comments, from | |
12 | # whereas the IERS file's copyright and license status is unclear. | 9 | # <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>. | |
13 | # For more about leap-seconds.list, please see | 10 | # For more about leap-seconds.list, please see | |
14 | # The NTP Timescale and Leap Seconds | 11 | # The NTP Timescale and Leap Seconds | |
15 | # <https://www.eecis.udel.edu/~mills/leap.html>. | 12 | # <https://www.eecis.udel.edu/~mills/leap.html>. | |
16 | 13 | |||
17 | # The rules for leap seconds are specified in Annex 1 (Time scales) of: | 14 | # The rules for leap seconds are specified in Annex 1 (Time scales) of: | |
18 | # Standard-frequency and time-signal emissions. | 15 | # Standard-frequency and time-signal emissions. | |
19 | # International Telecommunication Union - Radiocommunication Sector | 16 | # International Telecommunication Union - Radiocommunication Sector | |
20 | # (ITU-R) Recommendation TF.460-6 (02/2002) | 17 | # (ITU-R) Recommendation TF.460-6 (02/2002) | |
21 | # <https://www.itu.int/rec/R-REC-TF.460-6-200202-I/>. | 18 | # <https://www.itu.int/rec/R-REC-TF.460-6-200202-I/>. | |
22 | # The International Earth Rotation and Reference Systems Service (IERS) | 19 | # The International Earth Rotation and Reference Systems Service (IERS) | |
23 | # periodically uses leap seconds to keep UTC to within 0.9 s of UT1 | 20 | # periodically uses leap seconds to keep UTC to within 0.9 s of UT1 | |
24 | # (a proxy for Earth's angle in space as measured by astronomers) | 21 | # (a proxy for Earth's angle in space as measured by astronomers) | |
25 | # and publishes leap second data in a copyrighted file | 22 | # and publishes leap second data in a copyrighted file | |
@@ -62,21 +59,21 @@ Leap 1994 Jun 30 23:59:60 + S | @@ -62,21 +59,21 @@ Leap 1994 Jun 30 23:59:60 + S | |||
62 | Leap 1995 Dec 31 23:59:60 + S | 59 | Leap 1995 Dec 31 23:59:60 + S | |
63 | Leap 1997 Jun 30 23:59:60 + S | 60 | Leap 1997 Jun 30 23:59:60 + S | |
64 | Leap 1998 Dec 31 23:59:60 + S | 61 | Leap 1998 Dec 31 23:59:60 + S | |
65 | Leap 2005 Dec 31 23:59:60 + S | 62 | Leap 2005 Dec 31 23:59:60 + S | |
66 | Leap 2008 Dec 31 23:59:60 + S | 63 | Leap 2008 Dec 31 23:59:60 + S | |
67 | Leap 2012 Jun 30 23:59:60 + S | 64 | Leap 2012 Jun 30 23:59:60 + S | |
68 | Leap 2015 Jun 30 23:59:60 + S | 65 | Leap 2015 Jun 30 23:59:60 + S | |
69 | Leap 2016 Dec 31 23:59:60 + S | 66 | Leap 2016 Dec 31 23:59:60 + S | |
70 | 67 | |||
71 | # UTC timestamp when this leap second list expires. | 68 | # UTC timestamp when this leap second list expires. | |
72 | # Any additional leap seconds will come after this. | 69 | # Any additional leap seconds will come after this. | |
73 | # This Expires line is commented out for now, | 70 | # This Expires line is commented out for now, | |
74 | # so that pre-2020a zic implementations do not reject this file. | 71 | # so that pre-2020a zic implementations do not reject this file. | |
75 | #Expires 2024 Jun 28 00:00:00 | 72 | #Expires 2024 Dec 28 00:00:00 | |
76 | 73 | |||
77 | # POSIX timestamps for the data in this file: | 74 | # POSIX timestamps for the data in this file: | |
78 | #updated 1467936000 (2016-07-08 00:00:00 UTC) | 75 | #updated 1704708379 (2024-01-08 10:06:19 UTC) | |
79 | #expires 1719532800 (2024-06-28 00:00:00 UTC) | 76 | #expires 1735344000 (2024-12-28 00:00:00 UTC) | |
80 | 77 | |||
81 | # Updated through IERS Bulletin C66 | 78 | # Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat) | |
82 | # File expires on: 28 June 2024 | 79 | # File expires on 28 December 2024 |
--- src/external/public-domain/tz/dist/leapseconds.awk 2023/04/25 15:58:37 1.1.1.12.6.1
+++ src/external/public-domain/tz/dist/leapseconds.awk 2024/02/06 12:22:42 1.1.1.12.6.2
@@ -1,43 +1,40 @@ | @@ -1,43 +1,40 @@ | |||
1 | # Generate zic format 'leapseconds' from NIST format 'leap-seconds.list'. | 1 | # Generate zic format 'leapseconds' from NIST/IERS format 'leap-seconds.list'. | |
2 | 2 | |||
3 | # This file is in the public domain. | 3 | # This file is in the public domain. | |
4 | 4 | |||
5 | # This program uses awk arithmetic. POSIX requires awk to support | 5 | # This program uses awk arithmetic. POSIX requires awk to support | |
6 | # exact integer arithmetic only through 10**10, which means for NTP | 6 | # exact integer arithmetic only through 10**10, which means for NTP | |
7 | # timestamps this program works only to the year 2216, which is the | 7 | # timestamps this program works only to the year 2216, which is the | |
8 | # year 1900 plus 10**10 seconds. However, in practice | 8 | # year 1900 plus 10**10 seconds. However, in practice | |
9 | # POSIX-conforming awk implementations invariably use IEEE-754 double | 9 | # POSIX-conforming awk implementations invariably use IEEE-754 double | |
10 | # and so support exact integers through 2**53. By the year 2216, | 10 | # and so support exact integers through 2**53. By the year 2216, | |
11 | # POSIX will almost surely require at least 2**53 for awk, so for NTP | 11 | # POSIX will almost surely require at least 2**53 for awk, so for NTP | |
12 | # timestamps this program should be good until the year 285,428,681 | 12 | # timestamps this program should be good until the year 285,428,681 | |
13 | # (the year 1900 plus 2**53 seconds). By then leap seconds will be | 13 | # (the year 1900 plus 2**53 seconds). By then leap seconds will be | |
14 | # long obsolete, as the Earth will likely slow down so much that | 14 | # long obsolete, as the Earth will likely slow down so much that | |
15 | # there will be more than 25 hours per day and so some other scheme | 15 | # there will be more than 25 hours per day and so some other scheme | |
16 | # will be needed. | 16 | # will be needed. | |
17 | 17 | |||
18 | BEGIN { | 18 | BEGIN { | |
19 | print "# Allowance for leap seconds added to each time zone file." | 19 | print "# Allowance for leap seconds added to each time zone file." | |
20 | print "" | 20 | print "" | |
21 | print "# This file is in the public domain." | 21 | print "# This file is in the public domain." | |
22 | print "" | 22 | print "" | |
23 | print "# This file is generated automatically from the data in the public-domain" | 23 | print "# This file is generated automatically from the data in the public-domain" | |
24 | print "# NIST format leap-seconds.list file, which can be copied from" | 24 | print "# NIST/IERS format leap-seconds.list file, which can be copied from" | |
25 | print "# <ftp://ftp.nist.gov/pub/time/leap-seconds.list>" | |||
26 | print "# or <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>." | |||
27 | print "# The NIST file is used instead of its IERS upstream counterpart" | |||
28 | print "# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>" | 25 | print "# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>" | |
29 | print "# because under US law the NIST file is public domain" | 26 | print "# or, in a variant with different comments, from" | |
30 | print "# whereas the IERS file's copyright and license status is unclear." | 27 | print "# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>." | |
31 | print "# For more about leap-seconds.list, please see" | 28 | print "# For more about leap-seconds.list, please see" | |
32 | print "# The NTP Timescale and Leap Seconds" | 29 | print "# The NTP Timescale and Leap Seconds" | |
33 | print "# <https://www.eecis.udel.edu/~mills/leap.html>." | 30 | print "# <https://www.eecis.udel.edu/~mills/leap.html>." | |
34 | print "" | 31 | print "" | |
35 | print "# The rules for leap seconds are specified in Annex 1 (Time scales) of:" | 32 | print "# The rules for leap seconds are specified in Annex 1 (Time scales) of:" | |
36 | print "# Standard-frequency and time-signal emissions." | 33 | print "# Standard-frequency and time-signal emissions." | |
37 | print "# International Telecommunication Union - Radiocommunication Sector" | 34 | print "# International Telecommunication Union - Radiocommunication Sector" | |
38 | print "# (ITU-R) Recommendation TF.460-6 (02/2002)" | 35 | print "# (ITU-R) Recommendation TF.460-6 (02/2002)" | |
39 | print "# <https://www.itu.int/rec/R-REC-TF.460-6-200202-I/>." | 36 | print "# <https://www.itu.int/rec/R-REC-TF.460-6-200202-I/>." | |
40 | print "# The International Earth Rotation and Reference Systems Service (IERS)" | 37 | print "# The International Earth Rotation and Reference Systems Service (IERS)" | |
41 | print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1" | 38 | print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1" | |
42 | print "# (a proxy for Earth's angle in space as measured by astronomers)" | 39 | print "# (a proxy for Earth's angle in space as measured by astronomers)" | |
43 | print "# and publishes leap second data in a copyrighted file" | 40 | print "# and publishes leap second data in a copyrighted file" |
--- src/external/public-domain/tz/dist/northamerica 2023/12/29 20:41:12 1.1.1.32.2.2
+++ src/external/public-domain/tz/dist/northamerica 2024/02/06 12:22:42 1.1.1.32.2.3
@@ -1258,26 +1258,30 @@ Zone America/Menominee -5:50:27 - LMT 18 | @@ -1258,26 +1258,30 @@ Zone America/Menominee -5:50:27 - LMT 18 | |||
1258 | # <https://www.jstor.org/stable/1774359>. | 1258 | # <https://www.jstor.org/stable/1774359>. | |
1259 | # | 1259 | # | |
1260 | # Pearce C. The Great Daylight Saving Time Controversy. | 1260 | # Pearce C. The Great Daylight Saving Time Controversy. | |
1261 | # Australian Ebook Publisher. 2017. ISBN 978-1-925516-96-8. | 1261 | # Australian Ebook Publisher. 2017. ISBN 978-1-925516-96-8. | |
1262 | # | 1262 | # | |
1263 | # Edward W. Whitman, World Time Differences, | 1263 | # Edward W. Whitman, World Time Differences, | |
1264 | # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), | 1264 | # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), | |
1265 | # which I found in the UCLA library. | 1265 | # which I found in the UCLA library. | |
1266 | # | 1266 | # | |
1267 | # William Willett, The Waste of Daylight, 19th edition | 1267 | # William Willett, The Waste of Daylight, 19th edition | |
1268 | # <http://cs.ucla.edu/~eggert/The-Waste-of-Daylight-19th.pdf> | 1268 | # <http://cs.ucla.edu/~eggert/The-Waste-of-Daylight-19th.pdf> | |
1269 | # [PDF] (1914-03) | 1269 | # [PDF] (1914-03) | |
1270 | # | 1270 | # | |
1271 | # For the 1911/1912 establishment of standard time in French possessions, see: | |||
1272 | # Société Française de Physique, Recueil de constantes physiques (1913), | |||
1273 | # page 752, 18b. | |||
1274 | # | |||
1271 | # See the 'europe' file for Greenland. | 1275 | # See the 'europe' file for Greenland. | |
1272 | 1276 | |||
1273 | # Canada | 1277 | # Canada | |
1274 | 1278 | |||
1275 | # From Alain LaBonté (1994-11-14): | 1279 | # From Alain LaBonté (1994-11-14): | |
1276 | # I post here the time zone abbreviations standardized in Canada | 1280 | # I post here the time zone abbreviations standardized in Canada | |
1277 | # for both English and French in the CAN/CSA-Z234.4-89 standard.... | 1281 | # for both English and French in the CAN/CSA-Z234.4-89 standard.... | |
1278 | # | 1282 | # | |
1279 | # UTC Standard time Daylight saving time | 1283 | # UTC Standard time Daylight saving time | |
1280 | # offset French English French English | 1284 | # offset French English French English | |
1281 | # -2:30 - - HAT NDT | 1285 | # -2:30 - - HAT NDT | |
1282 | # -3 - - HAA ADT | 1286 | # -3 - - HAA ADT | |
1283 | # -3:30 HNT NST - - | 1287 | # -3:30 HNT NST - - | |
@@ -1344,27 +1348,27 @@ Zone America/Menominee -5:50:27 - LMT 18 | @@ -1344,27 +1348,27 @@ Zone America/Menominee -5:50:27 - LMT 18 | |||
1344 | # does not seem to believe in bookmarks. To see the news release, click the | 1348 | # does not seem to believe in bookmarks. To see the news release, click the | |
1345 | # following link and search for "Daylight Savings Time Change". Press the | 1349 | # following link and search for "Daylight Savings Time Change". Press the | |
1346 | # "Daylight Savings Time Change" link; it will fire off a popup using | 1350 | # "Daylight Savings Time Change" link; it will fire off a popup using | |
1347 | # JavaScript. | 1351 | # JavaScript. | |
1348 | # http://www.exec.gov.nt.ca/currentnews/currentPR.asp?mode=archive | 1352 | # http://www.exec.gov.nt.ca/currentnews/currentPR.asp?mode=archive | |
1349 | # ... | 1353 | # ... | |
1350 | # Nunavut | 1354 | # Nunavut | |
1351 | # An amendment to the Interpretation Act was registered on February 19/2007.... | 1355 | # An amendment to the Interpretation Act was registered on February 19/2007.... | |
1352 | # http://action.attavik.ca/home/justice-gn/attach/2007/gaz02part2.pdf | 1356 | # http://action.attavik.ca/home/justice-gn/attach/2007/gaz02part2.pdf | |
1353 | 1357 | |||
1354 | # From Paul Eggert (2014-10-18): | 1358 | # From Paul Eggert (2014-10-18): | |
1355 | # H. David Matthews and Mary Vincent's map | 1359 | # H. David Matthews and Mary Vincent's map | |
1356 | # "It's about TIME", _Canadian Geographic_ (September-October 1998) | 1360 | # "It's about TIME", _Canadian Geographic_ (September-October 1998) | |
1357 | # http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp | 1361 | # https://web.archive.org/web/19990827055050/https://canadiangeographic.ca/SO98/geomap.htm | |
1358 | # contains detailed boundaries for regions observing nonstandard | 1362 | # contains detailed boundaries for regions observing nonstandard | |
1359 | # time and daylight saving time arrangements in Canada circa 1998. | 1363 | # time and daylight saving time arrangements in Canada circa 1998. | |
1360 | # | 1364 | # | |
1361 | # National Research Council Canada maintains info about time zones and DST. | 1365 | # National Research Council Canada maintains info about time zones and DST. | |
1362 | # https://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html | 1366 | # https://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html | |
1363 | # https://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 | 1367 | # https://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5 | |
1364 | # Its unofficial information is often taken from Matthews and Vincent. | 1368 | # Its unofficial information is often taken from Matthews and Vincent. | |
1365 | 1369 | |||
1366 | # From Paul Eggert (2006-06-27): | 1370 | # From Paul Eggert (2006-06-27): | |
1367 | # For now, assume all of DST-observing Canada will fall into line with the | 1371 | # For now, assume all of DST-observing Canada will fall into line with the | |
1368 | # new US DST rules, | 1372 | # new US DST rules, | |
1369 | 1373 | |||
1370 | # From Chris Walton (2011-12-01) | 1374 | # From Chris Walton (2011-12-01) | |
@@ -1636,26 +1640,35 @@ Zone America/Blanc-Sablon -3:48:28 - LMT | @@ -1636,26 +1640,35 @@ Zone America/Blanc-Sablon -3:48:28 - LMT | |||
1636 | # time at 2 am Sunday morning (which agrees with the database), and that: | 1640 | # time at 2 am Sunday morning (which agrees with the database), and that: | |
1637 | # | 1641 | # | |
1638 | # The one-hour setback will go into effect throughout most of Ontario, | 1642 | # The one-hour setback will go into effect throughout most of Ontario, | |
1639 | # except in areas like Windsor which remains on standard time all year. | 1643 | # except in areas like Windsor which remains on standard time all year. | |
1640 | # | 1644 | # | |
1641 | # ... I don't know if Windsor began observing DST when Detroit did, | 1645 | # ... I don't know if Windsor began observing DST when Detroit did, | |
1642 | # or in 1974, or on some other date. | 1646 | # or in 1974, or on some other date. | |
1643 | # | 1647 | # | |
1644 | # By the way, the article continues by noting that: | 1648 | # By the way, the article continues by noting that: | |
1645 | # | 1649 | # | |
1646 | # Some cities in the United States have pushed the deadline back | 1650 | # Some cities in the United States have pushed the deadline back | |
1647 | # three weeks and will change over from daylight saving in October. | 1651 | # three weeks and will change over from daylight saving in October. | |
1648 | 1652 | |||
1653 | # From Chris Walton (2024-01-09): | |||
1654 | # The [Toronto] changes in 1947, 1948, and 1949 took place at 2:00 a.m. local | |||
1655 | # time instead of midnight.... Toronto Daily Star - ... | |||
1656 | # April 2, 1947 - Page 39 ... April 7, 1948 - Page 13 ... | |||
1657 | # April 2, 1949 - Page 1 ... April 7, 1949 - Page 24 ... | |||
1658 | # November 25, 1949 - Page 52 ... April 21, 1950 - Page 14 ... | |||
1659 | # September 19, 1950 - Page 46 ... September 20, 1950 - Page 3 ... | |||
1660 | # November 24, 1950 - Page 21 | |||
1661 | ||||
1649 | # From Arthur David Olson (2010-07-17): | 1662 | # From Arthur David Olson (2010-07-17): | |
1650 | # | 1663 | # | |
1651 | # "Standard Time and Time Zones in Canada" appeared in | 1664 | # "Standard Time and Time Zones in Canada" appeared in | |
1652 | # The Journal of The Royal Astronomical Society of Canada, | 1665 | # The Journal of The Royal Astronomical Society of Canada, | |
1653 | # volume 26, number 2 (February 1932) and, as of 2010-07-17, | 1666 | # volume 26, number 2 (February 1932) and, as of 2010-07-17, | |
1654 | # was available at | 1667 | # was available at | |
1655 | # http://adsabs.harvard.edu/full/1932JRASC..26...49S | 1668 | # http://adsabs.harvard.edu/full/1932JRASC..26...49S | |
1656 | # | 1669 | # | |
1657 | # It includes the text below (starting on page 57): | 1670 | # It includes the text below (starting on page 57): | |
1658 | # | 1671 | # | |
1659 | # A list of the places in Canada using daylight saving time would | 1672 | # A list of the places in Canada using daylight saving time would | |
1660 | # require yearly revision. From information kindly furnished by | 1673 | # require yearly revision. From information kindly furnished by | |
1661 | # the provincial governments and by the postmasters in many cities | 1674 | # the provincial governments and by the postmasters in many cities | |
@@ -1697,33 +1710,29 @@ Rule Toronto 1919 only - Oct 26 0:00 0 S | @@ -1697,33 +1710,29 @@ Rule Toronto 1919 only - Oct 26 0:00 0 S | |||
1697 | Rule Toronto 1920 only - May 2 2:00 1:00 D | 1710 | Rule Toronto 1920 only - May 2 2:00 1:00 D | |
1698 | Rule Toronto 1920 only - Sep 26 0:00 0 S | 1711 | Rule Toronto 1920 only - Sep 26 0:00 0 S | |
1699 | Rule Toronto 1921 only - May 15 2:00 1:00 D | 1712 | Rule Toronto 1921 only - May 15 2:00 1:00 D | |
1700 | Rule Toronto 1921 only - Sep 15 2:00 0 S | 1713 | Rule Toronto 1921 only - Sep 15 2:00 0 S | |
1701 | Rule Toronto 1922 1923 - May Sun>=8 2:00 1:00 D | 1714 | Rule Toronto 1922 1923 - May Sun>=8 2:00 1:00 D | |
1702 | # Shanks & Pottenger say 1923-09-19; assume it's a typo and that "-16" | 1715 | # Shanks & Pottenger say 1923-09-19; assume it's a typo and that "-16" | |
1703 | # was meant. | 1716 | # was meant. | |
1704 | Rule Toronto 1922 1926 - Sep Sun>=15 2:00 0 S | 1717 | Rule Toronto 1922 1926 - Sep Sun>=15 2:00 0 S | |
1705 | Rule Toronto 1924 1927 - May Sun>=1 2:00 1:00 D | 1718 | Rule Toronto 1924 1927 - May Sun>=1 2:00 1:00 D | |
1706 | Rule Toronto 1927 1937 - Sep Sun>=25 2:00 0 S | 1719 | Rule Toronto 1927 1937 - Sep Sun>=25 2:00 0 S | |
1707 | Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D | 1720 | Rule Toronto 1928 1937 - Apr Sun>=25 2:00 1:00 D | |
1708 | Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D | 1721 | Rule Toronto 1938 1940 - Apr lastSun 2:00 1:00 D | |
1709 | Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S | 1722 | Rule Toronto 1938 1939 - Sep lastSun 2:00 0 S | |
1710 | Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S | 1723 | Rule Toronto 1945 1948 - Sep lastSun 2:00 0 S | |
1711 | Rule Toronto 1946 only - Apr lastSun 2:00 1:00 D | 1724 | Rule Toronto 1946 1973 - Apr lastSun 2:00 1:00 D | |
1712 | Rule Toronto 1947 1949 - Apr lastSun 0:00 1:00 D | 1725 | Rule Toronto 1949 1950 - Nov lastSun 2:00 0 S | |
1713 | Rule Toronto 1947 1948 - Sep lastSun 0:00 0 S | |||
1714 | Rule Toronto 1949 only - Nov lastSun 0:00 0 S | |||
1715 | Rule Toronto 1950 1973 - Apr lastSun 2:00 1:00 D | |||
1716 | Rule Toronto 1950 only - Nov lastSun 2:00 0 S | |||
1717 | Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S | 1726 | Rule Toronto 1951 1956 - Sep lastSun 2:00 0 S | |
1718 | # Shanks & Pottenger say Toronto ended DST a week early in 1971, | 1727 | # Shanks & Pottenger say Toronto ended DST a week early in 1971, | |
1719 | # namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this | 1728 | # namely on 1971-10-24, but Mark Brader wrote (2003-05-31) that this | |
1720 | # is wrong, and that he had confirmed it by checking the 1971-10-30 | 1729 | # is wrong, and that he had confirmed it by checking the 1971-10-30 | |
1721 | # Toronto Star, which said that DST was ending 1971-10-31 as usual. | 1730 | # Toronto Star, which said that DST was ending 1971-10-31 as usual. | |
1722 | Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S | 1731 | Rule Toronto 1957 1973 - Oct lastSun 2:00 0 S | |
1723 | 1732 | |||
1724 | 1733 | |||
1725 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 1734 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
1726 | Zone America/Toronto -5:17:32 - LMT 1895 | 1735 | Zone America/Toronto -5:17:32 - LMT 1895 | |
1727 | -5:00 Canada E%sT 1919 | 1736 | -5:00 Canada E%sT 1919 | |
1728 | -5:00 Toronto E%sT 1942 Feb 9 2:00s | 1737 | -5:00 Toronto E%sT 1942 Feb 9 2:00s | |
1729 | -5:00 Canada E%sT 1946 | 1738 | -5:00 Canada E%sT 1946 | |
@@ -3491,27 +3500,27 @@ Zone America/Tegucigalpa -5:48:52 - LMT | @@ -3491,27 +3500,27 @@ Zone America/Tegucigalpa -5:48:52 - LMT | |||
3491 | # http://www.jamaicaobserver.com/columns/The-politician-in-all-of-us_17573647 | 3500 | # http://www.jamaicaobserver.com/columns/The-politician-in-all-of-us_17573647 | |
3492 | # | 3501 | # | |
3493 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3502 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3494 | #STDOFF -5:07:10.41 | 3503 | #STDOFF -5:07:10.41 | |
3495 | Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston | 3504 | Zone America/Jamaica -5:07:10 - LMT 1890 # Kingston | |
3496 | -5:07:10 - KMT 1912 Feb # Kingston Mean Time | 3505 | -5:07:10 - KMT 1912 Feb # Kingston Mean Time | |
3497 | -5:00 - EST 1974 | 3506 | -5:00 - EST 1974 | |
3498 | -5:00 US E%sT 1984 | 3507 | -5:00 US E%sT 1984 | |
3499 | -5:00 - EST | 3508 | -5:00 - EST | |
3500 | 3509 | |||
3501 | # Martinique | 3510 | # Martinique | |
3502 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3511 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3503 | Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France | 3512 | Zone America/Martinique -4:04:20 - LMT 1890 # Fort-de-France | |
3504 | -4:04:20 - FFMT 1911 May # Fort-de-France MT | 3513 | -4:04:20 - FFMT 1911 May 1 # Fort-de-France MT | |
3505 | -4:00 - AST 1980 Apr 6 | 3514 | -4:00 - AST 1980 Apr 6 | |
3506 | -4:00 1:00 ADT 1980 Sep 28 | 3515 | -4:00 1:00 ADT 1980 Sep 28 | |
3507 | -4:00 - AST | 3516 | -4:00 - AST | |
3508 | 3517 | |||
3509 | # Montserrat | 3518 | # Montserrat | |
3510 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3519 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3511 | Zone America/Montserrat -4:08:52 - LMT 1911 Jul 1 0:01 # Cork Hill | 3520 | Zone America/Montserrat -4:08:52 - LMT 1911 Jul 1 0:01 # Cork Hill | |
3512 | -4:00 - AST | 3521 | -4:00 - AST | |
3513 | 3522 | |||
3514 | # Nicaragua | 3523 | # Nicaragua | |
3515 | # | 3524 | # | |
3516 | # This uses Shanks & Pottenger for times before 2005. | 3525 | # This uses Shanks & Pottenger for times before 2005. | |
3517 | # | 3526 | # | |
@@ -3594,27 +3603,27 @@ Zone America/Puerto_Rico -4:24:25 - LMT | @@ -3594,27 +3603,27 @@ Zone America/Puerto_Rico -4:24:25 - LMT | |||
3594 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3603 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3595 | Zone America/St_Kitts -4:10:52 - LMT 1912 Mar 2 # Basseterre | 3604 | Zone America/St_Kitts -4:10:52 - LMT 1912 Mar 2 # Basseterre | |
3596 | -4:00 - AST | 3605 | -4:00 - AST | |
3597 | 3606 | |||
3598 | # St Lucia | 3607 | # St Lucia | |
3599 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3608 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3600 | Zone America/St_Lucia -4:04:00 - LMT 1890 # Castries | 3609 | Zone America/St_Lucia -4:04:00 - LMT 1890 # Castries | |
3601 | -4:04:00 - CMT 1912 # Castries Mean Time | 3610 | -4:04:00 - CMT 1912 # Castries Mean Time | |
3602 | -4:00 - AST | 3611 | -4:00 - AST | |
3603 | 3612 | |||
3604 | # St Pierre and Miquelon | 3613 | # St Pierre and Miquelon | |
3605 | # There are too many St Pierres elsewhere, so we'll use 'Miquelon'. | 3614 | # There are too many St Pierres elsewhere, so we'll use 'Miquelon'. | |
3606 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3615 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3607 | Zone America/Miquelon -3:44:40 - LMT 1911 May 15 # St Pierre | 3616 | Zone America/Miquelon -3:44:40 - LMT 1911 Jun 15 # St Pierre | |
3608 | -4:00 - AST 1980 May | 3617 | -4:00 - AST 1980 May | |
3609 | -3:00 - -03 1987 | 3618 | -3:00 - -03 1987 | |
3610 | -3:00 Canada -03/-02 | 3619 | -3:00 Canada -03/-02 | |
3611 | 3620 | |||
3612 | # St Vincent & the Grenadines | 3621 | # St Vincent & the Grenadines | |
3613 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 3622 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
3614 | Zone America/St_Vincent -4:04:56 - LMT 1890 # Kingstown | 3623 | Zone America/St_Vincent -4:04:56 - LMT 1890 # Kingstown | |
3615 | -4:04:56 - KMT 1912 # Kingstown Mean Time | 3624 | -4:04:56 - KMT 1912 # Kingstown Mean Time | |
3616 | -4:00 - AST | 3625 | -4:00 - AST | |
3617 | 3626 | |||
3618 | # Sint Maarten | 3627 | # Sint Maarten | |
3619 | # See America/Lower_Princes in southamerica. | 3628 | # See America/Lower_Princes in southamerica. | |
3620 | 3629 |
--- src/external/public-domain/tz/dist/southamerica 2023/12/29 20:41:12 1.1.1.22.2.2
+++ src/external/public-domain/tz/dist/southamerica 2024/02/06 12:22:42 1.1.1.22.2.3
@@ -1573,28 +1573,31 @@ Rule Falk 1984 only - Sep 16 0:00 1:00 - | @@ -1573,28 +1573,31 @@ Rule Falk 1984 only - Sep 16 0:00 1:00 - | |||
1573 | Rule Falk 1985 2000 - Sep Sun>=9 0:00 1:00 - | 1573 | Rule Falk 1985 2000 - Sep Sun>=9 0:00 1:00 - | |
1574 | Rule Falk 1986 2000 - Apr Sun>=16 0:00 0 - | 1574 | Rule Falk 1986 2000 - Apr Sun>=16 0:00 0 - | |
1575 | Rule Falk 2001 2010 - Apr Sun>=15 2:00 0 - | 1575 | Rule Falk 2001 2010 - Apr Sun>=15 2:00 0 - | |
1576 | Rule Falk 2001 2010 - Sep Sun>=1 2:00 1:00 - | 1576 | Rule Falk 2001 2010 - Sep Sun>=1 2:00 1:00 - | |
1577 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 1577 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
1578 | Zone Atlantic/Stanley -3:51:24 - LMT 1890 | 1578 | Zone Atlantic/Stanley -3:51:24 - LMT 1890 | |
1579 | -3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time | 1579 | -3:51:24 - SMT 1912 Mar 12 # Stanley Mean Time | |
1580 | -4:00 Falk -04/-03 1983 May | 1580 | -4:00 Falk -04/-03 1983 May | |
1581 | -3:00 Falk -03/-02 1985 Sep 15 | 1581 | -3:00 Falk -03/-02 1985 Sep 15 | |
1582 | -4:00 Falk -04/-03 2010 Sep 5 2:00 | 1582 | -4:00 Falk -04/-03 2010 Sep 5 2:00 | |
1583 | -3:00 - -03 | 1583 | -3:00 - -03 | |
1584 | 1584 | |||
1585 | # French Guiana | 1585 | # French Guiana | |
1586 | # For the 1911/1912 establishment of standard time in French possessions, see: | |||
1587 | # Société Française de Physique, Recueil de constantes physiques (1913), | |||
1588 | # page 752, 18b. | |||
1586 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | 1589 | # Zone NAME STDOFF RULES FORMAT [UNTIL] | |
1587 | Zone America/Cayenne -3:29:20 - LMT 1911 Jul | 1590 | Zone America/Cayenne -3:29:20 - LMT 1911 Jul 1 | |
1588 | -4:00 - -04 1967 Oct | 1591 | -4:00 - -04 1967 Oct | |
1589 | -3:00 - -03 | 1592 | -3:00 - -03 | |
1590 | 1593 | |||
1591 | # Guyana | 1594 | # Guyana | |
1592 | 1595 | |||
1593 | # From P Chan (2020-11-27): | 1596 | # From P Chan (2020-11-27): | |
1594 | # https://books.google.com/books?id=5-5CAQAAMAAJ&pg=SA1-PA547 | 1597 | # https://books.google.com/books?id=5-5CAQAAMAAJ&pg=SA1-PA547 | |
1595 | # The Official Gazette of British Guiana. (New Series.) Vol. XL. July to | 1598 | # The Official Gazette of British Guiana. (New Series.) Vol. XL. July to | |
1596 | # December, 1915, p 1547, lists as several notes: | 1599 | # December, 1915, p 1547, lists as several notes: | |
1597 | # "Local Mean Time 3 hours 52 mins. 39 secs. slow of Greenwich Mean Time | 1600 | # "Local Mean Time 3 hours 52 mins. 39 secs. slow of Greenwich Mean Time | |
1598 | # (Georgetown.) From 1st August, 1911, British Guiana Standard Mean Time 4 | 1601 | # (Georgetown.) From 1st August, 1911, British Guiana Standard Mean Time 4 | |
1599 | # hours slow of Greenwich Mean Time, by notice in Official Gazette on 1st July, | 1602 | # hours slow of Greenwich Mean Time, by notice in Official Gazette on 1st July, | |
1600 | # 1911. From 1st March, 1915, British Guiana Standard Mean Time 3 hours 45 | 1603 | # 1911. From 1st March, 1915, British Guiana Standard Mean Time 3 hours 45 |
--- src/external/public-domain/tz/dist/theory.html 2023/04/25 15:58:37 1.1.1.17.2.1
+++ src/external/public-domain/tz/dist/theory.html 2024/02/06 12:22:42 1.1.1.17.2.2
@@ -85,27 +85,27 @@ necessarily follow database guidelines. | @@ -85,27 +85,27 @@ necessarily follow database guidelines. | |||
85 | <p> | 85 | <p> | |
86 | As described below, reference source code for using the | 86 | As described below, reference source code for using the | |
87 | <code><abbr>tz</abbr></code> database is also available. | 87 | <code><abbr>tz</abbr></code> database is also available. | |
88 | The <code><abbr>tz</abbr></code> code is upwards compatible with <a | 88 | The <code><abbr>tz</abbr></code> code is upwards compatible with <a | |
89 | href="https://en.wikipedia.org/wiki/POSIX">POSIX</a>, an international | 89 | href="https://en.wikipedia.org/wiki/POSIX">POSIX</a>, an international | |
90 | standard for <a | 90 | standard for <a | |
91 | href="https://en.wikipedia.org/wiki/Unix">UNIX</a>-like systems. | 91 | href="https://en.wikipedia.org/wiki/Unix">UNIX</a>-like systems. | |
92 | As of this writing, the current edition of POSIX is: <a | 92 | As of this writing, the current edition of POSIX is: <a | |
93 | href="https://pubs.opengroup.org/onlinepubs/9699919799/"> The Open | 93 | href="https://pubs.opengroup.org/onlinepubs/9699919799/"> The Open | |
94 | Group Base Specifications Issue 7</a>, IEEE Std 1003.1-2017, 2018 | 94 | Group Base Specifications Issue 7</a>, IEEE Std 1003.1-2017, 2018 | |
95 | Edition. | 95 | Edition. | |
96 | Because the database's scope encompasses real-world changes to civil | 96 | Because the database's scope encompasses real-world changes to civil | |
97 | timekeeping, its model for describing time is more complex than the | 97 | timekeeping, its model for describing time is more complex than the | |
98 | standard and daylight saving times supported by POSIX. | 98 | standard and daylight saving times supported by POSIX.1-2017. | |
99 | A <code><abbr>tz</abbr></code> timezone corresponds to a ruleset that can | 99 | A <code><abbr>tz</abbr></code> timezone corresponds to a ruleset that can | |
100 | have more than two changes per year, these changes need not merely | 100 | have more than two changes per year, these changes need not merely | |
101 | flip back and forth between two alternatives, and the rules themselves | 101 | flip back and forth between two alternatives, and the rules themselves | |
102 | can change at times. | 102 | can change at times. | |
103 | Whether and when a timezone changes its clock, | 103 | Whether and when a timezone changes its clock, | |
104 | and even the timezone's notional base offset from <abbr>UTC</abbr>, | 104 | and even the timezone's notional base offset from <abbr>UTC</abbr>, | |
105 | are variable. | 105 | are variable. | |
106 | It does not always make sense to talk about a timezone's | 106 | It does not always make sense to talk about a timezone's | |
107 | "base offset", which is not necessarily a single number. | 107 | "base offset", which is not necessarily a single number. | |
108 | </p> | 108 | </p> | |
109 | 109 | |||
110 | </section> | 110 | </section> | |
111 | 111 | |||
@@ -177,27 +177,27 @@ choosing timezone names, | @@ -177,27 +177,27 @@ choosing timezone names, | |||
177 | in decreasing order of importance: | 177 | in decreasing order of importance: | |
178 | </p> | 178 | </p> | |
179 | 179 | |||
180 | <ul> | 180 | <ul> | |
181 | <li> | 181 | <li> | |
182 | Use only valid POSIX file name components (i.e., the parts of | 182 | Use only valid POSIX file name components (i.e., the parts of | |
183 | names other than '<code>/</code>'). | 183 | names other than '<code>/</code>'). | |
184 | Do not use the file name components '<code>.</code>' and | 184 | Do not use the file name components '<code>.</code>' and | |
185 | '<code>..</code>'. | 185 | '<code>..</code>'. | |
186 | Within a file name component, use only <a | 186 | Within a file name component, use only <a | |
187 | href="https://en.wikipedia.org/wiki/ASCII">ASCII</a> letters, | 187 | href="https://en.wikipedia.org/wiki/ASCII">ASCII</a> letters, | |
188 | '<code>.</code>', '<code>-</code>' and '<code>_</code>'. | 188 | '<code>.</code>', '<code>-</code>' and '<code>_</code>'. | |
189 | Do not use digits, as that might create an ambiguity with <a | 189 | Do not use digits, as that might create an ambiguity with <a | |
190 | href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">POSIX | 190 | href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">POSIX.1-2017 | |
191 | <code>TZ</code> strings</a>. | 191 | <code>TZ</code> strings</a>. | |
192 | A file name component must not exceed 14 characters or start with | 192 | A file name component must not exceed 14 characters or start with | |
193 | '<code>-</code>'. | 193 | '<code>-</code>'. | |
194 | E.g., prefer <code>America/Noronha</code> to | 194 | E.g., prefer <code>America/Noronha</code> to | |
195 | <code>America/Fernando_de_Noronha</code>. | 195 | <code>America/Fernando_de_Noronha</code>. | |
196 | Exceptions: see the discussion of legacy names below. | 196 | Exceptions: see the discussion of legacy names below. | |
197 | </li> | 197 | </li> | |
198 | <li> | 198 | <li> | |
199 | A name must not be empty, or contain '<code>//</code>', or | 199 | A name must not be empty, or contain '<code>//</code>', or | |
200 | start or end with '<code>/</code>'. | 200 | start or end with '<code>/</code>'. | |
201 | </li> | 201 | </li> | |
202 | <li> | 202 | <li> | |
203 | Do not use names that differ only in case. | 203 | Do not use names that differ only in case. | |
@@ -352,38 +352,43 @@ The file zone1970.tab lists | @@ -352,38 +352,43 @@ The file zone1970.tab lists | |||
352 | to name timezones. | 352 | to name timezones. | |
353 | It is intended to be an exhaustive list of names for geographic | 353 | It is intended to be an exhaustive list of names for geographic | |
354 | regions as described above; this is a subset of the timezones in the data. | 354 | regions as described above; this is a subset of the timezones in the data. | |
355 | Although a <code>zone1970.tab</code> location's | 355 | Although a <code>zone1970.tab</code> location's | |
356 | <a href="https://en.wikipedia.org/wiki/Longitude">longitude</a> | 356 | <a href="https://en.wikipedia.org/wiki/Longitude">longitude</a> | |
357 | corresponds to | 357 | corresponds to | |
358 | its <a href="https://en.wikipedia.org/wiki/Local_mean_time">local mean | 358 | its <a href="https://en.wikipedia.org/wiki/Local_mean_time">local mean | |
359 | time (<abbr>LMT</abbr>)</a> offset with one hour for every 15° | 359 | time (<abbr>LMT</abbr>)</a> offset with one hour for every 15° | |
360 | east longitude, this relationship is not exact. | 360 | east longitude, this relationship is not exact. | |
361 | The backward-compatibility file <code>zone.tab</code> is similar | 361 | The backward-compatibility file <code>zone.tab</code> is similar | |
362 | but conforms to the older-version guidelines related to <abbr>ISO</abbr> 3166-1; | 362 | but conforms to the older-version guidelines related to <abbr>ISO</abbr> 3166-1; | |
363 | it lists only one country code per entry and unlike <code>zone1970.tab</code> | 363 | it lists only one country code per entry and unlike <code>zone1970.tab</code> | |
364 | it can list names defined in <code>backward</code>. | 364 | it can list names defined in <code>backward</code>. | |
365 | Applications that process only timestamps from now on can instead use the file | |||
366 | <code>zonenow.tab</code>, which partitions the world more coarsely, | |||
367 | into regions where clocks agree now and in the predicted future; | |||
368 | this file is smaller and simpler than <code>zone1970.tab</code> | |||
369 | and <code>zone.tab</code>. | |||
365 | </p> | 370 | </p> | |
366 | 371 | |||
367 | <p> | 372 | <p> | |
368 | The database defines each timezone name to be a zone, or a link to a zone. | 373 | The database defines each timezone name to be a zone, or a link to a zone. | |
369 | The source file <code>backward</code> defines links for backward | 374 | The source file <code>backward</code> defines links for backward | |
370 | compatibility; it does not define zones. | 375 | compatibility; it does not define zones. | |
371 | Although <code>backward</code> was originally designed to be optional, | 376 | Although <code>backward</code> was originally designed to be optional, | |
372 | nowadays distributions typically use it | 377 | nowadays distributions typically use it | |
373 | and no great weight should be attached to whether a link | 378 | and no great weight should be attached to whether a link | |
374 | is defined in <code>backward</code> or in some other file. | 379 | is defined in <code>backward</code> or in some other file. | |
375 | The source file <code>etcetera</code> defines names that may be useful | 380 | The source file <code>etcetera</code> defines names that may be useful | |
376 | on platforms that do not support POSIX-style <code>TZ</code> strings; | 381 | on platforms that do not support POSIX.1-2017-style <code>TZ</code> strings; | |
377 | no other source file other than <code>backward</code> | 382 | no other source file other than <code>backward</code> | |
378 | contains links to its zones. | 383 | contains links to its zones. | |
379 | One of <code>etcetera</code>'s names is <code>Etc/UTC</code>, | 384 | One of <code>etcetera</code>'s names is <code>Etc/UTC</code>, | |
380 | used by functions like <code>gmtime</code> to obtain leap | 385 | used by functions like <code>gmtime</code> to obtain leap | |
381 | second information on platforms that support leap seconds. | 386 | second information on platforms that support leap seconds. | |
382 | Another <code>etcetera</code> name, <code>GMT</code>, | 387 | Another <code>etcetera</code> name, <code>GMT</code>, | |
383 | is used by older code releases. | 388 | is used by older code releases. | |
384 | </p> | 389 | </p> | |
385 | </section> | 390 | </section> | |
386 | 391 | |||
387 | <section> | 392 | <section> | |
388 | <h2 id="abbreviations">Time zone abbreviations</h2> | 393 | <h2 id="abbreviations">Time zone abbreviations</h2> | |
389 | <p> | 394 | <p> | |
@@ -411,27 +416,27 @@ in decreasing order of importance: | @@ -411,27 +416,27 @@ in decreasing order of importance: | |||
411 | Standard Time</a> preferred "ChST", so lower-case letters are now | 416 | Standard Time</a> preferred "ChST", so lower-case letters are now | |
412 | allowed. | 417 | allowed. | |
413 | Also, POSIX from 2001 on relaxed the rule to allow '<code>-</code>', | 418 | Also, POSIX from 2001 on relaxed the rule to allow '<code>-</code>', | |
414 | '<code>+</code>', and alphanumeric characters from the portable | 419 | '<code>+</code>', and alphanumeric characters from the portable | |
415 | character set in the current locale. | 420 | character set in the current locale. | |
416 | In practice ASCII alphanumerics and '<code>+</code>' and | 421 | In practice ASCII alphanumerics and '<code>+</code>' and | |
417 | '<code>-</code>' are safe in all locales. | 422 | '<code>-</code>' are safe in all locales. | |
418 | 423 | |||
419 | <p> | 424 | <p> | |
420 | In other words, in the C locale the POSIX extended regular | 425 | In other words, in the C locale the POSIX extended regular | |
421 | expression <code>[-+[:alnum:]]{3,6}</code> should match the | 426 | expression <code>[-+[:alnum:]]{3,6}</code> should match the | |
422 | abbreviation. | 427 | abbreviation. | |
423 | This guarantees that all abbreviations could have been specified by a | 428 | This guarantees that all abbreviations could have been specified by a | |
424 | POSIX <code>TZ</code> string. | 429 | POSIX.1-2017 <code>TZ</code> string. | |
425 | </p> | 430 | </p> | |
426 | </li> | 431 | </li> | |
427 | <li> | 432 | <li> | |
428 | Use abbreviations that are in common use among English-speakers, | 433 | Use abbreviations that are in common use among English-speakers, | |
429 | e.g., 'EST' for Eastern Standard Time in North America. | 434 | e.g., 'EST' for Eastern Standard Time in North America. | |
430 | We assume that applications translate them to other languages | 435 | We assume that applications translate them to other languages | |
431 | as part of the normal localization process; for example, | 436 | as part of the normal localization process; for example, | |
432 | a French application might translate 'EST' to 'HNE'. | 437 | a French application might translate 'EST' to 'HNE'. | |
433 | 438 | |||
434 | <p> | 439 | <p> | |
435 | <small>These abbreviations (for standard/daylight/etc. time) are: | 440 | <small>These abbreviations (for standard/daylight/etc. time) are: | |
436 | ACST/ACDT Australian Central, | 441 | ACST/ACDT Australian Central, | |
437 | AST/ADT/APT/AWT/ADDT Atlantic, | 442 | AST/ADT/APT/AWT/ADDT Atlantic, | |
@@ -755,32 +760,32 @@ href="https://www.dissentmagazine.org/bl | @@ -755,32 +760,32 @@ href="https://www.dissentmagazine.org/bl | |||
755 | numbered 00 through 23, except when clock transitions occur. | 760 | numbered 00 through 23, except when clock transitions occur. | |
756 | Pre-standard time is modeled as local mean time. | 761 | Pre-standard time is modeled as local mean time. | |
757 | However, historically many people used other calendars and other timescales. | 762 | However, historically many people used other calendars and other timescales. | |
758 | For example, the Roman Empire used | 763 | For example, the Roman Empire used | |
759 | the <a href="https://en.wikipedia.org/wiki/Julian_calendar">Julian | 764 | the <a href="https://en.wikipedia.org/wiki/Julian_calendar">Julian | |
760 | calendar</a>, | 765 | calendar</a>, | |
761 | and <a href="https://en.wikipedia.org/wiki/Roman_timekeeping">Roman | 766 | and <a href="https://en.wikipedia.org/wiki/Roman_timekeeping">Roman | |
762 | timekeeping</a> had twelve varying-length daytime hours with a | 767 | timekeeping</a> had twelve varying-length daytime hours with a | |
763 | non-hour-based system at night. | 768 | non-hour-based system at night. | |
764 | And even today, some local practices diverge from the Gregorian | 769 | And even today, some local practices diverge from the Gregorian | |
765 | calendar with 24-hour days. These divergences range from | 770 | calendar with 24-hour days. These divergences range from | |
766 | relatively minor, such as Japanese bars giving times like "24:30" for the | 771 | relatively minor, such as Japanese bars giving times like "24:30" for the | |
767 | wee hours of the morning, to more-significant differences such as <a | 772 | wee hours of the morning, to more-significant differences such as <a | |
768 | href="https://www.pri.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time">the | 773 | href="https://theworld.org/stories/2015-01-30/if-you-have-meeting-ethiopia-you-better-double-check-time">the | |
769 | east African practice of starting the day at dawn</a>, renumbering | 774 | east African practice of starting the day at dawn</a>, renumbering | |
770 | the Western 06:00 to be 12:00. These practices are largely outside | 775 | the Western 06:00 to be 12:00. These practices are largely outside | |
771 | the scope of the <code><abbr>tz</abbr></code> code and data, which | 776 | the scope of the <code><abbr>tz</abbr></code> code and data, which | |
772 | provide only limited support for date and time localization | 777 | provide only limited support for date and time localization | |
773 | such as that required by POSIX. | 778 | such as that required by POSIX.1-2017. | |
774 | If <abbr>DST</abbr> is not used a different time zone | 779 | If <abbr>DST</abbr> is not used a different time zone | |
775 | can often do the trick; for example, in Kenya a <code>TZ</code> setting | 780 | can often do the trick; for example, in Kenya a <code>TZ</code> setting | |
776 | like <code><-03>3</code> or <code>America/Cayenne</code> starts | 781 | like <code><-03>3</code> or <code>America/Cayenne</code> starts | |
777 | the day six hours later than <code>Africa/Nairobi</code> does. | 782 | the day six hours later than <code>Africa/Nairobi</code> does. | |
778 | </li> | 783 | </li> | |
779 | <li> | 784 | <li> | |
780 | Early clocks were less reliable, and data entries do not represent | 785 | Early clocks were less reliable, and data entries do not represent | |
781 | clock error. | 786 | clock error. | |
782 | </li> | 787 | </li> | |
783 | <li> | 788 | <li> | |
784 | The <code><abbr>tz</abbr></code> database assumes Universal Time | 789 | The <code><abbr>tz</abbr></code> database assumes Universal Time | |
785 | (<abbr>UT</abbr>) as an origin, even though <abbr>UT</abbr> is not | 790 | (<abbr>UT</abbr>) as an origin, even though <abbr>UT</abbr> is not | |
786 | standardized for older timestamps. | 791 | standardized for older timestamps. | |
@@ -857,43 +862,43 @@ different dates. | @@ -857,43 +862,43 @@ different dates. | |||
857 | <p> | 862 | <p> | |
858 | The <code><abbr>tz</abbr></code> code contains time and date functions | 863 | The <code><abbr>tz</abbr></code> code contains time and date functions | |
859 | that are upwards compatible with those of POSIX. | 864 | that are upwards compatible with those of POSIX. | |
860 | Code compatible with this package is already | 865 | Code compatible with this package is already | |
861 | <a href="tz-link.html#tzdb">part of many platforms</a>, where the | 866 | <a href="tz-link.html#tzdb">part of many platforms</a>, where the | |
862 | primary use of this package is to update obsolete time-related files. | 867 | primary use of this package is to update obsolete time-related files. | |
863 | To do this, you may need to compile the time zone compiler | 868 | To do this, you may need to compile the time zone compiler | |
864 | '<code>zic</code>' supplied with this package instead of using the | 869 | '<code>zic</code>' supplied with this package instead of using the | |
865 | system '<code>zic</code>', since the format of <code>zic</code>'s | 870 | system '<code>zic</code>', since the format of <code>zic</code>'s | |
866 | input is occasionally extended, and a platform may still be shipping | 871 | input is occasionally extended, and a platform may still be shipping | |
867 | an older <code>zic</code>. | 872 | an older <code>zic</code>. | |
868 | </p> | 873 | </p> | |
869 | 874 | |||
870 | <h3 id="POSIX">POSIX properties and limitations</h3> | 875 | <h3 id="POSIX">POSIX.1-2017 properties and limitations</h3> | |
871 | <ul> | 876 | <ul> | |
872 | <li> | 877 | <li> | |
873 | <p> | 878 | <p> | |
874 | In POSIX, time display in a process is controlled by the | 879 | In POSIX.1-2017, time display in a process is controlled by the | |
875 | environment variable <code>TZ</code>. | 880 | environment variable <code>TZ</code>. | |
876 | Unfortunately, the POSIX | 881 | Unfortunately, the POSIX.1-2017 | |
877 | <code>TZ</code> string takes a form that is hard to describe and | 882 | <code>TZ</code> string takes a form that is hard to describe and | |
878 | is error-prone in practice. | 883 | is error-prone in practice. | |
879 | Also, POSIX <code>TZ</code> strings cannot deal with daylight | 884 | Also, POSIX.1-2017 <code>TZ</code> strings cannot deal with daylight | |
880 | saving time rules not based on the Gregorian calendar (as in | 885 | saving time rules not based on the Gregorian calendar (as in | |
881 | Morocco), or with situations where more than two time zone | 886 | Morocco), or with situations where more than two time zone | |
882 | abbreviations or <abbr>UT</abbr> offsets are used in an area. | 887 | abbreviations or <abbr>UT</abbr> offsets are used in an area. | |
883 | </p> | 888 | </p> | |
884 | 889 | |||
885 | <p> | 890 | <p> | |
886 | The POSIX <code>TZ</code> string takes the following form: | 891 | The POSIX.1-2017 <code>TZ</code> string takes the following form: | |
887 | </p> | 892 | </p> | |
888 | 893 | |||
889 | <p> | 894 | <p> | |
890 | <var>stdoffset</var>[<var>dst</var>[<var>offset</var>][<code>,</code><var>date</var>[<code>/</code><var>time</var>]<code>,</code><var>date</var>[<code>/</code><var>time</var>]]] | 895 | <var>stdoffset</var>[<var>dst</var>[<var>offset</var>][<code>,</code><var>date</var>[<code>/</code><var>time</var>]<code>,</code><var>date</var>[<code>/</code><var>time</var>]]] | |
891 | </p> | 896 | </p> | |
892 | 897 | |||
893 | <p> | 898 | <p> | |
894 | where: | 899 | where: | |
895 | </p> | 900 | </p> | |
896 | 901 | |||
897 | <dl> | 902 | <dl> | |
898 | <dt><var>std</var> and <var>dst</var></dt><dd> | 903 | <dt><var>std</var> and <var>dst</var></dt><dd> | |
899 | are 3 or more characters specifying the standard | 904 | are 3 or more characters specifying the standard | |
@@ -940,38 +945,38 @@ an older zic . | @@ -940,38 +945,38 @@ an older zic . | |||
940 | month <var>m</var> of the year, where week 1 is the first | 945 | month <var>m</var> of the year, where week 1 is the first | |
941 | week in which day <var>d</var> appears, and | 946 | week in which day <var>d</var> appears, and | |
942 | '<code>5</code>' stands for the last week in which | 947 | '<code>5</code>' stands for the last week in which | |
943 | day <var>d</var> appears (which may be either the 4th or | 948 | day <var>d</var> appears (which may be either the 4th or | |
944 | 5th week). | 949 | 5th week). | |
945 | Typically, this is the only useful form; the <var>n</var> | 950 | Typically, this is the only useful form; the <var>n</var> | |
946 | and <code>J</code><var>n</var> forms are rarely used. | 951 | and <code>J</code><var>n</var> forms are rarely used. | |
947 | </dd> | 952 | </dd> | |
948 | </dl> | 953 | </dl> | |
949 | </dd> | 954 | </dd> | |
950 | </dl> | 955 | </dl> | |
951 | 956 | |||
952 | <p> | 957 | <p> | |
953 | Here is an example POSIX <code>TZ</code> string for New | 958 | Here is an example POSIX.1-2017 <code>TZ</code> string for New | |
954 | Zealand after 2007. | 959 | Zealand after 2007. | |
955 | It says that standard time (<abbr>NZST</abbr>) is 12 hours ahead | 960 | It says that standard time (<abbr>NZST</abbr>) is 12 hours ahead | |
956 | of <abbr>UT</abbr>, and that daylight saving time | 961 | of <abbr>UT</abbr>, and that daylight saving time | |
957 | (<abbr>NZDT</abbr>) is observed from September's last Sunday at | 962 | (<abbr>NZDT</abbr>) is observed from September's last Sunday at | |
958 | 02:00 until April's first Sunday at 03:00: | 963 | 02:00 until April's first Sunday at 03:00: | |
959 | </p> | 964 | </p> | |
960 | 965 | |||
961 | <pre><code>TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'</code></pre> | 966 | <pre><code>TZ='NZST-12NZDT,M9.5.0,M4.1.0/3'</code></pre> | |
962 | 967 | |||
963 | <p> | 968 | <p> | |
964 | This POSIX <code>TZ</code> string is hard to remember, and | 969 | This POSIX.1-2017 <code>TZ</code> string is hard to remember, and | |
965 | mishandles some timestamps before 2008. | 970 | mishandles some timestamps before 2008. | |
966 | With this package you can use this instead: | 971 | With this package you can use this instead: | |
967 | </p> | 972 | </p> | |
968 | 973 | |||
969 | <pre><code>TZ='Pacific/Auckland'</code></pre> | 974 | <pre><code>TZ='Pacific/Auckland'</code></pre> | |
970 | </li> | 975 | </li> | |
971 | <li> | 976 | <li> | |
972 | POSIX does not define the <abbr>DST</abbr> transitions | 977 | POSIX does not define the <abbr>DST</abbr> transitions | |
973 | for <code>TZ</code> values like | 978 | for <code>TZ</code> values like | |
974 | "<code>EST5EDT</code>". | 979 | "<code>EST5EDT</code>". | |
975 | Traditionally the current <abbr>US</abbr> <abbr>DST</abbr> rules | 980 | Traditionally the current <abbr>US</abbr> <abbr>DST</abbr> rules | |
976 | were used to interpret such values, but this meant that the | 981 | were used to interpret such values, but this meant that the | |
977 | <abbr>US</abbr> <abbr>DST</abbr> rules were compiled into each | 982 | <abbr>US</abbr> <abbr>DST</abbr> rules were compiled into each | |
@@ -989,61 +994,61 @@ an older zic . | @@ -989,61 +994,61 @@ an older zic . | |||
989 | <li> | 994 | <li> | |
990 | In POSIX, there is no tamper-proof way for a process to learn the | 995 | In POSIX, there is no tamper-proof way for a process to learn the | |
991 | system's best idea of local (wall clock) time. | 996 | system's best idea of local (wall clock) time. | |
992 | This is important for applications that an administrator wants | 997 | This is important for applications that an administrator wants | |
993 | used only at certain times – without regard to whether the | 998 | used only at certain times – without regard to whether the | |
994 | user has fiddled the | 999 | user has fiddled the | |
995 | <code>TZ</code> environment variable. | 1000 | <code>TZ</code> environment variable. | |
996 | While an administrator can "do everything in <abbr>UT</abbr>" to | 1001 | While an administrator can "do everything in <abbr>UT</abbr>" to | |
997 | get around the problem, doing so is inconvenient and precludes | 1002 | get around the problem, doing so is inconvenient and precludes | |
998 | handling daylight saving time shifts – as might be required to | 1003 | handling daylight saving time shifts – as might be required to | |
999 | limit phone calls to off-peak hours. | 1004 | limit phone calls to off-peak hours. | |
1000 | </li> | 1005 | </li> | |
1001 | <li> | 1006 | <li> | |
1002 | POSIX provides no convenient and efficient way to determine | 1007 | POSIX.1-2017 provides no convenient and efficient way to determine | |
1003 | the <abbr>UT</abbr> offset and time zone abbreviation of arbitrary | 1008 | the <abbr>UT</abbr> offset and time zone abbreviation of arbitrary | |
1004 | timestamps, particularly for timezones | 1009 | timestamps, particularly for timezones | |
1005 | that do not fit into the POSIX model. | 1010 | that do not fit into the POSIX model. | |
1006 | </li> | 1011 | </li> | |
1007 | <li> | 1012 | <li> | |
1008 | POSIX requires that <code>time_t</code> clock counts exclude leap | 1013 | POSIX requires that <code>time_t</code> clock counts exclude leap | |
1009 | seconds. | 1014 | seconds. | |
1010 | </li> | 1015 | </li> | |
1011 | <li> | 1016 | <li> | |
1012 | The <code><abbr>tz</abbr></code> code attempts to support all the | 1017 | The <code><abbr>tz</abbr></code> code attempts to support all the | |
1013 | <code>time_t</code> implementations allowed by POSIX. | 1018 | <code>time_t</code> implementations allowed by POSIX. | |
1014 | The <code>time_t</code> type represents a nonnegative count of seconds | 1019 | The <code>time_t</code> type represents a nonnegative count of seconds | |
1015 | since 1970-01-01 00:00:00 <abbr>UTC</abbr>, ignoring leap seconds. | 1020 | since 1970-01-01 00:00:00 <abbr>UTC</abbr>, ignoring leap seconds. | |
1016 | In practice, <code>time_t</code> is usually a signed 64- or 32-bit | 1021 | In practice, <code>time_t</code> is usually a signed 64- or 32-bit | |
1017 | integer; 32-bit signed <code>time_t</code> values stop working after | 1022 | integer; 32-bit signed <code>time_t</code> values stop working after | |
1018 | 2038-01-19 03:14:07 <abbr>UTC</abbr>, so new implementations these | 1023 | 2038-01-19 03:14:07 <abbr>UTC</abbr>, so new implementations these | |
1019 | days typically use a signed 64-bit integer. | 1024 | days typically use a signed 64-bit integer. | |
1020 | Unsigned 32-bit integers are used on one or two platforms, and 36-bit | 1025 | Unsigned 32-bit integers are used on one or two platforms, and 36-bit | |
1021 | and 40-bit integers are also used occasionally. | 1026 | and 40-bit integers are also used occasionally. | |
1022 | Although earlier POSIX versions allowed <code>time_t</code> to be a | 1027 | Although earlier POSIX versions allowed <code>time_t</code> to be a | |
1023 | floating-point type, this was not supported by any practical system, | 1028 | floating-point type, this was not supported by any practical system, | |
1024 | and POSIX.1-2013 and the <code><abbr>tz</abbr></code> code both | 1029 | and POSIX.1-2013 and the <code><abbr>tz</abbr></code> code both | |
1025 | require <code>time_t</code> to be an integer type. | 1030 | require <code>time_t</code> to be an integer type. | |
1026 | </li> | 1031 | </li> | |
1027 | </ul> | 1032 | </ul> | |
1028 | 1033 | |||
1029 | <h3 id="POSIX-extensions">Extensions to POSIX in the | 1034 | <h3 id="POSIX-extensions">Extensions to POSIX.1-2017 in the | |
1030 | <code><abbr>tz</abbr></code> code</h3> | 1035 | <code><abbr>tz</abbr></code> code</h3> | |
1031 | <ul> | 1036 | <ul> | |
1032 | <li> | 1037 | <li> | |
1033 | <p> | 1038 | <p> | |
1034 | The <code>TZ</code> environment variable is used in generating | 1039 | The <code>TZ</code> environment variable is used in generating | |
1035 | the name of a file from which time-related information is read | 1040 | the name of a file from which time-related information is read | |
1036 | (or is interpreted à la POSIX); <code>TZ</code> is no longer | 1041 | (or is interpreted à la POSIX.1-2017); <code>TZ</code> is no longer | |
1037 | constrained to be a string containing abbreviations | 1042 | constrained to be a string containing abbreviations | |
1038 | and numeric data as described <a href="#POSIX">above</a>. | 1043 | and numeric data as described <a href="#POSIX">above</a>. | |
1039 | The file's format is <dfn><abbr>TZif</abbr></dfn>, | 1044 | The file's format is <dfn><abbr>TZif</abbr></dfn>, | |
1040 | a timezone information format that contains binary data; see | 1045 | a timezone information format that contains binary data; see | |
1041 | <a href="https://datatracker.ietf.org/doc/html/8536">Internet | 1046 | <a href="https://datatracker.ietf.org/doc/html/8536">Internet | |
1042 | <abbr>RFC</abbr> 8536</a>. | 1047 | <abbr>RFC</abbr> 8536</a>. | |
1043 | The daylight saving time rules to be used for a | 1048 | The daylight saving time rules to be used for a | |
1044 | particular timezone are encoded in the | 1049 | particular timezone are encoded in the | |
1045 | <abbr>TZif</abbr> file; the format of the file allows <abbr>US</abbr>, | 1050 | <abbr>TZif</abbr> file; the format of the file allows <abbr>US</abbr>, | |
1046 | Australian, and other rules to be encoded, and | 1051 | Australian, and other rules to be encoded, and | |
1047 | allows for situations where more than two time zone | 1052 | allows for situations where more than two time zone | |
1048 | abbreviations are used. | 1053 | abbreviations are used. | |
1049 | </p> | 1054 | </p> |
--- src/external/public-domain/tz/dist/zishrink.awk 2022/08/17 12:17:56 1.1.1.8
+++ src/external/public-domain/tz/dist/zishrink.awk 2024/02/06 12:22:42 1.1.1.8.2.1
@@ -152,27 +152,27 @@ function prehash_rule_names( \ | @@ -152,27 +152,27 @@ function prehash_rule_names( \ | |||
152 | 152 | |||
153 | function make_line(n, field, \ | 153 | function make_line(n, field, \ | |
154 | f, r) | 154 | f, r) | |
155 | { | 155 | { | |
156 | r = field[1] | 156 | r = field[1] | |
157 | for (f = 2; f <= n; f++) | 157 | for (f = 2; f <= n; f++) | |
158 | r = r " " field[f] | 158 | r = r " " field[f] | |
159 | return r | 159 | return r | |
160 | } | 160 | } | |
161 | 161 | |||
162 | # Process the input line LINE and save it for later output. | 162 | # Process the input line LINE and save it for later output. | |
163 | 163 | |||
164 | function process_input_line(line, \ | 164 | function process_input_line(line, \ | |
165 | f, field, end, i, n, r, startdef, \ | 165 | f, field, end, n, outline, r, \ | |
166 | linkline, ruleline, zoneline) | 166 | linkline, ruleline, zoneline) | |
167 | { | 167 | { | |
168 | # Remove comments, normalize spaces, and append a space to each line. | 168 | # Remove comments, normalize spaces, and append a space to each line. | |
169 | sub(/#.*/, "", line) | 169 | sub(/#.*/, "", line) | |
170 | line = line " " | 170 | line = line " " | |
171 | gsub(/[\t ]+/, " ", line) | 171 | gsub(/[\t ]+/, " ", line) | |
172 | 172 | |||
173 | # Abbreviate keywords and determine line type. | 173 | # Abbreviate keywords and determine line type. | |
174 | linkline = sub(/^Link /, "L ", line) | 174 | linkline = sub(/^Link /, "L ", line) | |
175 | ruleline = sub(/^Rule /, "R ", line) | 175 | ruleline = sub(/^Rule /, "R ", line) | |
176 | zoneline = sub(/^Zone /, "Z ", line) | 176 | zoneline = sub(/^Zone /, "Z ", line) | |
177 | 177 | |||
178 | # Replace FooAsia rules with the same rules without "Asia", as they | 178 | # Replace FooAsia rules with the same rules without "Asia", as they | |
@@ -189,28 +189,30 @@ function process_input_line(line, \ | @@ -189,28 +189,30 @@ function process_input_line(line, \ | |||
189 | line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2) | 189 | line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2) | |
190 | 190 | |||
191 | # Abbreviate weekday names. | 191 | # Abbreviate weekday names. | |
192 | while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) { | 192 | while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) { | |
193 | end = RSTART + RLENGTH | 193 | end = RSTART + RLENGTH | |
194 | line = substr(line, 1, end - 4) substr(line, end - 1) | 194 | line = substr(line, 1, end - 4) substr(line, end - 1) | |
195 | } | 195 | } | |
196 | while (match(line, / (last)?(Sun|Tue|Thu|Sat)[ <>]/)) { | 196 | while (match(line, / (last)?(Sun|Tue|Thu|Sat)[ <>]/)) { | |
197 | end = RSTART + RLENGTH | 197 | end = RSTART + RLENGTH | |
198 | line = substr(line, 1, end - 3) substr(line, end - 1) | 198 | line = substr(line, 1, end - 3) substr(line, end - 1) | |
199 | } | 199 | } | |
200 | 200 | |||
201 | # Abbreviate "max", "min", "only" and month names. | 201 | # Abbreviate "max", "min", "only" and month names. | |
202 | gsub(/ max /, " ma ", line) | 202 | # Although "max" and "min" can both be abbreviated to just "m", | |
203 | gsub(/ min /, " mi ", line) | 203 | # the longer forms "ma" and "mi" are needed with zic 2023d and earlier. | |
204 | gsub(/ max /, dataform == "vanguard" ? " m " : " ma ", line) | |||
205 | gsub(/ min /, dataform == "vanguard" ? " m " : " mi ", line) | |||
204 | gsub(/ only /, " o ", line) | 206 | gsub(/ only /, " o ", line) | |
205 | gsub(/ Jan /, " Ja ", line) | 207 | gsub(/ Jan /, " Ja ", line) | |
206 | gsub(/ Feb /, " F ", line) | 208 | gsub(/ Feb /, " F ", line) | |
207 | gsub(/ Apr /, " Ap ", line) | 209 | gsub(/ Apr /, " Ap ", line) | |
208 | gsub(/ Aug /, " Au ", line) | 210 | gsub(/ Aug /, " Au ", line) | |
209 | gsub(/ Sep /, " S ", line) | 211 | gsub(/ Sep /, " S ", line) | |
210 | gsub(/ Oct /, " O ", line) | 212 | gsub(/ Oct /, " O ", line) | |
211 | gsub(/ Nov /, " N ", line) | 213 | gsub(/ Nov /, " N ", line) | |
212 | gsub(/ Dec /, " D ", line) | 214 | gsub(/ Dec /, " D ", line) | |
213 | 215 | |||
214 | # Strip leading and trailing space. | 216 | # Strip leading and trailing space. | |
215 | sub(/^ /, "", line) | 217 | sub(/^ /, "", line) | |
216 | sub(/ $/, "", line) | 218 | sub(/ $/, "", line) | |
@@ -224,86 +226,116 @@ function process_input_line(line, \ | @@ -224,86 +226,116 @@ function process_input_line(line, \ | |||
224 | 226 | |||
225 | # Remove unnecessary trailing " Ja" (for January). | 227 | # Remove unnecessary trailing " Ja" (for January). | |
226 | sub(/ Ja$/, "", line) | 228 | sub(/ Ja$/, "", line) | |
227 | 229 | |||
228 | n = split(line, field) | 230 | n = split(line, field) | |
229 | 231 | |||
230 | # Record which rule names are used, and generate their abbreviations. | 232 | # Record which rule names are used, and generate their abbreviations. | |
231 | f = zoneline ? 4 : linkline || ruleline ? 0 : 2 | 233 | f = zoneline ? 4 : linkline || ruleline ? 0 : 2 | |
232 | r = field[f] | 234 | r = field[f] | |
233 | if (r ~ /^[^-+0-9]/) { | 235 | if (r ~ /^[^-+0-9]/) { | |
234 | rule_used[r] = 1 | 236 | rule_used[r] = 1 | |
235 | } | 237 | } | |
236 | 238 | |||
237 | # If this zone supersedes an earlier one, delete the earlier one | |||
238 | # from the saved output lines. | |||
239 | startdef = "" | |||
240 | if (zoneline) | 239 | if (zoneline) | |
241 | zonename = startdef = field[2] | 240 | zonename = startdef = field[2] | |
242 | else if (linkline) | 241 | else if (linkline) | |
243 | zonename = startdef = field[3] | 242 | zonename = startdef = field[3] | |
244 | else if (ruleline) | 243 | else if (ruleline) | |
245 | zonename = "" | 244 | zonename = "" | |
246 | if (startdef) { | |||
247 | i = zonedef[startdef] | |||
248 | if (i) { | |||
249 | do | |||
250 | output_line[i - 1] = "" | |||
251 | while (output_line[i++] ~ /^[-+0-9]/); | |||
252 | } | |||
253 | } | |||
254 | zonedef[zonename] = nout + 1 | |||
255 | 245 | |||
256 | # Save the line for later output. | 246 | # Save the information for later output. | |
257 | output_line[nout++] = make_line(n, field) | 247 | outline = make_line(n, field) | |
248 | if (ruleline) | |||
249 | rule_output_line[nrule_out++] = outline | |||
250 | else if (linkline) { | |||
251 | # In vanguard format with Gawk, links are output sorted by destination. | |||
252 | if (dataform == "vanguard" && PROCINFO["version"]) | |||
253 | linkdef[zonename] = field[2] | |||
254 | else | |||
255 | link_output_line[nlink_out++] = outline | |||
256 | }else | |||
257 | zonedef[zonename] = (zoneline ? "" : zonedef[zonename] "\n") outline | |||
258 | } | 258 | } | |
259 | 259 | |||
260 | function omit_unused_rules( \ | 260 | function omit_unused_rules( \ | |
261 | i, field) | 261 | i, field) | |
262 | { | 262 | { | |
263 | for (i = 0; i < nout; i++) { | 263 | for (i = 0; i < nrule_out; i++) { | |
264 | split(output_line[i], field) | 264 | split(rule_output_line[i], field) | |
265 | if (field[1] == "R" && !rule_used[field[2]]) { | 265 | if (!rule_used[field[2]]) | |
266 | output_line[i] = "" | 266 | rule_output_line[i] = "" | |
267 | } | |||
268 | } | 267 | } | |
269 | } | 268 | } | |
270 | 269 | |||
271 | function abbreviate_rule_names( \ | 270 | function abbreviate_rule_names( \ | |
272 | abbr, f, field, i, n, r) | 271 | abbr, f, field, i, n, newdef, newline, r, \ | |
272 | zoneline, zonelines, zonename) | |||
273 | { | 273 | { | |
274 | for (i = 0; i < nout; i++) { | 274 | for (i = 0; i < nrule_out; i++) { | |
275 | n = split(output_line[i], field) | 275 | n = split(rule_output_line[i], field) | |
276 | if (n) { | 276 | if (n) { | |
277 | f = field[1] == "Z" ? 4 : field[1] == "L" ? 0 : 2 | 277 | r = field[2] | |
278 | r = field[f] | |||
279 | if (r ~ /^[^-+0-9]/) { | 278 | if (r ~ /^[^-+0-9]/) { | |
280 | abbr = rule[r] | 279 | abbr = rule[r] | |
281 | if (!abbr) { | 280 | if (!abbr) { | |
282 | rule[r] = abbr = gen_rule_name(r) | 281 | rule[r] = abbr = gen_rule_name(r) | |
283 | } | 282 | } | |
284 | field[f] = abbr | 283 | field[2] = abbr | |
285 | output_line[i] = make_line(n, field) | 284 | rule_output_line[i] = make_line(n, field) | |
286 | } | 285 | } | |
287 | } | 286 | } | |
288 | } | 287 | } | |
288 | for (zonename in zonedef) { | |||
289 | zonelines = split(zonedef[zonename], zoneline, /\n/) | |||
290 | newdef = "" | |||
291 | for (i = 1; i <= zonelines; i++) { | |||
292 | newline = zoneline[i] | |||
293 | n = split(newline, field) | |||
294 | f = i == 1 ? 4 : 2 | |||
295 | r = rule[field[f]] | |||
296 | if (r) { | |||
297 | field[f] = r | |||
298 | newline = make_line(n, field) | |||
299 | } | |||
300 | newdef = (newdef ? newdef "\n" : "") newline | |||
301 | } | |||
302 | zonedef[zonename] = newdef | |||
303 | } | |||
289 | } | 304 | } | |
290 | 305 | |||
291 | function output_saved_lines( \ | 306 | function output_saved_lines( \ | |
292 | i) | 307 | i, zonename) | |
293 | { | 308 | { | |
294 | for (i = 0; i < nout; i++) | 309 | for (i = 0; i < nrule_out; i++) | |
295 | if (output_line[i]) | 310 | if (rule_output_line[i]) | |
296 | print output_line[i] | 311 | print rule_output_line[i] | |
312 | ||||
313 | # When using gawk, output zones sorted by name. | |||
314 | # This makes the output a bit more compressible. | |||
315 | PROCINFO["sorted_in"] = "@ind_str_asc" | |||
316 | for (zonename in zonedef) | |||
317 | print zonedef[zonename] | |||
318 | ||||
319 | if (nlink_out) | |||
320 | for (i = 0; i < nlink_out; i++) | |||
321 | print link_output_line[i] | |||
322 | else { | |||
323 | # When using gawk, output links sorted by destination. | |||
324 | # This also helps compressibility a bit. | |||
325 | PROCINFO["sorted_in"] = "@val_type_asc" | |||
326 | for (zonename in linkdef) | |||
327 | printf "L %s %s\n", linkdef[zonename], zonename | |||
328 | } | |||
297 | } | 329 | } | |
298 | 330 | |||
299 | BEGIN { | 331 | BEGIN { | |
300 | # Files that the output normally depends on. | 332 | # Files that the output normally depends on. | |
301 | default_dep["africa"] = 1 | 333 | default_dep["africa"] = 1 | |
302 | default_dep["antarctica"] = 1 | 334 | default_dep["antarctica"] = 1 | |
303 | default_dep["asia"] = 1 | 335 | default_dep["asia"] = 1 | |
304 | default_dep["australasia"] = 1 | 336 | default_dep["australasia"] = 1 | |
305 | default_dep["backward"] = 1 | 337 | default_dep["backward"] = 1 | |
306 | default_dep["etcetera"] = 1 | 338 | default_dep["etcetera"] = 1 | |
307 | default_dep["europe"] = 1 | 339 | default_dep["europe"] = 1 | |
308 | default_dep["factory"] = 1 | 340 | default_dep["factory"] = 1 | |
309 | default_dep["northamerica"] = 1 | 341 | default_dep["northamerica"] = 1 |