[tz] [PROPOSED 18/18] New tzselection option ‘now’

Tim Parenti tim at timtimeonline.com
Wed Dec 20 17:41:40 UTC 2023


Fixing up a small typo in the comments.

One drawback of this approach is that such lines will need to be merged
into the appropriate long-term zonenow entry after the date listed.

--
Tim Parenti


On Tue, 19 Dec 2023 at 02:30, Paul Eggert via tz <tz at iana.org> wrote:

> * Makefile (ZONETABLES, VERSION_DEPS): Add zonenow.tab.
> (CHECK_NOW_TIMESTAMP, CHECK_NOW_FUTURE_YEARS, CHECK_NOW_FUTURE_SECS):
> New macros.
> (check_now): New target rule.
> (check_mild): Depend on it.
> * NEWS: Mention this new feature.
> * checknow.awk, zonenow.tab: New files.
> * checktab.awk: Adjust (i.e., loosen) checks for zonenow.tab.
> * tzselect.ksh (TZ_ZONETABTYPE_TABLE, TZ_ZONENOW_TABLE):
> New vars, so that the code can switch back and for easily between
> zone1970.tab and zonenow.tab.
> (TZ_ZONE_TABLE): Set to one of those two vars, depending on user.
> Let users choose ‘now’ if they care only about timestamps from now on.
> Narrow ‘regions’ based on ‘now’ selection, if possible (which it
> always is, with the current data).
> ---
>  Makefile     |  31 +++++-
>  NEWS         |  11 ++
>  checknow.awk |  53 +++++++++
>  checktab.awk |   7 +-
>  tzselect.ksh |  49 +++++++--
>  zonenow.tab  | 298 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  6 files changed, 435 insertions(+), 14 deletions(-)
>  create mode 100644 checknow.awk
>  create mode 100644 zonenow.tab
>
> diff --git a/Makefile b/Makefile
> index a6051531..f473af67 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -580,7 +580,7 @@ YDATA=              $(PRIMARY_YDATA) etcetera
>  NDATA=         factory
>  TDATA_TO_CHECK=        $(YDATA) $(NDATA) backward
>  TDATA=         $(YDATA) $(NDATA) $(BACKWARD)
> -ZONETABLES=    zone1970.tab zone.tab
> +ZONETABLES=    zone.tab zone1970.tab zonenow.tab
>  TABDATA=       iso3166.tab $(TZDATA_TEXT) $(ZONETABLES)
>  LEAP_DEPS=     leapseconds.awk leap-seconds.list
>  TZDATA_ZI_DEPS=        ziguard.awk zishrink.awk version $(TDATA) \
> @@ -619,7 +619,7 @@ VERSION_DEPS= \
>                 tzfile.5 tzfile.h tzselect.8 tzselect.ksh \
>                 workman.sh zdump.8 zdump.c zic.8 zic.c \
>                 ziguard.awk zishrink.awk \
> -               zone.tab zone1970.tab
> +               zone.tab zone1970.tab zonenow.tab
>
>  all:           tzselect zic zdump libtz.a $(TABDATA) \
>                   vanguard.zi main.zi rearguard.zi
> @@ -825,7 +825,8 @@ tzselect:   tzselect.ksh version
>
>  check: check_back check_mild
>  check_mild:    check_character_set check_white_space check_links \
> -                 check_name_lengths check_slashed_abbrs check_sorted \
> +                 check_name_lengths check_now \
> +                 check_slashed_abbrs check_sorted \
>                   check_tables check_web check_ziguard check_zishrink
> check_tzs
>
>  check_character_set: $(ENCHILADA)
> @@ -893,7 +894,29 @@ check_links:       checklinks.awk tzdata.zi
>                   -f checklinks.awk tzdata.zi
>                 touch $@
>
> -check_tables:  checktab.awk $(YDATA) backward $(ZONETABLES)
> +# Check timestamps from now through 28 years from now, to make sure
> +# that zonenow.tab contains all sequences of planned timestamps,
> +# without any duplicate sequences.  In theory this might require
> +# 2800 years but that would take a long time to check.
> +CHECK_NOW_TIMESTAMP = `./date +%s`
> +CHECK_NOW_FUTURE_YEARS = 28
> +CHECK_NOW_FUTURE_SECS = $(CHECK_NOW_FUTURE_YEARS) '*' 366 '*' 24 '*' 60
> '*' 60
> +check_now:     checknow.awk date tzdata.zi zdump zic zone1970.tab
> zonenow.tab
> +               rm -fr $@.dir
> +               mkdir $@.dir
> +               ./zic -d $@.dir tzdata.zi
> +               now=$(CHECK_NOW_TIMESTAMP) && \
> +                 future=`expr $(CHECK_NOW_FUTURE_SECS) + $$now` && \
> +                 ./zdump -i -t $$now,$$future \
> +                    $$(find $$PWD/$@.dir/????*/ -type f) \
> +                    >$@.dir/zdump.tab
> +               $(AWK) \
> +                 -v zdump_table=$@.dir/zdump.tab \
> +                 -f checknow.awk zonenow.tab
> +               rm -fr $@.dir
> +               touch $@
> +
> +check_tables:  checktab.awk $(YDATA) backward zone.tab zone1970.tab
>                 for tab in $(ZONETABLES); do \
>                   test "$$tab" = zone.tab && links='$(BACKWARD)' ||
> links=''; \
>                   $(AWK) -f checktab.awk -v zone_table=$$tab $(YDATA)
> $$links \
> diff --git a/NEWS b/NEWS
> index f2d0bc3c..43070aae 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -5,6 +5,7 @@ Unreleased, experimental changes
>    Briefly:
>      Ittoqqortoormiit, Greenland changes time zones on 2024-03-31.
>      Code and data fixes for Palestine timestamps starting in 2072.
> +    A new data file zonenow.tab for timestamps starting now.
>
>    Changes to future timestamps
>
> @@ -25,6 +26,13 @@ Unreleased, experimental changes
>      This does not affect UTC offsets, only the tm_isdst flag.
>      (Thanks to Thomas M. Steenholdt.)
>
> +  New data file
> +
> +    A new data file zonenow.tab helps configure applications that use
> +    timestamps dated from now on.  This simplifies configuration,
> +    since users choose from a smaller Zone set.  The file's format is
> +    experimental and subject to change.
> +
>    Changes to code
>
>      localtime.c no longer mishandles TZif files that contain a single
> @@ -32,6 +40,9 @@ Unreleased, experimental changes
>      DST was in effect before the transition too.  (Thanks to Alois
>      Treindl for debugging help.)
>
> +    tzselect now optionally reads zonenow.tab, to simplify when
> +    configuring only for timestamps dated from now on.
> +
>      tzselect no longer creates temporary files.
>
>      tzselect no longer mishandles the following:
> diff --git a/checknow.awk b/checknow.awk
> new file mode 100644
> index 00000000..51ee998f
> --- /dev/null
> +++ b/checknow.awk
> @@ -0,0 +1,53 @@
> +# Check zonenow.tab for consistency with primary data.
> +
> +# Contributed by Paul Eggert.  This file is in the public domain.
> +
> +function record_zone(zone, data) {
> +  if (zone) {
> +    zone_data[zone] = data
> +    zones[data] = zones[data] " " zone
> +  }
> +}
> +
> +BEGIN {
> +  while (getline <zdump_table) {
> +    if ($0 ~ /^TZ/) {
> +      record_zone(zone, data)
> +      zone = $0
> +      sub(/.*\.dir\//, "", zone)
> +      sub(/"/, "", zone)
> +      data = ""
> +    } else if ($0 ~ /./)
> +      data = data $0 "\n"
> +  }
> +  record_zone(zone, data)
> +  FS = "\t"
> +}
> +
> +/^[^#]/ {
> +  zone = $3
> +  data = zone_data[zone]
> +  if (!data) {
> +    printf "%s: no data\n"
> +    status = 1
> +  } else {
> +    zone2 = zonenow[data]
> +    if (zone2) {
> +      printf "zones %s and %s identical from now on\n", zone, zone2
> +      status = 1
> +    } else
> +      zonenow[data] = zone
> +  }
> +}
> +
> +END {
> + for (zone in zone_data) {
> +    data = zone_data[zone]
> +    if (!zonenow[data]) {
> +      printf "checknow.tab should have one of:%s\n", zones[data]
> +      zonenow[data] = zone # This suppresses duplicate diagnostics.
> +      status = 1
> +    }
> + }
> + exit status
> +}
> diff --git a/checktab.awk b/checktab.awk
> index 2dbf485f..9a26e465 100644
> --- a/checktab.awk
> +++ b/checktab.awk
> @@ -83,7 +83,7 @@ BEGIN {
>                     cc = cca[i]
>                     if (cc2name[cc]) {
>                         cc_used[cc]++
> -                   } else {
> +                   } else if (! (cc == "XX" && zone_table ==
> "zonenow.tab")) {
>                         printf "%s:%d: %s: unknown country code\n", \
>                                 zone_table, zone_NR, cc >>"/dev/stderr"
>                         status = 1
> @@ -110,7 +110,7 @@ BEGIN {
>               used_max_cc = cc
>             }
>           }
> -         if (used_max <= 1 && comments) {
> +         if (used_max <= 1 && comments && zone_table != "zonenow.tab") {
>             printf "%s:%d: unnecessary comment '%s'\n", \
>               zone_table, i, comments \
>               >>"/dev/stderr"
> @@ -149,7 +149,8 @@ $1 ~ /^#/ { next }
>                 if ($3 ~ /%/) rulePercentUsed[$2] = 1
>         }
>         if (tz && tz ~ /\// && tz !~ /^Etc\//) {
> -               if (!tztab[tz] && FILENAME != "backward") {
> +               if (!tztab[tz] && FILENAME != "backward" \
> +                   && zone_table != "zonenow.tab") {
>                         printf "%s: no data for '%s'\n", zone_table, tz \
>                                 >>"/dev/stderr"
>                         status = 1
> diff --git a/tzselect.ksh b/tzselect.ksh
> index f894bb56..70bda9c0 100644
> --- a/tzselect.ksh
> +++ b/tzselect.ksh
> @@ -196,7 +196,8 @@ read_file() {
>    }
>  }
>  read_file TZ_COUNTRY_TABLE "$TZDIR/iso3166.tab"
> -read_file TZ_ZONE_TABLE "$TZDIR/$zonetabtype.tab"
> +read_file TZ_ZONETABTYPE_TABLE "$TZDIR/$zonetabtype.tab"
> +TZ_ZONENOW_TABLE=
>
>  newline='
>  '
> @@ -385,6 +386,7 @@ while
>    country_result=
>    region=
>    time=
> +  TZ_ZONE_TABLE=$TZ_ZONETABTYPE_TABLE
>
>    case $coord in
>    ?*)
> @@ -393,7 +395,8 @@ while
>
>      # Ask the user for continent or ocean.
>
> -    echo >&2 'Please select a continent, ocean, "coord", "TZ", or "time".'
> +    echo >&2 \
> +      'Please select a continent, ocean, "coord", "TZ", "time", or "now".'
>
>      quoted_continents=`
>        $AWK '
> @@ -406,10 +409,10 @@ while
>           printf "'\''%s'\''\n", entry
>         }
>         BEGIN {
> -         TZ_ZONE_TABLE = substr(ARGV[1], 2)
> +         TZ_ZONETABTYPE_TABLE = substr(ARGV[1], 2)
>           ARGV[1] = ""
>           FS = "\t"
> -         nlines = split(TZ_ZONE_TABLE, line, /\n/)
> +         nlines = split(TZ_ZONETABTYPE_TABLE, line, /\n/)
>           for (i = 1; i <= nlines; i++) {
>             $0 = line[i]
>             if ($0 ~ /^[^#]/)
> @@ -421,7 +424,7 @@ while
>             }
>           }
>         }
> -      ' ="$TZ_ZONE_TABLE" |
> +      ' ="$TZ_ZONETABTYPE_TABLE" |
>        sort -u |
>        tr '\n' ' '
>        echo ''
> @@ -431,12 +434,19 @@ while
>        doselect '"$quoted_continents"' \
>         "coord - I want to use geographical coordinates." \
>         "TZ - I want to specify the timezone using the POSIX TZ format." \
> -       "time - I know local time already."
> +       "time - I know local time already." \
> +       "now - Like \"time\", but configure only for timestamps from now
> on."
>        continent=$select_result
>        case $continent in
>        Americas) continent=America;;
>        *" "*)    continent=`expr "$continent" : '\''\([^ ]*\)'\''`
>        esac
> +      case $zonetabtype,$continent in
> +      zonenow,*) ;;
> +      *,now)
> +       ${TZ_ZONENOW_TABLE:+:} read_file TZ_ZONENOW_TABLE
> "$TZDIR/zonenow.tab"
> +       TZ_ZONE_TABLE=$TZ_ZONENOW_TABLE
> +      esac
>      '
>    esac
>
> @@ -529,7 +539,7 @@ while
>        `;;
>      *)
>        case $continent in
> -      time)
> +      now|time)
>         minute_format='%a %b %d %H:%M'
>         old_minute=`TZ=UTC0 date +"$minute_format"`
>         for i in 1 2 3
> @@ -609,6 +619,31 @@ while
>           ="$continent_re" ="$TZ_COUNTRY_TABLE" ="$zone_table" |
>         sort -f
>        `
> +      # If all zone table entries have comments, and there are
> +      # at most 22 entries, asked based on those comments.
> +      # This fits the prompt onto old-fashioned 24-line screens.
> +      regions=`
> +       $AWK '
> +         BEGIN {
> +           TZ_ZONE_TABLE = substr(ARGV[1], 2)
> +           ARGV[1] = ""
> +           FS = "\t"
> +           nlines = split(TZ_ZONE_TABLE, line, /\n/)
> +           for (i = 1; i <= nlines; i++) {
> +             $0 = line[i]
> +             if ($0 ~ /^[^#]/ && !missing_comment) {
> +               if ($4)
> +                 comment[++inlines] = $4
> +               else
> +                 missing_comment = 1
> +             }
> +           }
> +           if (!missing_comment && inlines <= 22)
> +             for (i = 1; i <= inlines; i++)
> +               print comment[i]
> +         }
> +       ' ="$zone_table"
> +      `
>
>        # If there's more than one country, ask the user which one.
>        case $countries in
> diff --git a/zonenow.tab b/zonenow.tab
> new file mode 100644
> index 00000000..b1c1f332
> --- /dev/null
> +++ b/zonenow.tab
> @@ -0,0 +1,298 @@
> +# tzdb timezone descriptions, for users who do not care about old
> timestamps
> +#
> +# This file is in the public domain.
> +#
> +# From Paul Eggert (2023-12-18):
> +# This file contains a table where each row stands for a timezone
> +# where civil timestamps are predicted to agree from now on.
> +# This file is like zone1970.tab (see zone1970.tab's coments),
> +# but with the following changes:
> +#
> +# 1.  Each timezone corresponds to a set of clocks that are planned
> +#     to agree from now on.  This is a larger set of clocks than in
> +#     zone1970.tab, where each timezone's clocks must agree from 1970 on.
> +# 2.  The first column is irrelevant and ignored.
> +# 3.  The table is sorted in a different way:
> +#     first by standard time UTC offset;
> +#     then, if DST is used, by daylight saving UTC offset;
> +#     then by time zone abbreviation.
> +#
> +# The format of this table is experimental, and may change in future
> versions.
> +#
> +# This table is intended as an aid for users, to help them select
> timezones
> +# appropriate for their practical needs.  It is not intended to take or
> +# endorse any position on legal or territorial claims.
> +#
> +#XX    coordinates     TZ      comments
> +#
> +# -11 - SST
> +XX     -1416-17042     Pacific/Pago_Pago       Midway; Samoa ("SST")
> +#
> +# -11
> +XX     -1901-16955     Pacific/Niue    Niue
> +#
> +# -10 - HST
> +XX     +211825-1575130 Pacific/Honolulu        Hawaii ("HST")
> +#
> +# -10
> +XX     -1732-14934     Pacific/Tahiti  Tahiti; Cook Islands
> +#
> +# -10/-09 - HST / HDT (North America DST)
> +XX     +515248-1763929 America/Adak    western Aleutians in Alaska
> ("HST/HDT")
> +#
> +# -09:30
> +XX     -0900-13930     Pacific/Marquesas       Marquesas
> +#
> +# -09
> +XX     -2308-13457     Pacific/Gambier Gambier
> +#
> +# -09/-08 - AKST/AKDT (North America DST)
> +XX     +611305-1495401 America/Anchorage       most of Alaska
> ("AKST/AKDT")
> +#
> +# -08
> +XX     -2504-13005     Pacific/Pitcairn        Pitcairn
> +#
> +# -08/-07 - PST/PDT (North America DST)
> +XX     +340308-1181434 America/Los_Angeles     Pacific ("PST/PDT") - US &
> Canada; Mexico near US border
> +#
> +# -07 - MST
> +XX     +332654-1120424 America/Phoenix Mountain Standard ("MST") -
> Arizona; western Mexico; Yukon
> +#
> +# -07/-06 - MST/MDT (North America DST)
> +XX     +394421-1045903 America/Denver  Mountain ("MST/MDT") - US &
> Canada; Mexico near US border
> +#
> +# -06
> +XX     -0054-08936     Pacific/Galapagos       Galápagos
> +#
> +# -06 - CST
> +XX     +1924-09909     America/Mexico_City     Central Standard ("CST") -
> Saskatchewan; central Mexico; Central America
> +#
> +# -06/-05 (Chile DST)
> +XX     -2709-10926     Pacific/Easter  Easter Island
> +#
> +# -06/-05 - CST/CDT (North America DST)
> +XX     +415100-0873900 America/Chicago Central ("CST/CDT") - US & Canada;
> Mexico near US border
> +#
> +# -05
> +XX     -1203-07703     America/Lima    eastern South America
> +#
> +# -05 - EST
> +XX     +175805-0764736 America/Jamaica Eastern Standard ("EST") -
> Caymans; Jamaica; eastern Mexico; Panama
> +#
> +# -05/-04 - CST/CDT (Cuba DST)
> +XX     +2308-08222     America/Havana  Cuba
> +#
> +# -05/-04 - EST/EDT (North America DST)
> +XX     +404251-0740023 America/New_York        Eastern ("EST/EDT") - US &
> Canada
> +#
> +# -04
> +XX     +1030-06656     America/Caracas western South America
> +#
> +# -04 - AST
> +XX     +1828-06954     America/Santo_Domingo   Atlantic Standard ("AST")
> - eastern Caribbean
> +#
> +# -04/-03 (Chile DST)
> +XX     -3327-07040     America/Santiago        most of Chile
> +#
> +# -04/-03 (Paraguay DST)
> +XX     -2516-05740     America/Asuncion        Paraguay
> +#
> +# -04/-03 - AST/ADT (North America DST)
> +XX     +4439-06336     America/Halifax Atlantic ("AST/ADT") - Canada;
> Bermuda
> +#
> +# -03:30/-02:30 - NST/NDT (North America DST)
> +XX     +4734-05243     America/St_Johns        Newfoundland ("NST/NDT")
> +#
> +# -03
> +XX     -2332-04637     America/Sao_Paulo       eastern South America
> +#
> +# -03/-02 (North America DST)
> +XX     +4703-05620     America/Miquelon        St Pierre & Miquelon
> +#
> +# -02
> +XX     -0351-03225     America/Noronha Fernando de Noronha; South Georgia
> +#
> +# -02/-01 (EU DST)
> +XX     +6411-05144     America/Nuuk    most of Greenland
> +#
> +# -01
> +XX     +1455-02331     Atlantic/Cape_Verde     Cape Verde
> +#
> +# -01/+00 (EU DST)
> +XX     +3744-02540     Atlantic/Azores Azores
> +# -01/+00 (EU DST) until 2024-03-01; then -02/-01 (EU DST)
> +XX     +7029-02158     America/Scoresbysund    Ittoqqortoormiit
> +#
> +# +00 - GMT
> +XX     +0519-00402     Africa/Abidjan  far western Africa; Iceland ("GMT")
> +#
> +# +00/+01 - GMT/BST (EU DST)
> +XX     +513030-0000731 Europe/London   United Kingdom ("GMT/BST")
> +#
> +# +00/+01 - WET/WEST (EU DST)
> +XX     +3843-00908     Europe/Lisbon   western Europe ("WET/WEST")
> +#
> +# +00/+01 - Troll DST
> +XX     -720041+0023206 Antarctica/Troll        Troll Station in Antarctica
> +#
> +# +01 - CET
> +XX     +3647+00303     Africa/Algiers  Algeria, Tunisia ("CET")
> +#
> +# +01 - WAT
> +XX     +0627+00324     Africa/Lagos    western Africa ("WAT")
> +#
> +# +01/+00 - IST/GMT (EU DST in reverse)
> +XX     +5320-00615     Europe/Dublin   Ireland ("IST/GMT")
> +#
> +# +01/+00 - (Morocco DST)
> +XX     +3339-00735     Africa/Casablanca       Morocco
> +#
> +# +01/+02 - CET/CEST (EU DST)
> +XX     +4852+00220     Europe/Paris    central Europe ("CET/CEST")
> +#
> +# +02 - CAT
> +XX     -2558+03235     Africa/Maputo   central Africa ("CAT")
> +#
> +# +02 - EET
> +XX     +3254+01311     Africa/Tripoli  Libya; Kaliningrad ("EET")
> +#
> +# +02 - SAST
> +XX     -2615+02800     Africa/Johannesburg     southern Africa ("SAST")
> +#
> +# +02/+03 - EET/EEST (EU DST)
> +XX     +3758+02343     Europe/Athens   eastern Europe ("EET/EEST")
> +#
> +# +02/+03 - EET/EEST (Egypt DST)
> +XX     +3003+03115     Africa/Cairo    Egypt
> +#
> +# +02/+03 - EET/EEST (Lebanon DST)
> +XX     +3353+03530     Asia/Beirut     Lebanon
> +#
> +# +02/+03 - EET/EEST (Moldova DST)
> +XX     +4700+02850     Europe/Chisinau Moldova
> +#
> +# +02/+03 - EET/EEST (Palestine DST)
> +XX     +3130+03428     Asia/Gaza       Palestine
> +#
> +# +02/+03 - IST/IDT (Israel DST)
> +XX     +314650+0351326 Asia/Jerusalem  Israel
> +#
> +# +03
> +XX     +4101+02858     Europe/Istanbul Near East; Belarus
> +#
> +# +03 - EAT
> +XX     -0117+03649     Africa/Nairobi  eastern Africa ("EAT")
> +#
> +# +03 - MSK
> +XX     +554521+0373704 Europe/Moscow   Moscow ("MSK")
> +#
> +# +03:30
> +XX     +3540+05126     Asia/Tehran     Iran
> +#
> +# +04
> +XX     +2518+05518     Asia/Dubai      Russia; Caucasus; Persian Gulf;
> Seychelles; Réunion
> +#
> +# +04:30
> +XX     +3431+06912     Asia/Kabul      Afghanistan
> +#
> +# +05
> +XX     +4120+06918     Asia/Tashkent   Russia; Tajikistan; Turkmenistan;
> Uzbekistan; Maldives
> +#
> +# +05 - PKT
> +XX     +2452+06703     Asia/Karachi    Pakistan ("PKT")
> +#
> +# +05:30
> +XX     +0656+07951     Asia/Colombo    Sri Lanka
> +#
> +# +05:30 - IST
> +XX     +2232+08822     Asia/Kolkata    India ("IST")
> +#
> +# +05:45
> +XX     +2743+08519     Asia/Kathmandu  Nepal
> +#
> +# +06
> +XX     +2343+09025     Asia/Dhaka      Russia; Kyrgyzstan; Bhutan;
> Bangladesh; Chagos
> +#
> +# +06:30
> +XX     +1647+09610     Asia/Yangon     Myanmar; Cocos
> +#
> +# +07
> +XX     +1345+10031     Asia/Bangkok    Russia; Indochina; Christmas Island
> +#
> +# +07 - WIB
> +XX     -0610+10648     Asia/Jakarta    Indonesia ("WIB")
> +#
> +# +08
> +XX     +0117+10351     Asia/Singapore  Russia; Brunei; Malaysia; Singapore
> +#
> +# +08 - AWST
> +XX     -3157+11551     Australia/Perth Western Australia ("AWST")
> +#
> +# +08 - CST
> +XX     +3114+12128     Asia/Shanghai   China ("CST")
> +#
> +# +08 - HKT
> +XX     +2217+11409     Asia/Hong_Kong  Hong Kong ("HKT")
> +#
> +# +08 - PHT
> +XX     +1435+12100     Asia/Manila     Philippines ("PHT")
> +#
> +# +08 - WITA
> +XX     -0507+11924     Asia/Makassar   Indonesia ("WITA")
> +#
> +# +08:45
> +XX     -3143+12852     Australia/Eucla Eucla
> +#
> +# +09
> +XX     +5203+11328     Asia/Chita      Russia; Palau; East Timor
> +#
> +# +09 - JST
> +XX     +353916+1394441 Asia/Tokyo      Japan ("JST")
> +#
> +# +09 - KST
> +XX     +3733+12658     Asia/Seoul      Korea ("KST")
> +#
> +# +09 - WIT
> +XX     -0232+14042     Asia/Jayapura   Indonesia ("WIT")
> +#
> +# +09:30 - ACST
> +XX     -1228+13050     Australia/Darwin        Northern Territory ("ACST")
> +#
> +# +09:30/+10:30 - ACST/ACDT (Australia DST)
> +XX     -3455+13835     Australia/Adelaide      South Australia
> ("ACST/ACDT")
> +#
> +# +10
> +XX     +4310+13156     Asia/Vladivostok        Russia; Yap; Chuuk; Papua
> New Guinea; Dumont d'Urville
> +#
> +# +10 - AEST
> +XX     -2728+15302     Australia/Brisbane      Queensland ("AEST")
> +#
> +# +10 - ChST
> +XX     +1328+14445     Pacific/Guam    Mariana Islands ("ChST")
> +#
> +# +10/+11 - AEST/AEDT (Australia DST)
> +XX     -3352+15113     Australia/Sydney        southeast Australia
> ("AEST/AEDT")
> +#
> +# +10:30/+11
> +XX     -3133+15905     Australia/Lord_Howe     Lord Howe Island
> +#
> +# +11
> +XX     -0613+15534     Pacific/Bougainville    Russia; Kosrae;
> Bougainville; Solomons
> +#
> +# +11/+12 (Australia DST)
> +XX     -2903+16758     Pacific/Norfolk Norfolk Island
> +#
> +# +12
> +XX     +5301+15839     Asia/Kamchatka  Russia; Tuvalu; Fiji; etc.
> +#
> +# +12/+13 (New Zealand DST)
> +XX     -3652+17446     Pacific/Auckland        New Zealand ("NZST/NZDT")
> +#
> +# +12:45/+13:45 (Chatham DST)
> +XX     -4357-17633     Pacific/Chatham Chatham Islands
> +#
> +# +13
> +XX     -210800-1751200 Pacific/Tongatapu       Kanton; Tokelau; Samoa
> (western); Tonga
> +#
> +# +14
> +XX     +0152-15720     Pacific/Kiritimati      Kiritimati
> --
> 2.40.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20231220/7dc6f254/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-zonenow.tab-Fix-comment-typo.patch
Type: application/octet-stream
Size: 717 bytes
Desc: not available
URL: <http://mm.icann.org/pipermail/tz/attachments/20231220/7dc6f254/attachment.obj>


More information about the tz mailing list