Compare commits

...

125 Commits

Author SHA1 Message Date
kre 898ce95a71 Import tzdata2024a from https://github.com/JodaOrg/global-tz/releases/download/2024agtz/tzdata2024agtz.tar.gz
Summary of changes in tzdata2024a (2024-02-01 09:28:56 -0800):
  * Kazakhstan unifies on UTC+5.
  * Palestine summer time begins a week later than previously predicted
    in 2024 and 2025.
  * Historic corrections for Asia/Ho_Chi_Minh (1955) America/Toronto (1947-9)
    and America/Miquelon (1911).
2024-02-05 21:34:27 +00:00
kre 7bab8694fc Import tzdata2023d from https://github.com/JodaOrg/global-tz/releases/download/2023dgtz/tzdata2023dgtz.tar.gz
Summary of changes in tzdata2023d (2023-12-21 20:02:24 -0800):
  * Ittoqqortoormiit, Greenland (America/Scoresbysund) joins most of
    the rest of Greenland's timekeeping practice on 2024-03-31, by
    changing its time zone from -01/+00 to -02/-01.
  * Fix predictions for DST transitions in Palestine in 2072-2075,
    correcting a typo introduced in 2023a.
  * Various fixes to zones for several Antarctic bases.
2023-12-23 15:38:05 +00:00
kre bb04e49113 Import tzdata2023c from https://github.com/JodaOrg/global-tz/releases/download/2023cgtz/tzdata2023cgtz.tar.gz
Summary of changes in tzdata2023c (2023-03-28 12:42:14 -0700):

   This essentially reverts the 2023b update, as the proposed delay
   of the start of summer time in Lebanon didn't end up happening as
   intended.   What did happen was apparently chaos ... the official
   start of summer time was still delayed, but only until last Wednesday
   night (between 2023-03-29 and 2029-03-30) - which has already passed.

   Since it is unclear what local time was actually observed during
   the period between when summer time was originally planned to start
   (last Sat night, between 2023-03-25 and 2023-03-26) and when it
   officially did, for now, this update simply reverts to the original
   start time (2023-03-26 00:00:00 local).   Should that turn out to
   be sub-optimal, a later update can correct it.   Only timestamps
   for the period between 2023-03-26 00:00:00 and 2023-03-30 00:00:00
   are affected.
2023-03-31 19:03:06 +00:00
kre c0de209039 Import tzdata2023b from https://github.com/JodaOrg/global-tz/releases/download/2023bgtz/tzdata2023bgtz.tar.gz
Summary of changes in tzdata2023b (2023-03-23 19:50:38 -0700):
  * This year Lebanon starts summer time on April 20/21 not March 25/26.
2023-03-24 12:33:37 +00:00
kre 31525824b0 Import tzdata2023a from https://github.com/JodaOrg/global-tz/releases/download/2023agtz/tzdata2023agtz.tar.gz
Summary of changes in tzdata2023a (2023-03-22 12:39:33 -0700):
  * Starting in 2023, Egypt will observe DST from April's last Friday
    through October's last Thursday.
  * In 2023 Morocco's summer time start transition after Ramadan
    will occur April 23, not April 30.
  * This year Palestine will delay the start of summer time from
    March 25 to April 29 due to Ramadan.
  * Much of Greenland, represented by America/Nuuk, will continue to
    observe DST using European Union rules.
  * America/Yellowknife has changed from a Zone to a backward
    compatibility Link, as it no longer differs from America/Edmonton
    since 1970.
  * Changes to commentary.
2023-03-23 16:31:08 +00:00
kre 8e514d726f Import tzdata2022g from https://github.com/JodaOrg/global-tz/releases/download/2022ggtz/tzdata2022ggtz.tar.gz
Summary of changes in tzdata2022g (2022-11-29 08:58:31 -0800):
  * In the Mexican state of Chihuahua, the border strip near the US
    will change to agree with nearby US locations on 2022-11-30.
  * Much of Greenland, represented by America/Nuuk, stops observing
    winter time after March 2023, so its daylight saving time becomes
    standard time.
  * Changes for pre-1996 northern Canada (thanks to Chris Walton):
  * Merge America/Iqaluit and America/Pangnirtung into the former,
    with a backward compatibility link for the latter name.
  * Cambridge Bay, Inuvik, Iqaluit, Rankin Inlet, Resolute and
    Yellowknife did not observe DST in 1965, and did observe DST
    from 1972 through 1979.
  * Whitehorse moved from -09 to -08 on 1966-02-27, not 1967-05-28.
  * Colombia's 1993 fallback was 02-06 24:00, not 04-04 00:00.
  * Singapore's 1981-12-31 change was at 16:00 UTC (23:30 local time),
    not 24:00 local time.

Zones added by this update:
	America/Ciudad_Juarez
2022-12-11 06:46:49 +00:00
kre 541d12f6c6 Import tzdata2022f from
https://github.com/JodaOrg/global-tz/releases/download/2022fgtz/tzdata2022fgtz.tar.gz

Summary of changes in tzdata2022f (2022-10-28 18:04:57 -0700):
  * Mexico will no longer observe DST after 2022, except for areas
    near the US border that continue to observe US DST rules.
  * Fiji will not observe DST in 2022/3.
  * Simplify four Ontario zones, as most of the post-1970 differences
    seem to have been imaginary.
2022-10-30 01:02:50 +00:00
kre c82222e4fa Import tzdata2022e from https://github.com/JodaOrg/global-tz/releases/download/2022egtz/tzdata2022egtz.tar.gz
Summary of changes in tzdata2022e (2022-10-11 11:13:02 -0700):
  * Jordan and Syria are abandoning the DST regime and are changing to
    permanent +03, so they will not fall back from +03 to +02 on
    2022-10-28.
  * On 1922-01-01 Tijuana adopted standard time at 00:00, not 01:00.
2022-10-13 11:24:54 +00:00
kre bca2b8743e Import tzdata2022d from https://github.com/JodaOrg/global-tz/releases/download/2022dgtz/tzdata2022dgtz.tar.gz
Summary of changes in tzdata2022d (2022-09-23 12:02:57 -0700):
  * Palestine now springs forward and falls back at 02:00 on the
    first Saturday on or after March 24 and October 24, respectively.
  * Simplify three Ukraine zones to one, since the post-1970
    differences seem to have been imaginary.

This is an update from 2022b to 2022d, there were no tzdata changes in 2022c
2022-09-28 11:05:35 +00:00
kre f2c04a3f60 Import tzdata2022c from https://github.com/JodaOrg/global-tz/releases/download//2022bgtz/tzdata2022bgtz.tar.gz
Summary of changes in tzdata2022c (2022-08-15 17:47:18 -0700):
  * None.

Summary of changes in tzdata2022b (2022-08-10 15:38:32 -0700):
  * Chile's 2022 DST start is delayed from September 4 to September 11.
  * Iran plans to stop observing DST permanently, after it falls back
    on 2022-09-21.
  * From fall 1994 through fall 1995, Shanks wrote that Crimea's
    DST transitions were at 02:00 standard time, not at 00:00.
  * Iran adopted standard time in 1935, not 1946.
  * Chile's observance of -04 from 1946-08-29 through 1947-03-31 was
    considered DST, not standard time.
  * Some old, small clock transitions have been removed, as people at
    the time did not change their clocks.
2022-08-17 12:17:43 +00:00
kre e02547484a Import tzdata2022agtz
not from ftp://ftp.iana.org/tz/releases/tzdata2022agtz.tar.gz
   (2022a comes from ftp://ftp.iana.org/tz/releases/tzdata2022a.tar.gz)

Note that 2022agtz is mechanically derived from 2022a by moving back
zone data from the "backzone" file that had been removed as "redundant"
(because differences to some other zone are all prior to 1970) so that
this pre 1970 data is restored.   It isn't necessarily correct in all
cases, but it is usually better than using some other zone's data which
is just as likely to be incorrect for where it applies, and more so elsewhere.

Summary of changes in tzdata2022a (2022-03-15 23:02:01 -0700):
  * Palestine will spring forward on 2022-03-27, not 2022-03-26.
  * From 1992 through spring 1996, Ukraine's DST transitions were at
    02:00 standard time, not at 01:00 UTC.
  * Chile's Santiago Mean Time and its LMT precursor have been adjusted
    eastward by 1 second to align with past and present law.
  * Changes to commentary.
2022-03-20 17:59:47 +00:00
kre 85ab5c8c07 Import tzdata2021a from ftp://ftp.iana.org/tz/releases/tzdata2021a.tar.gz
Summary of changes in tzdata2021a (2021-01-24 10:54:57 -0800):

	South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
2021-01-24 21:58:58 +00:00
kre 1e059fcf94 Import tzdata2020f from ftp://ftp.iana.org/tz/releases/tzdata2020f.tar.gz
Release 2020f - 2020-12-29 00:17:46 -0800

    No changes to tzdata, just to a part of the build procedure
    not used on NetBSD

Release 2020e - 2020-12-22 15:14:34 -0800

    Volgograd switched to Moscow time on 2020-12-27 at 02:00.

    Correct many pre-1986 transitions, fixing entries originally
    derived from Shanks.  The fixes include changes to:
      Australia, Bahamas, Bermuda, Belize, Ghana, Israel and Palestine,
      Kenya and adjacent, Nigeria and adjacent, Seychelles, Vanuatu

    Australia/Currie has been moved to the 'backward' file and its
    corrected data moved to the 'backzone' file.

    To better match legislation in Turks and Caicos, the 2015 shift to
    year-round observance of -04 is now modeled as AST throughout before
    returning to Eastern Time with US DST in 2018, rather than as
    maintaining EDT until 2015-11-01.
2020-12-31 07:49:54 +00:00
kre 1b45559ec8 Import tzdata2020d from ftp://ftp.iana.org/tz/releases/tzdata2020d.tar.gz
Summary of changes in tzdata2020d (2020-10-21 11:24:13 -0700):

	Palestine ends DST earlier than predicted, on 2020-10-24.
2020-10-22 08:23:32 +00:00
kre 04cbe43f35 Import tzdata2020c from ftp://ftp.iana.org/tz/releases/tzdata2020c.tar.gz
News for the tz database

Release 2020c - 2020-10-16 11:15:53 -0700

    Fiji starts DST later than usual, on 2020-12-20.
2020-10-17 08:27:22 +00:00
kre d1e9cf2fa1 Import tzdata2020b from ftp://ftp.iana.org/tz/releases/tzdata2020b.tar.gz
Summary of changes in tzdata2020b (2020-10-06 18:35:04 -0700):

     Revised predictions for Morocco's changes starting in 2023.
     Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
     Macquarie Island has stayed in sync with Tasmania since 2011.
     Casey, Antarctica is at +08 in winter and +11 in summer.
2020-10-08 04:27:22 +00:00
kre 85137f1a5a Import tzdata2020a from ftp://ftp.iana.org/tz/releases/tzdata2020a.tar.gz
Summary of changes in tzdata2020a (2020-04-23 16:03:47 -0700):

    Morocco resumes summer time on 2020-05-31, not 2020-05-24.
    Canada's Yukon advanced to -07 year-round on 2020-03-08 (summer time
      will not end this year)..
    America/Nuuk renamed from America/Godthab (both names now exist).
2020-04-25 12:16:58 +00:00
kre f1ffd160ec Import tzdata2019c from ftp://ftp.iana.org/tz/releases/tzdata2019c.tar.gz
Summary of changes in tzdata2019c (2019-09-11 08:59:48 -0700):
	Fiji observes DST from 2019-11-10 to 2020-01-12
	Norfolk Island starts observing Australian-style DST

	Plus historic corrections to time in Turkey (1940-85)
	South Korea (1948-51) Detroit (US) (1967-8), Perry County
	(Indiana, US) (pre 1970) Edmonton (CA) (1967, 1969)
	Vancouver (CA) (1946), Vienna (AT) (1946), Kaliningrad (1945-6).
	Louisville (US) (1946-50).  Brussles (BE) (1892).
	Hong Kong Winter Time (1941) now listed as being "DST".

Summary of changes in tzdata2019b (2019-07-01 00:09:53 -0700):

	Brazil no longer observes DST
	Predictions for Morocco extended to 2087.
	Panestine (March 2019) time zone change date corrected
	(and guesses for future transitions revised).

	Historic updates:  Honk Kong (1941 - 1947), Italy (1866).
2019-10-08 02:43:56 +00:00
kre 6ae078d591 Import tzdata2019a from ftp://ftp.iana.org/tz/releases/tzdata2019a.tar.gz
Release 20198 - 2019-03-25 22:01:33 -0700

  Briefly:
    Palestine summer time starts on 2019-03-30 instead of 2019-03-23.
    Metlakatla switched back to rejoin Alaska Time on 2019-01-20 at 02:00.

    Israel observed summer time in 1980 (08-02/09-13) and 1984 (05-05/08-25).

    Etc/UCT is now a backward-compatibility link to Etc/UTC, instead
    of being a separate zone that generates the abbreviation "UCT".
2019-03-26 10:06:10 +00:00
kre 3eef27afc6 Import tzdata2018i from ftp://ftp.iana.org/tz/releases/tzdata2018i.tar.gz
Summary of changes in tzdata2018i (2018-12-30 11:05:43 -0800):

    Due to a change in government, Sao Tome and Principe switches back
    from +01 to +00 on 2019-01-01 at 02:00.
2018-12-31 02:44:43 +00:00
kre 71c5500097 Import tzdata2018h from ftp://ftp.iana.org/tz/releases/tzdata2018h.tar.gz
Summary of changes in tzdata2018h (2018-12-23 17:59:32 -0800):

    Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
    +05 on 2018-12-21.  This is a zone split as Qostanay (aka
    Kostanay) did not switch, so create a zone Asia/Qostanay.

    Metlakatla, Alaska observes PST this winter only.

    Add predictions for Iran from 2038 through 2090.

    Changes to some old timestamps for Nauru (1979) Guam (1959-77),
    Hong Kong (1904, 1941, 1945, 1952) (others in Pacific during WWII)
2018-12-30 00:40:41 +00:00
kre 01defe006d Import tzdata2018g from ftp://ftp.iana.org/tz/releases/tzdata2018g.tar.gz
Summary of changes in tzdata2018g (2018-10-26 22:22:45 -0700):

    Morocco switches to permanent +01 on 2018-10-27.
2018-10-27 20:26:38 +00:00
kre 4e6fe19d25 Import tzdata2018f from ftp://ftp.iana.org/tz/releases/tzdata2018f.tar.gz
Volgograd moves from +03 to +04 on 2018-10-28.
  Fiji ends DST 2019-01-13, not 2019-01-20.
  Most of Chile changes DST dates, effective 2019-04-06.

  Plus corrections to North Korea's 2018-05-05 and China's April 1988
  updates (getting the actual time/date of the transition correct)
  Corrections for Macau pre 1992, Japan in late 1940's - early 1950's,
  and China (Shanghai) 1940's.  The Phillipines get their timezone
  name abbreviations back.
2018-10-19 04:31:33 +00:00
kre 3d260806c8 Import tzdata2018e from ftp://ftp.iana.org/tz/releases/tzdata2018e.tar.gz
Summary of changes in tzdata2018e (2018-05-01 23:42:51 -0700):

News for the tz database

Release 2018e - 2018-05-01 23:42:51 -0700

    North Korea switches back to +09 on 2018-05-05 (tomorrow!)
2018-05-04 10:53:16 +00:00
kre 57c2f40680 Import tzdata2018d from ftp://ftp.iana.org/tz/releases/tzdata2018d.tar.gz
Summary of changes in tzdata2018d (2018-03-22 07:05:46 -0700):

	In 2018, Palestine starts DST on March 24 (today!), not March 31

	Casey Station in Antarctica changed from +11 to +08 on 2018-03-11
	at 04:00.

	Various adjustments to some historical conversions (several for
	Uruguay (1920 .. 1990), one fpr Enderbury and Kiritimati (1994/5),
	one for Portugal and colonies (1912) and Jamaica and Turks & Caicos
	(pre 1913)).
2018-03-24 01:44:51 +00:00
kre 12442e81b9 Import tzdata2018c from ftp://ftp.iana.org/tz/releases/tzdata2018c.tar.gz
Summary of changes in tzdata2018c (2018-01-22 23:00:44 -0800):
Summary of changes in tzdata2018b (2018-01-17 23:24:48 -0800):
Summary of changes in tzdata2018a (2018-01-12 22:29:21 -0800):

	2018a and 2018b were (kind of) released, but never announced.
	Some "issues" were found with them that caused the relatively
	quick updates...

	The updates are from the previous version (2017c) to the
	current one (2018c) - that 2018a & 2018b intervened is best
	forgotten... (changes in 2018a that were corrected (2018b) or
	reverted (2018c) are not mentioned).

  Briefly:

     Sao Tome and Principe (An island nation off west coast of Equatorial Africa)
     switched from +00 to +01.

     Brazil's DST will now start on November's first Sunday.

     Use Debian-style installation locations, instead of 4.3BSD-style.
	(this does not affect NetBSD, we do not use the tzdata Makefile)

  Changes to past and future time stamps

    Sao Tome and Principe switched from +00 to +01 on 2018-01-01 at
    01:00.  (Thanks to Steffen Thorsen and Michael Deckers.)

  Changes to future time stamps

    Starting in 2018 southern Brazil will begin DST on November's
    first Sunday instead of October's third Sunday.  (Thanks to
    Steffen Thorsen.)

  Changes to past time stamps

    Japanese DST transitions (1948-1951) were Sundays at 00:00, not
    Saturdays or Sundays at 02:00.  (Thanks to Takayuki Nikai.)

    A discrepancy of 4 s in timestamps before 1931 in South Sudan has
    been corrected.  The 'backzone' and 'zone.tab' files did not agree
    with the 'africa' and 'zone1970.tab' files.  (Problem reported by
    Michael Deckers.)

    The abbreviation invented for Bolivia Summer Time (1931-2) is now
    BST instead of BOST, to be more consistent with the convention
    used for Latvian Summer Time (1918-9) and for British Summer Time.
2018-01-24 13:51:56 +00:00
kre 1677822808 Import tzdata2017c from ftp://ftp.iana.org/tz/releases/tzdata2017c.tar.gz
Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
   Fiji ends DST 2018-01-14, not 2018-01-21.
   Namibia switches from +01/+02 to +02 on 2018-04-01.
   Sudan switches from +03 to +02 on 2017-11-01.
   Tonga likely switches from +13/+14 to +13 on 2017-11-05.
   Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
   Some corrections to (mostly ancient) historical data.
2017-10-24 01:25:55 +00:00
kre 057bf9d3c9 Import tzdata2017b from ftp://ftp.iana.org/tz/releases/tzdata2017b.tar.gz
Summary of changes in tzdata2017b (2017-03-17 07:30:38 -0700):
    Haiti resumed observance of DST in 2017 (on Mar 12)

    Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.
    Use "MMT" to abbreviate Liberia's time zone before 1972,
    as "-004430" (tzdata2016a) is one byte over the POSIX limit.
2017-03-21 19:22:44 +00:00
kre 916ccc3acb Import tzdata2017a from ftp://ftp.iana.org/tz/releases/tzdata2017a.tar.gz
Summary of changes in tzdata2017a (2017-02-28 00:05:36 -0800):

  Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia
  discontinues DST.

  Changes to future time stamps

    Mongolia no longer observes DST.
    Chile's Region of Magallanes moves from -04/-03 to -03 year-round.

  Changes to past time stamps

    Fix many entries for historical time stamps for Europe/Madrid
    before 1979, to agree with tables compiled by Pere Planesas of the
    National Astronomical Observatory of Spain.  As a side effect,
    this changes some time stamps for Africa/Ceuta before 1929, which
    are probably guesswork anyway.

    Ecuador observed DST from 1992-11-28 to 1993-02-05.

    Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21.

  Changes to past and future time zone abbreviations

    Switch to numeric time zone abbreviations for South America, as
    part of the ongoing project of removing invented abbreviations.

    For Alaska time from 1900 through 1967, instead of "CAT" use the
    abbreviation "AST", the abbreviation commonly used at the time
    (Atlantic Standard Time had not been standardized yet).  Use "AWT"
    and "APT" instead of the invented abbreviations "CAWT" and "CAPT".

    Use "CST" and "CDT" instead of invented abbreviations for Macau
    before 1999 and Taiwan before 1938, and use "JST" instead of the
    invented abbreviation "JCST" for Japan and Korea before 1938.

  Change to database entry category

    Move the Pacific/Johnston link from 'australasia' to 'backward',
    since Johnston is now uninhabited.
2017-03-01 00:37:15 +00:00
kre 146bf278a1 Import tzdata2016j from ftp://ftp.iana.org/tz/releases/tzdata2016j.tar.gz
Summary of changes in tzdata2016j (2016-11-22 23:17:13 -0800):

    Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
    This creates a new zone Europe/Saratov.

    New zone Asia/Atyrau for Atyrau Region, Kazakhstan, is like
    Asia/Aqtau except it switched from +04/+05 to +05/+06 in spring
    1999, not fall 1994.

    Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
    summer time before 1948.  The old use of "EET" was a typo.
2016-11-24 05:43:10 +00:00
kre 71e091723d Import tzdata2016i from ftp://ftp.iana.org/tz/releases/tzdata2016i.tar.gz
Summary of changes in tzdata2016i (2016-11-01 23:19:52 -0700):

  Cyprus split into two time zones on 2016-10-30 (new zone is
  Asia/Famagusta and is UTC+3 year round).  Tonga reintroduces
  summer time on 2016-11-06 (assumed for now to be aligned with Fiji).
  This year's summer time switch (from +08 to +11) for Antarctica/Casey
  occurred 2016-10-22.

  Also (minor) adjustments to some historic data for Italy (most
  recent applies to time of day of switch out of summer time in period
  1967-1970 & 1972-1974, other changes relate to 1910's and 1940's.)
2016-11-03 09:52:33 +00:00
kre 57cbfd6826 Import tzdata2016h from ftp://ftp.iana.org/tz/releases/tzdata2016h.tar.gz
Summary of changes in tzdata2016h (2016-10-19 23:17:57 -0700):

	Asia/Gaza and Asia/Hebron end of summer time for 2016 is
	2016-10-29 at 01:00 rather than 2016-10-21 at 00:00 (which
	is within hours after this update).  Guess that future
	end dates will be the last Sat of October.

	Corrected some historic time (and one date) transition
	times for Turkey (all 1990 or before.)

	Switch Sri-Lanka to use numeric abbreviation for time zone
	as the tzdata invented one is not correct, and the correct
	one seems not to be widely used.
2016-10-20 23:12:25 +00:00
kre 0987ca6bdd Import tzdata2016g from ftp://ftp.iana.org/tz/releases/tzdata2016g.tar.gz
Summary of changes in tzdata2016g (2016-09-13 08:56:38 -0700):
	Timezone switch in Turkey (summer time becomes standard time)
	Transition time corrections for historic timestamps in
		America/Los_Angeles
		zones using USSR rules in early 20th century
	Some (more) time zone abbreviations converted to numeric form
	Asia/Rangoon becomes Asia/Yangon (with backward compat link)
2016-09-29 20:40:49 +00:00
kre 152c277450 Import tzdata2016f from ftp://ftp.iana.org/tz/releases/tzdata2016f.tar.gz
Summary of changes in tzdata2016f (2016-07-05 16:26:51 +0200):
  * The Egyptian government changed its mind on short notice, and
    Africa/Cairo will not introduce DST starting 2016-07-07 after all.
  * Asia/Novosibirsk switches from +06 to +07 on 2016-07-24 at 02:00.
  * Asia/Novokuznetsk and Asia/Novosibirsk now use numeric time zone
    abbreviations instead of invented ones.
  * Europe/Minsk's 1992-03-29 spring-forward transition was at 02:00 not 00:00.

Summary of changes in tzdata2016e (2016-06-14 08:46:16 -0700):
  * Africa/Cairo observes DST in 2016 from July 7 to the end of October.
	(change obsoleted by 2016f)
  * Locations while uninhabited now use '-00', not 'zzz', as a
    placeholder time zone abbreviation.
  * Asia/Baku's 1992-09-27 transition from +04 (DST) to +04 (non-DST) was
    at 03:00, not 23:00 the previous day.
  * zic now outputs a dummy transition at time 2**31 - 1 in zones
    whose POSIX-style TZ strings contain a '<'.
  * Changes affecting documentation and commentary.
2016-08-07 00:48:59 +00:00
agc e43c0cf1ef Import tzdata2016d from ftp://ftp.iana.org/tz/releases/tzdata2016d.tar.gz
Summary of changes in tzdata2016d (2016-04-17 22:50:29 -0700):
  * America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
  * Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
  * New zone Asia/Tomsk, split off from Asia/Novosibirsk.
  * New zone Europe/Kirov, split off from Europe/Volgograd.
  * Russia and nearby locations had daylight-saving transitions on
    1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
    1992-03-28 at 23:00 and 1992-09-26 at 23:00.
  * Many corrections to historical time in Kazakhstan from 1991
    through 2005.
  * Mention Internet RFCs 7808 (TZDIST) and 7809 (CalDAV time zone references).

Summary of changes in tzdata2016c (2016-03-23 00:51:27 -0700):
  * Azerbaijan no longer observes DST.
  * Chile reverts from permanent to seasonal DST.
  * Europe/Kaliningrad and Europe/Vilnius changed from +03/+04 to
    +02/+03 on 1989-03-26, not 1991-03-31.
  * Several updates and URLs for historical and proposed Russian changes.
2016-06-01 00:03:14 +00:00
christos 87b12df32d Import tzdata2016b from ftp://ftp.iana.org/tz/releases/tzdata2016b.tar.gz
Summary of changes in tzdata2016b (2016-03-12 17:30:14 -0800):
  * New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
    Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
    2016-03-27 at 02:00 local time.
  * As a trial of a new system that needs less information to be made up,
    the new zones use numeric time zone abbreviations like "+04"
    instead of invented abbreviations like "ASTT".
  * Haiti will not observe DST in 2016.
  * Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
  * Europe/Chisinau observed DST during 1990, and switched from +04 to
    +03 at 1990-05-06 02:00, instead of switching from +03 to +02.
  * 1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
    KUYT/KUYST.
  * tzselect's diagnostics and checking, and checktab.awk's checking,
    have been improved.
  * tzcode now builds under MinGW.
  * tzselect now tests Julian-date TZ settings more accurately.
  * Comments in zone tables have been improved.
  * tzselect again limits its menu comments so that menus fit on a
    24x80 alphanumeric display.
  * A new web page tz-how-to.html.
  * In the Theory file, the description of possible time zone abbreviations in
    tzdata has been cleaned up, as the old description was unclear and
    inconsistent.

Summary of changes in tzdata2016a (2016-01-26 23:28:02 -0800):
  * America/Cayman will not observe daylight saving this year after all.
  * Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
  * Asia/Tehran now has DST predictions for the year 2038 and later,
    to be March 21 00:00 to September 21 00:00.
  * America/Metlakatla switched from PST all year to AKST/AKDT on
    2015-11-01 at 02:00.
  * America/Santa_Isabel has been removed, and replaced with a
    backward compatibility link to America/Tijuana.
  * Asia/Karachi's two transition times in 2002 were off by a minute.
  * Changes affecting documentation and commentary.

Summary of changes in tzdata2015g (2015-10-01 00:39:51 -0700):
  * Turkey's 2015 fall-back transition is scheduled for Nov.
  * Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
  * Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
  * Fort Nelson, British Columbia will not fall back on 2015-11-01.
  * Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.
  * Changes affecting documentation.
2016-03-15 17:10:27 +00:00
apb 854aa092f5 Import tzdata2015f from ftp://ftp.iana.org/tz/releases/tzdata2015f.tar.gz
Summary of changes in tzdata2015f (2015-08-10 18:06:56 -0700):
  * North Korea switches to +0830 on 2015-08-15.
  * Uruguay no longer observes DST.
  * Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
  * The two characters '%z' in a zone format now stand for the UTC
    offset, e.g., '-07' for seven hours behind UTC and '+0530' for
    five hours and thirty minutes ahead.
  * Comments for America/Halifax and America/Glace_Bay have been improved.
  * Data entries have been simplified for Atlantic/Canary, Europe/Simferopol,
    Europe/Sofia, and Europe/Tallinn.
  * Changes affecting documentation.
2015-08-11 18:07:00 +00:00
apb 22339083f8 Import tzdata2015e from http://www.iana.org/time-zones/repository/releases/tzdata2015e.tar.gz
Summary of changes in tzdata2015e (2015-06-13 10:56:02 -0700):
  * Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
    not 06-13 and 07-18 as we had guessed.
  * Assume Cayman Islands will observe DST starting next year, using US rules.
  * The file 'iso3166.tab' now uses UTF-8, so that its entries can better
    spell the names of Åland Islands, Côte d'Ivoire, and Réunion.

Summary of changes in tzdata2015d (2015-04-24 08:09:46 -0700):
  * Egypt will not observe DST in 2015 and will consider canceling it
    permanently.  For now, assume no DST indefinitely.
  * America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not
    1966-07-01.
  * The abbreviations for Hawaii-Aleutian standard and daylight times
    have been changed from HAST/HADT to HST/HDT, as per US Government
    Printing Office style.

Summary of changes in tzdata2015c (2015-04-11 08:55:55 -0700):
  * Egypt's spring-forward transition is at 24:00 on April's last Thursday,
    not 00:00 on April's last Friday.  This affects 2015, 2026, 2037,
    2043, etc.
  * Changes to pre-1991 Chile-related time stamps in America/Santiago,
    Antarctica/Palmer, and Pacific/Easter.
  * The America/Montreal zone has been turned into a link, as it differed
    from an existing zone only for pre-1970 time stamps.
2015-06-21 15:18:52 +00:00
apb 4b49c11d8a Import tzdata2015b from ftp://ftp.iana.org/tz/releases/tzdata2015b.tar.gz
Summary of changes in tzdata2015b (2015-03-19 23:28:11 -0700):
  * Mongolia will start observing DST again in 2015, from the last
    Saturday in March at 02:00 to the last Saturday in September at 00:00.
  * Palestine will start DST on March 28, not March 27, in 2015.
  * The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
    regression.
  * Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.
  * Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
  * Changes affecting commentary.
2015-03-21 15:45:33 +00:00
apb 7da488d453 Import tzdata2015a from ftp://ftp.iana.org/tz/releases/tzdata2015a.tar.gz
Summary of changes in tzdata2015a (2015-01-29 22:35:20 -0800):
  * The Mexican state of Quintana Roo, represented by America/Cancun,
    will shift from Central Time with DST to Eastern Time without DST
    on 2015-02-01 at 02:00.
  * Chile will not change clocks in April or thereafter; its new standard time
    will be its old daylight saving time.  This affects America/Santiago,
    Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.)
  * New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
  * Iceland observed DST in 1919 and 1921, and its 1939 fallback
    transition was Oct.
  * Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.
  * Changes affecting commentary.
2015-01-31 18:23:14 +00:00
apb 27fc7b4ef8 Import tzdata2014j from ftp://ftp.iana.org/tz/releases/tzdata2014j.tar.gz
Summary of changes in tzdata2014j (2014-11-10 17:37:11 -0800):
  * Turks & Caicos' switch from US eastern time to UTC-4 year-round
    did not occur on 2014-11-02 at 02:00.
  * Many pre-1989 time stamps have been corrected for Asia/Seoul and
    Asia/Pyongyang, based on sources for the Korean-language Wikipedia
    entry for time in Korea.
  * Some more zones have been turned into links, when they differed
    from existing zones only for older (pre-1970) time stamps.
  * Changes affecting commentary.

Summary of changes in tzdata2014i (2014-10-21 22:04:57 -0700):
  * Pacific/Fiji will observe DST from 2014-11-02 02:00 to 2015-01-18 03:00.
  * A new Zone Pacific/Bougainville, for the part of Papua New Guinea
    that plans to switch from UTC+10 to UTC+11 on 2014-12-28 at 02:00.
  * Since Belarus is not changing its clocks even though Moscow is,
    the time zone abbreviation in Europe/Minsk is changing from FET
    to its more-traditional value MSK on 2014-10-26 at 01:00.
  * The new abbreviation IDT stands for the pre-1976 use of UT+8 in
    Indochina, to distinguish it better from ICT (UT+7).
  * Many time stamps have been corrected for Asia/Ho_Chi_Minh before 1976.
    Asia/Ho_Chi_Minh has been added to zone1970.tab, to give tzselect
    users in Vietnam two choices, since north and south Vietnam
    disagreed after our 1970 cutoff.
  * Asia/Phnom_Penh and Asia/Vientiane have been turned into links, as
    they differed from existing zones only for older (pre-1970) time stamps.
  * Changes affecting commentary.
2014-11-16 07:08:08 +00:00
apb fe2acbe390 Import tzdata2014i from ftp://ftp.iana.org/tz/releases/tzdata2014i.tar.gz
Summary of changes in tzdata2014i (2014-10-21 22:04:57 -0700):
  * Pacific/Fiji will observe DST from 2014-11-02 02:00 to 2015-01-18 03:00.
    Guess that future years will use a similar pattern.
  * A new Zone Pacific/Bougainville, for the part of Papua New Guinea
    that plans to switch from UTC+10 to UTC+11 on 2014-12-28 at 02:00.
  * Since Belarus is not changing its clocks even though Moscow is,
    the time zone abbreviation in Europe/Minsk is changing from FET
    to its more-traditional value MSK on 2014-10-26 at 01:00.
  * The new abbreviation IDT stands for the pre-1976 use of UT+8 in
    Indochina, to distinguish it better from ICT (UT+7).
  * Many time stamps have been corrected for Asia/Ho_Chi_Minh before 1976.
    Asia/Ho_Chi_Minh has been added to zone1970.tab, since
    north and south Vietnam disagreed after our 1970 cutoff.
  * Asia/Phnom_Penh and Asia/Vientiane have been turned into links, as
    they differed from existing zones only for pre-1970 time stamps.
  * Changes affecting commentary.
2014-10-23 03:37:19 +00:00
apb 38a262bc7c Import tzdata2014h from ftp://ftp.iana.org/tz/releases/tzdata2014h.tar.gz
Summary of changes in tzdata2014h (2014-09-25 18:59:03 -0700):
  * America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.
  * Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
    not 1920-01-06.
  * Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Africa/Blantyre, Africa/Bujumbura,
    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.
  * Changes affecting documentation and commentary.
2014-10-04 11:42:09 +00:00
apb 9a17369d4c Import tzdata2014g from ftp://ftp.iana.org/tz/releases/tzdata2014g.tar.gz
Summary of changes in tzdata2014g (2014-08-28 12:31:23 -0700):
  * Turks & Caicos is switching from US eastern time to UTC-4 year-round,
    modeled as a switch from EST/EDT to AST on 2014-11-02 at 02:00.
  * Time in Russia or the USSR before 1926 or so has been corrected by
    a few seconds for several zones, and a few minutes for
    Asia/Yekaterinburg.
  * The Portuguese decree of 1911-05-26 took effect on 1912-01-01, not
    on the date of the decree.  This affects 1911 time stamps in
    Africa/Bissau, Africa/Luanda, Atlantic/Azores, and Atlantic/Madeira.
  * Lisbon's pre-1912 GMT offset was -0:36:45 (rounded from -0:36:44.68),
    not -0:36:32.
  * Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.
  * A new file 'backzone' contains data which may appeal to
    connoisseurs of old time stamps, although it is out of scope for
    the tz database, is often poorly sourced, and contains some data
    that is known to be incorrect.
  * Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
  * Changes affecting documentation and commentary.
2014-08-31 06:46:20 +00:00
apb 8e8793c8be Import tzdata2014f from ftp://ftp.iana.org/tz/releases/tzdata2014f.tar.gz
and NEWS file from https://github.com/eggert/tz/raw/2014f/NEWS.

NetBSD's tzdata code is being moved from src/share/zoneinfo to
src/external/public-domain/tz/dist, to simplify future maintenance.

This is the same version of tzata that was previously imported to
src/share/zoneinfo.  The NEWS file has been added to the import,
although it is not distributed in the tzdata2014f.tar.gz file.
2014-08-08 08:56:47 +00:00
apb fb48c035f2 Import tzdata2014f from ftp://ftp.iana.org/tz/releases/tzdata2014f.tar.gz
Summary of changes in tzdata2014f (2014-08-05 17:42:36 -0700):
  * Russia will subtract an hour from most of its time zones on 2014-10-26
    at 02:00 local time.  There are some exception.
  * The following new zones are added to deal with changes in Russia:
    Asia/Chita and Asia/Srednekolymsk.
  * Australian eastern time zone abbreviations are now AEST/AEDT not EST,
    and similarly for the other Australian zones.
  * Asia/Novokuznetsk shifts from NOVT to KRAT (remaining on UTC+7)
    effective 2014-10-26 at 02:00 local time.
  * The time zone abbreviation for Xinjiang Time (observed in Ürümqi)
    has been changed from URUT to XJT.
  * Prefer MSK/MSD for Moscow time in Russia, even in other cities.
  * Change time zone abbreviations in (western) Samoa to use "ST" and
    "DT" suffixes, as this is more likely to match common practice.
  * America/Metlakatla now uses PST, not MeST, to abbreviate its time zone.
  * Time zone abbreviations have been updated for Japan's two time
    zones used 1896-1937.
  * China's five zones have been simplified to two, since the post-1970
    differences in the other three seem to have been imaginary.  The
    zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been
    removed; backwards-compatibility links still work, albeit with
    different behaviors for time stamps before May 1980.  Asia/Urumqi's
    1980 transition to UTC+8 has been removed, so that it is now at
    UTC+6 and not UTC+8.
  * Some zones have been turned into links, when they differed from existing
    zones only for older UTC offsets where the data were likely invented.
    The affected zones are: Africa/Bamako, Africa/Banjul,
    Africa/Conakry, Africa/Dakar, Africa/Freetown, Africa/Lome,
    Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome, and
    Atlantic/St_Helena.  This also affects the backwards-compatibility
    link Africa/Timbuktu.
  * Asia/Shanghai's pre-standard-time UT offset has been changed from
    8:05:57 to 8:05:43, the location of Xujiahui Observatory.  Its
    transition to standard time has been changed from 1928 to 1901.
  * Asia/Taipei switched to JWST on 1896-01-01, then to JST on 1937-10-01,
    then to CST on 1945-09-21 at 01:00, and did not observe DST in 1945.
    In 1946 it observed DST from 05-15 through 09-30; in 1947
    from 04-15 through 10-31; and in 1979 from 07-01 through 09-30.
  * Asia/Riyadh's transition to standard time is now 1947-03-14, not 1950.
  * Europe/Helsinki's 1942 fall-back transition was 1942-10-04 at 01:00, not
    1942-10-03 at 00:00.
  * Pacific/Pago_Pago has been changed from UTC-11:30 to UTC-11 for the period
    from 1911 to 1950.
  * Pacific/Chatham has been changed to New Zealand standard time plus
    45 minutes for the period before 1957, reflecting a 1956 remark in
    the New Zealand parliament.
  * Europe/Budapest has several pre-1946 corrections.
  * Africa/Accra is now assumed to have observed DST from 1920 through 1935.
  * Time in Russia before 1927 or so has been corrected by a few seconds in
    the following zones: Europe/Moscow, Asia/Irkutsk, Asia/Tbilisi,
    Asia/Tashkent, Asia/Vladivostok, Asia/Yekaterinburg, Europe/Helsinki, and
    Europe/Riga.
  * A new file 'zone1970.tab' supersedes 'zone.tab' in the installed data.
    The new file's extended format allows multiple country codes per zone.
    The older file is still installed but is deprecated; its format is
    not changing and it will still be distributed for a while, but new
    applications should use the new file.
  * The file 'iso3166.tab' is planned to switch from ASCII to UTF-8.
    It is still ASCII now, but commentary about the switch has been added.
  * Changes affecting documentation and commentary.
2014-08-06 18:35:33 +00:00
apb fe22788af7 Import tzdata2014e from ftp://ftp.iana.org/tz/releases/tzdata2014e.tar.gz
Summary of changes in tzdata2014e (2014-06-12 21:53:52 -0700):
  * Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00.
    (Thanks to Imed Chihi.)  Guess that from 2015 on Egypt will temporarily
    switch to standard time at 24:00 the last Thursday before Ramadan, and
    back to DST at 00:00 the first Friday after Ramadan.
  * Similarly, Morocco's are June 28 at 03:00 and August 2 at 02:00.  (Thanks
    to Milamber Space Network.)  Guess that from 2015 on Morocco will
    temporarily switch to standard time at 03:00 the last Saturday before
    Ramadan, and back to DST at 02:00 the first Saturday after Ramadan.
  * The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of
    "MSD" for Moscow's double daylight time in summer 1921.  Also, a typo
    "VLASST" has been repaired to be "VLAST" for Vladivostok summer time
    in 1991.  (Thanks to Hank W. for reporting the problems.)
  * Changes affecting commentary.

Summary of changes in tzdata2014d (2014-05-27 21:34:40 -0700):
  * Changes affecting documentation.
2014-06-13 19:48:55 +00:00
apb 2ce07d4d93 Import tzdata2014c from ftp://ftp.iana.org/tz/releases/tzcode2014c.tar.gz
Changes from tzdata2013i to tzdata2014a:

     Turkey begins DST on 2014-03-31, not 03-30.

     Fiji ended DST on 2014-01-19 at 02:00, not 03:00.

     Ukraine switched from Moscow to Eastern European time on 1990-07-01
     (not 1992-01-01), and observed DST during the entire next winter.

     In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to
     09-03.

     Also some changes affecting commentary and documentation

Changes from tzdata2014a to tzdata2014b:

     Crimea switches to Moscow time on 2014-03-30 at 02:00 local time.

     New entry for Troll station, Antarctica.

     Also some changes affecting commentary and documentation

Changes from tzdata2014b to tzdata2014c:

     Egypt observes DST starting 2014-05-15 at 24:00.
     Guess that DST will stop during the same Ramadan dates as Morocco,
     and make some other guesses.

     Also some changes affecting commentary and documentation
2014-05-15 15:42:10 +00:00
apb e77ed9159b Import tzdata2013i from ftp://ftp.iana.org/tz/releases/tzdata2013i.tar.gz.
Major changes from tzdata2013d to tzdata2013e:

  Fiji (Pacific/Fiji) DST in 2013 starts on October 27, not October 20.

  Several zones have been turned into links, either to correct errors,
  or where the differences were in older data (before 1943) that was
  thought to be unreliable.

  Some time zone abbreviations have been changed.

Major changes from tzdata2013e to tzdata2013f:

  Tocantins, Brazil (America/Araguaina) DST will not start in September
  2013.

  Jordan (Asia/Amman) moves to permanent UTC+3 (instead of UTC+2 with
  permanent DST since 2012).

  Palestine (Asia/Hebron and Asia/Gaza) will end DST at 00:00, not
  01:00, as from September 2013.

Major changes from tzdata2013f to tzdata2013g:

  Morocco (Africa/Casablanca) now observes DST from the last Sunday
  in March to the last Sunday in October, not April to September.
  respectively.

Major changes from tzdata2013g to tzdata2013h:

  Libya (Africa/Tripoli) has switched its time zone back to UTC+2
  without DST, instead of UTC+1 with DST.

  Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.

  Acre, Brazil (America/Rio_Branco) and (we guess) western Amazonas,
  Brazil (America/Eirunepe), will switch from UTC-4 to UTC-5 on
  2013-11-10.

  Add entries for DST transitions in Morocco in the year 2038.  This
  avoids some year-2038 glitches introduced in 2013g.

Major changes from tzdata2013h to tzdata2013i:

  Jordan (Asia/Amman) switches back to UTC+2 standard time at 00:00 on
  December 20, 2013.  The 2006-2011 DST transition schedule is planned
  to resume in 2014.  The switch to permanent UTC+3 is cancelled.

  In 2004, Cuba (America/Havana) began DST on March 28, not April 4.

  The files solar87, solar88, and solar89 are no longer distributed.
  The zones built from those files (Asia/Riyadh{87,88,89}) and
  Mideast/Riyadh{87,88,89}) are no longer installed.  They were a
  negative experiment -- that is, a demonstration that tz data can
  represent solar time only with some difficulty and error.  Their
  presence in the distribution caused confusion, as Riyadh civil time
  was generally not solar time in those years.
2013-12-26 16:40:53 +00:00
apb e36ae8ed81 Import tzdata2013d from ftp://ftp.iana.org/tz/releases/tzdata2013d.tar.gz
Summary of changes from tzdata2013c to tzdata2013d:

  Changes affecting current and future time stamps:

    Morocco's midsummer transitions this year are July 7 and August 10,
    not July 9 and August 8.  (Thanks to Andrew Paprocki.)

    Israel now falls back on the last Sunday of October.
    (Thanks to Ephraim Silverberg.)

  Changes affecting past time stamps:

    Specify Jerusalem's location more precisely; this changes the pre-1880
    times by 2 s.

  Changing affecting metadata only:

    Fix typos in the entries for country codes BQ and SX.

  Changes affecting documentation and commentary:

    Deemphasize the significance of national borders.

    Update the zdump man page.

    Remove obsolete NOID comment (thanks to Denis Excoffier).

    Update several URLs and comments in the web pages.

    Spelling fixes (thanks to Kevin Lyda and Jonathan Leffler).

    Update URL for CLDR Zone->Tzid table (thanks to Yoshito Umaoka).
2013-07-07 10:45:27 +00:00
apb 9f50fd7fbf Import tzdata2013c from ftp://ftp.iana.org/tz/releases/tzdata2013c.tar.gz
Summary of changes from tzdata2013b to tzdata2013c:

  Changes affecting current and future time stamps:

    Palestine observed DST starting March 29, 2013.
    From 2013 on, Gaza and Hebron both observe DST.
    Assume that the recent change to Paraguay's DST rules is permanent.

  Changes affecting past time stamps:

    Fix some historical data for Palestine.
    Fix times of habitation for Macquarie.

  Changing affecting metadata only:

    Macquarie Island is politically part of Australia, not Antarctica.
    Sort Macquarie more-consistently with other parts of Australia.
2013-05-08 08:15:47 +00:00
apb aab2cb8606 Import tzdata2013b from ftp://ftp.iana.org/tz/releases/tzdata2013b.tar.gz
Changes from tzdata2013a to tzdata2013b:

  Changes affecting current and future time stamps:

    Haiti uses US daylight-saving rules this year, and presumably future years.
    This changes time stamps starting today.  (Thanks to Steffen Thorsen.)

    Paraguay will end DST on March 24 this year.
    (Thanks to Steffen Thorsen.)  For now, assume it's just this year.

    Morocco does not observe DST during Ramadan;
    try to predict Ramadan in Morocco as best we can.
    (Thanks to Erik Homoet for the heads-up.)

  Changes affecting commentary:

    Update URLs in tz-link page.  Add URLs for webOS, BB10, iOS.
    Update URL for Solaris.  Mention Internet RFC 6557.
    Update Internet RFCs 2445->5545, 2822->5322.
    Switch from FTP to HTTP for Internet RFCs.
2013-03-12 14:50:20 +00:00
apb d1ad89099a Import tzdata2013a from ftp://ftp.iana.org/tz/releases/tzdata2013a.tar.gz
Changes from tzdata2012j to tzdata2013a:

   Change affecting binary data format:

     The zone offset at the end of version-2-format zone files is now
     allowed to be 24:00, as per POSIX.1-2008.  (Thanks to Arthor David Olson.)

   Changes affecting current and future time stamps:

     Chile's 2013 rules, and we guess rules for 2014 and later, will be
     the same as 2012, namely Apr Sun>=23 03:00 UTC to Sep Sun>=2 04:00 UTC.
     (Thanks to Steffen Thorsen and Robert Elz.)

     New Zones Asia/Khandyga, Asia/Ust-Nera, Europe/Busingen.
     (Thanks to Tobias Conradi and Arthur David Olson.)

   Many changes affect historical time stamps before 1940.
   These were deduced from: Milne J. Civil time. Geogr J. 1899
   Feb;13(2):173-94 <http://www.jstor.org/stable/1774359>.
2013-03-03 19:42:29 +00:00
apb 8785decd19 Import tzdata2012j from ftp://ftp.iana.org/tz/releases/tzdata2012j.tar.gz
Changes from tzdata2012i to tzdata2012j:

  Libya moved to CET this weekend, but with DST planned next year.
  (Thanks to Even Scharning, Steffen Thorsen, and Tim Parenti.)

  Various fixes to documentation and commentary.
2012-11-13 10:57:32 +00:00
apb 19e20eb6e3 Import tzdata2012i from ftp://ftp.iana.org/tz/releases/tzdata2012i.tar.gz
Changes from tzdata2012h to tzdata2012i:

  Cuba switches from DST on 4 Nov 2012 at 01:00.  (Thanks to Steffen Thorsen.)
2012-11-04 17:53:27 +00:00
apb 4e8e65a8f4 Import tzdata2012g from ftp://ftp.iana.org/tz/releases/tzdata2012h.tar.gz
Changes from tzdata2012g to tzdata2012h:

  Bahia no longer has DST.  (Thanks to Kelley Cook.)

  Tocantins has DST.  (Thanks to Rodrigo Severo.)

  Israel has new DST rules next year.  (Thanks to Ephraim Silverberg.)

  Jordan stays on DST this winter.  (Thanks to Steffen Thorsen.)

  Web page updates.
2012-10-27 16:43:05 +00:00
apb 687d6eea50 Import tzdata2012g from ftp://ftp.iana.org/tz/releases/tzdata2012g.tar.gz
Changes from tzdata2012f to tzdata2012g:

    Samoa fall 2012 and later.  (Thanks to Nicholas Pereira
    and Robert Elz.)

    Palestine fall 2012.  (Thanks to Steffen Thorsen.)

In addition to those changes, the tzdata distribution now includes
a copy of the Makefile from the tzcode distribution.  NetBSD's
src/share/zoneinfo/Makefile is completely different from the Makefile
that is now included in the tzdata distribution.
2012-10-18 08:47:23 +00:00
apb c37daf0681 Import tzdata2012f from
http://www.iana.org/time-zones/repository/releases/tzdata2012f.tar.gz

Changes from tzdata2012e to tzdata2012f:

  * australasia (Pacific/Fiji): Fiji DST is October 21 through January
    20 this year.  (Thanks to Steffen Thorsen.)
2012-09-27 15:51:45 +00:00
apb 9529cc8d01 Import tzdata2012e from ftp://ftp.iana.org/tz/releases/tzdata2012e.tar.gz
Majo changes from tzdata2012d to tzdata2012e:

  * australasia (Pacific/Fakaofo): Tokelau is UTC+13, not UTC+14.
    (Thanks to Steffen Thorsen.)

  * Use a single version number for both code and data.
2012-08-08 20:19:00 +00:00
apb 2e083069f5 Import tzdata2012d from ftp://ftp.iana.org/tz/releases/tzdata2012d.tar.gz
Major changes from tzdata2011b to tzdata2011c:
    africa
	    Summer time changes for Morocco (to start late April 2012)

    asia
	    Changes for 2012 for Gaza & the West Bank (Hebron) and Syria

    northamerica
	    Haiti following US/Canada rules for 2012 (and we're assuming,
	    for now anyway, for the future).

Major changes from tzdata2011c to tzdata2011d:

    Morocco does not observe DST from Jul 20 03:00 to
    Aug 20 02:00 [2012].

    Infrastructure changes to accommodate how the tz
    code and data are released on IANA.
2012-07-22 10:34:48 +00:00
apb 073a70214e Import tzdata2012b from ftp://munnari.oz.au/pub/tzdata2012b.tar.gz.
Changes since tzdata2012a:

    Most significantly, summer time in Cuba has been delayed 3 weeks
    (now starts April 1 rather than March 11).  Since Mar 11 (the old
    start date, as listed in 2012a) is just a little over a week away,
    this change is urgent.

    Less importantly, an excess tab in one of the changes in zone.tab
    in 2012a has been removed.
2012-03-02 07:01:46 +00:00
apb 23456b690d Merge tzdata2012a from ftp://munnari.oz.au/pub/tzdata2012a.tar.gz.
Major changes since tzdata2011n:
    Chile 2011/2012 and 2012/2013 summer time date adjustments.
    Falkland Islands onto permanent summer time (we're assuming for the
	    foreseeable future, though 2012 is all we're fairly certain of.)
    Armenia has abolished Summer Time.
    Tokelau jumped the International Date Line back last December
	    (just the same as their near neighbour, Samoa).
    America/Creston is a new zone for a small area of British Columbia
    There will be a leapsecond 2012-06-30 23:59:60 UTC.
2012-03-01 21:19:03 +00:00
apb 2815adc304 Import tzdata2011n.
There are three changes of note - most urgently, Cuba (America/Havana)
has extended summer time by two weeks, now to end on Nov 13, rather than
the (already past) Oct 30.   Second, the Pridnestrovian Moldavian Republic
(Europe/Tiraspol) decided not to split from the rest of Moldova after
all, and consequently that zone has been removed (again) and reinstated
in the "backward" file as a link to Europe/Chisinau.   And third, the
end date for Fiji's summer time this summer was moved forward from the
earlier planned Feb 26, to Jan 22.
2011-11-02 05:15:11 +00:00
apb 9d582ed756 Import tzdata2011m.
The executive summary:
        europe  Pridnestrovian Moldavian Republic (Europe/Tiraspol)
                has followed much of Russia, and will retain "summer time"
                year round (that is no time transition is due Oct 30).
                This reintroduces a zone that had earlier been removed,
                and so removes the "backward" link.

                On the other hand, Ukraine have decided not to follow,
                so the change which had been made in preparation for
                that in tzdata2011k is now reverted, and there will be
                a transition on Oct 30.

        southamerica
                The change to Bahia, Brazil, that introduced summer time
                (following the regular Brazil rules, so commencing this
                year on Oct 16 - last SUnday) that was mooted before
                tzdata2011l was released, but withdrawn becase the
                change was not yet official, has now been ratified.
2011-10-24 15:40:41 +00:00
apb a19d82ea76 Import tzdata2011l, from ftp://munnari.oz.au/pub/tzdata2011l.tar.gz.
This release was prepared by Robert Elz after a lawsuit
caused Arthur Olson to shut down the tz mailing list and the
FTP site at ftp://elsie.nci.nih.gov/pub/

Notable changes:
* Change in the end date for daylight savings time in Asia/Hebron (West Bank).
* Change in daylight savings time rules for Fiji.
2011-10-10 19:28:59 +00:00
apb 8cd49905a7 Import tzdata2011k.
Notable changes:
* New time zone Asia/Hebron (West Bank), which no longer
  follows the same rules as Asia/Gaza (Gaza Strip).
* Several Eastern European countries abolish
  daylight svings time and move from +02:00 to +03:00.
2011-10-10 19:15:27 +00:00
apb fc1056e0f2 Import tzdata2011j.
Notable change: Samoa will move to the other side of the
International Date Line, jumping from 29 December 2011 23:59:59
to 31 December 2011 00:00:00.
2011-10-10 19:14:52 +00:00
christos 5ac34cfbcb Notable changes: Russia is now in perpetual summer. 2011-09-04 10:15:47 +00:00
kleink 395c3f907f Import tzdata2009h. 2009-05-28 08:49:31 +00:00
kleink 2c1098b9ca Import tzdata2009c. 2009-03-16 16:38:15 +00:00
kleink 86fd340544 Import tzdata2008i. 2008-10-29 11:26:28 +00:00
kleink 26b1b8d1aa Import tzdata2008h. 2008-10-13 19:09:14 +00:00
kleink ebae016832 Import tzdata2008g. 2008-10-06 16:01:28 +00:00
kleink 782f7ec0c1 Import tzdata2008f. 2008-09-15 21:56:17 +00:00
kleink 4a833a11ae Import tzdata2007h. 2007-10-01 14:48:39 +00:00
kleink 95b1689887 Import tzdata2007g. 2007-09-30 11:25:37 +00:00
kleink ee818e879e Import tzdata2007f. 2007-05-23 08:05:10 +00:00
kleink 0907e63db8 Import tzdata2007e. 2007-04-04 18:59:34 +00:00
kleink bef91ff9f1 Import tzdata2007a. 2007-01-09 12:28:23 +00:00
kleink 398f8a5ccf Import tzdata2006p. 2006-12-05 11:23:47 +00:00
kleink edcca988a8 Import tzdata2006o. 2006-11-20 11:31:34 +00:00
kleink 6b2d0583cf Import tzdata2006n. 2006-10-26 17:04:27 +00:00
kleink a2bb464c88 Import tzdata2006l. 2006-09-23 17:28:08 +00:00
kleink f7258ac55b Import tzdata2006a. 2006-01-31 11:59:32 +00:00
kleink e6d0532c2e Import tzdata2005r. 2006-01-11 00:01:23 +00:00
kleink 177753f6ea Import tzdata2005o. 2005-12-01 08:39:58 +00:00
kleink 8d481f7c7a Import tzdata2005n. 2005-10-07 23:11:58 +00:00
kleink ecd693d185 Import tzdata2005m. 2005-08-29 18:55:15 +00:00
kleink b677244c2d Import tzdata2005k. 2005-07-20 13:41:34 +00:00
kleink 114184f715 Import tzdata2005i. 2005-04-23 22:19:33 +00:00
kleink ca1e53108b Import tzdata2005h. 2005-04-05 16:27:29 +00:00
kleink 6e4044f05a Import tzdata2005g. 2005-03-16 10:37:26 +00:00
kleink 77ee2f0eef Import tzdata2005f. 2005-03-04 08:56:04 +00:00
kleink ba0bcfcae2 Import tzdata2005e. 2005-02-12 00:28:41 +00:00
kleink 96802f02e4 Import tzdata2004a. 2004-05-27 20:41:15 +00:00
kleink 2f2f6d7b76 Import tzdata2003e. 2003-12-20 00:18:10 +00:00
kleink c7baf32b4d Import tzdata2003d. 2003-10-29 21:00:21 +00:00
kleink 5d4e24d860 Import tzdata2003a. 2003-04-07 14:50:38 +00:00
kleink db4f3e1245 Import tzdata2002d. 2002-10-17 13:45:39 +00:00
kleink abae1188ed Import tzdata2002c. 2002-04-16 18:35:39 +00:00
kleink e2de8023a1 Import tzdata2002b. 2002-01-29 13:08:37 +00:00
kleink f64ae45198 Import tzdata2001d. 2001-11-30 13:28:39 +00:00
kleink db7772a1f2 Import tzdata2001c. 2001-06-14 11:02:49 +00:00
kleink 9a6f2d9df6 Import tzdata2001b. 2001-04-06 10:11:16 +00:00
kleink c5e96288b2 Import tzdata2001a. 2001-03-14 13:36:18 +00:00
kleink 20edde7fb9 Import tzdata2000h. 2000-12-19 14:27:54 +00:00
kleink f02b006000 Import tzdata2000g. 2000-11-03 11:07:04 +00:00
kleink f38cd176e7 Import tzdata2000f. 2000-08-11 12:00:56 +00:00
kleink bcbb85bd83 Import tzdata2000e. 2000-07-31 14:17:37 +00:00
kleink daced82512 Import tzdata2000d. 2000-03-18 00:39:49 +00:00
kleink 8e96b15fa3 Import tzdata2000b. 2000-02-24 00:22:07 +00:00
kleink b946b459ec Import tzdata1999j. 1999-11-16 22:43:06 +00:00
kleink b0a3d21ecc Import tzdata1999i. 1999-11-10 20:43:07 +00:00
kleink 24874b4669 Import tzdata1999e. 1999-08-19 20:21:25 +00:00
kleink 4786ccb54a Import tzdata1999d. 1999-03-31 11:10:14 +00:00
kleink d8c82bcc3f Import tzdata1999c. 1999-03-27 11:14:50 +00:00
mrg 98c4b0ba01 tzdata 1999b 1999-02-02 00:51:48 +00:00
kleink b162d52318 Import tzdata1998i. 1998-10-04 19:58:09 +00:00
kleink e8d08ac321 Import tzdata1998g. 1998-09-10 18:51:38 +00:00
jtc d928c2fe54 import tzdata1998b 1998-01-22 07:20:01 +00:00
jtc 26d0feaa56 import tzdata1998a 1998-01-22 07:19:24 +00:00
jtc f59aa5b694 import tzdata1997i 1997-10-09 20:02:32 +00:00
jtc dee03b6f8f import tzdata1997h 1997-09-05 02:16:06 +00:00
jtc eae5031352 import tzdata1997f 1997-06-18 01:19:11 +00:00
cgd 0d110d127c initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00
61 changed files with 51425 additions and 0 deletions

View File

@ -0,0 +1,97 @@
# Contributing to the tz code and data
Please do not create issues or pull requests on GitHub, as the
proper procedure for proposing and distributing patches is via
email as described below.
The time zone database is by no means authoritative: governments
change timekeeping rules erratically and sometimes with little
warning, the data entries do not cover all of civil time before
1970, and undoubtedly errors remain in the code and data. Feel
free to fill gaps or fix mistakes, and please email improvements
to <tz@iana.org> for use in the future. In your email, please give
reliable sources that reviewers can check.
## Contributing technical changes
To email small changes, please run a POSIX shell command like
'diff -u old/europe new/europe >myfix.patch', and attach
'myfix.patch' to the email.
For more-elaborate or possibly controversial changes,
such as renaming, adding or removing zones, please read
"Theory and pragmatics of the tz code and data"
<https://www.iana.org/time-zones/repository/theory.html>.
It is also good to browse the mailing list archives
<https://mm.icann.org/pipermail/tz/> for examples of patches that tend
to work well. Additions to data should contain commentary citing
reliable sources as justification. Citations should use "https:" URLs
if available.
For changes that fix sensitive security-related bugs, please see the
distribution's 'SECURITY' file.
Please submit changes against either the latest release
<https://www.iana.org/time-zones> or the main branch of the development
repository. The latter is preferred.
## Sample Git workflow for developing contributions
If you use Git the following workflow may be helpful:
* Copy the development repository.
git clone https://github.com/eggert/tz.git
cd tz
* Get current with the main branch.
git checkout main
git pull
* Switch to a new branch for the changes. Choose a different
branch name for each change set.
git checkout -b mybranch
* Sleuth by using 'git blame'. For example, when fixing data for
Africa/Sao_Tome, if the command 'git blame africa' outputs a line
'2951fa3b (Paul Eggert 2018-01-08 09:03:13 -0800 1068) Zone
Africa/Sao_Tome 0:26:56 - LMT 1884', commit 2951fa3b should
provide some justification for the 'Zone Africa/Sao_Tome' line.
* Edit source files. Include commentary that justifies the
changes by citing reliable sources.
* Debug the changes, e.g.:
make check
make install
./zdump -v America/Los_Angeles
* For each separable change, commit it in the new branch, e.g.:
git add northamerica
git commit
See recent 'git log' output for the commit-message style.
* Create patch files 0001-..., 0002-..., ...
git format-patch main
* After reviewing the patch files, send the patches to <tz@iana.org>
for others to review.
git send-email main
For an archived example of such an email, see
"[PROPOSED] Fix off-by-1 error for Jamaica and T&C before 1913"
<https://mm.icann.org/pipermail/tz/2018-February/026122.html>.
* Start anew by getting current with the main branch again
(the second step above).
-----
This file is in the public domain.

View File

@ -0,0 +1,5 @@
Unless specified below, all files in the tz code and data (including
this LICENSE file) are in the public domain.
If the files date.c, newstrftime.3, and strftime.c are present, they
contain material derived from BSD and use the BSD 3-clause license.

1360
external/public-domain/tz/dist/Makefile vendored Normal file

File diff suppressed because it is too large Load Diff

6190
external/public-domain/tz/dist/NEWS vendored Normal file

File diff suppressed because it is too large Load Diff

70
external/public-domain/tz/dist/README vendored Normal file
View File

@ -0,0 +1,70 @@
# Global Time Zone Database (global-tz)
The Global Time Zone Database contains the history of how local time has changed around the world.
It is derived from data in the [IANA Time Zone Database](https://github.com/eggert/tz).
For many years this information could be reliably obtained from the IANA repository.
In recent years however, the data available by default from the IANA repository has been reduced.
This repository primarily exists to reinstate the data that has been effectively removed.
For more info, please see the project home page:
https://github.com/JodaOrg/global-tz
The original README is included below.
-----
README for the tz distribution
"Where do I set the hands of the clock?" -- Les Tremayne as The King
"Oh that--you can set them any place you want." -- Frank Baxter as The Scientist
(from the Bell System film "About Time")
The Time Zone Database (called tz, tzdb or zoneinfo) contains code and
data that represent the history of local time for many representative
locations around the globe. It is updated periodically to reflect
changes made by political bodies to time zone boundaries, UTC offsets,
and daylight-saving rules.
See <https://www.iana.org/time-zones/repository/tz-link.html> or the
file tz-link.html for how to acquire the code and data.
Once acquired, read the leading comments in the file "Makefile"
and make any changes needed to make things right for your system,
especially when using a platform other than current GNU/Linux.
Then run the following commands, substituting your desired
installation directory for "$HOME/tzdir":
make TOPDIR="$HOME/tzdir" install
"$HOME/tzdir/usr/bin/zdump" -v America/Los_Angeles
See the file tz-how-to.html for examples of how to read the data files.
This database of historical local time information has several goals:
* Provide a compendium of data about the history of civil time that
is useful even if not 100% accurate.
* Give an idea of the variety of local time rules that have existed
in the past and thus may be expected in the future.
* Test the generality of the local time rule description system.
The information in the time zone data files is by no means authoritative;
fixes and enhancements are welcome. Please see the file CONTRIBUTING
for details.
Thanks to these Time Zone Caballeros who've made major contributions to the
time conversion package: Keith Bostic; Bob Devine; Paul Eggert; Robert Elz;
Guy Harris; Mark Horton; John Mackin; and Bradley White. Thanks also to
Michael Bloom, Art Neilson, Stephen Prince, John Sovereign, and Frank Wales
for testing work, and to Gwillim Law for checking local mean time data.
Thanks in particular to Arthur David Olson, the project's founder and first
maintainer, to whom the time zone community owes the greatest debt of all.
None of them are responsible for remaining errors.
-----
This file is in the public domain, so clarified as of 2009-05-17 by
Arthur David Olson. The other files in this distribution are either
public domain or BSD licensed; see the file LICENSE for details.

15
external/public-domain/tz/dist/SECURITY vendored Normal file
View File

@ -0,0 +1,15 @@
Please report any sensitive security-related bugs via email to the
tzdb designated coordinators, currently Paul Eggert
<eggert@cs.ucla.edu> and Tim Parenti <tim@timtimeonline.com>.
Put "tzdb security" at the start of your email's subject line.
We prefer communications to be in English.
You should receive a response within a week. If not, please follow up
via email to make sure we received your original message.
If we confirm the bug, we plan to notify affected third-party services
or software that we know about, prepare an advisory, commit fixes to
the main development branch as quickly as is practical, and finally
publish the advisory on tz@iana.org. As with all tzdb contributions,
we give credit to security contributors unless they wish to remain
anonymous.

870
external/public-domain/tz/dist/Theory vendored Normal file
View File

@ -0,0 +1,870 @@
Theory and pragmatics of the tz code and data
----- Outline -----
Scope of the tz database
Names of time zone rules
Time zone abbreviations
Accuracy of the tz database
Time and date functions
Interface stability
Calendrical issues
Time and time zones on Mars
----- Scope of the tz database -----
The tz database attempts to record the history and predicted future of
all computer-based clocks that track civil time. To represent this
data, the world is partitioned into regions whose clocks all agree
about time stamps that occur after the somewhat-arbitrary cutoff point
of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region,
the database records all known clock transitions, and labels the region
with a notable location. Although 1970 is a somewhat-arbitrary
cutoff, there are significant challenges to moving the cutoff earlier
even by a decade or two, due to the wide variety of local practices
before computer timekeeping became prevalent.
Clock transitions before 1970 are recorded for each such location,
because most systems support time stamps before 1970 and could
misbehave if data entries were omitted for pre-1970 transitions.
However, the database is not designed for and does not suffice for
applications requiring accurate handling of all past times everywhere,
as it would take far too much effort and guesswork to record all
details of pre-1970 civil timekeeping.
As described below, reference source code for using the tz database is
also available. The tz code is upwards compatible with POSIX, an
international standard for UNIX-like systems. As of this writing, the
current edition of POSIX is:
The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
<http://pubs.opengroup.org/onlinepubs/9699919799/>
----- Names of time zone rules -----
Each of the database's time zone rules has a unique name.
Inexperienced users are not expected to select these names unaided.
Distributors should provide documentation and/or a simple selection
interface that explains the names; for one example, see the 'tzselect'
program in the tz code. The Unicode Common Locale Data Repository
<http://cldr.unicode.org/> contains data that may be useful for other
selection interfaces.
The time zone rule naming conventions attempt to strike a balance
among the following goals:
* Uniquely identify every region where clocks have agreed since 1970.
This is essential for the intended use: static clocks keeping local
civil time.
* Indicate to experts where that region is.
* Be robust in the presence of political changes. For example, names
of countries are ordinarily not used, to avoid incompatibilities
when countries change their name (e.g. Zaire->Congo) or when
locations change countries (e.g. Hong Kong from UK colony to
China).
* Be portable to a wide variety of implementations.
* Use a consistent naming conventions over the entire world.
Names normally have the form AREA/LOCATION, where AREA is the name
of a continent or ocean, and LOCATION is the name of a specific
location within that region. North and South America share the same
area, 'America'. Typical names are 'Africa/Cairo', 'America/New_York',
and 'Pacific/Honolulu'.
Here are the general rules used for choosing location names,
in decreasing order of importance:
Use only valid POSIX file name components (i.e., the parts of
names other than '/'). Do not use the file name
components '.' and '..'. Within a file name component,
use only ASCII letters, '.', '-' and '_'. Do not use
digits, as that might create an ambiguity with POSIX
TZ strings. A file name component must not exceed 14
characters or start with '-'. E.g., prefer 'Brunei'
to 'Bandar_Seri_Begawan'. Exceptions: see the discussion
of legacy names below.
A name must not be empty, or contain '//', or start or end with '/'.
Do not use names that differ only in case. Although the reference
implementation is case-sensitive, some other implementations
are not, and they would mishandle names differing only in case.
If one name A is an initial prefix of another name AB (ignoring case),
then B must not start with '/', as a regular file cannot have
the same name as a directory in POSIX. For example,
'America/New_York' precludes 'America/New_York/Bronx'.
Uninhabited regions like the North Pole and Bouvet Island
do not need locations, since local time is not defined there.
There should typically be at least one name for each ISO 3166-1
officially assigned two-letter code for an inhabited country
or territory.
If all the clocks in a region have agreed since 1970,
don't bother to include more than one location
even if subregions' clocks disagreed before 1970.
Otherwise these tables would become annoyingly large.
If a name is ambiguous, use a less ambiguous alternative;
e.g. many cities are named San José and Georgetown, so
prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'.
Keep locations compact. Use cities or small islands, not countries
or regions, so that any future time zone changes do not split
locations into different time zones. E.g. prefer 'Paris'
to 'France', since France has had multiple time zones.
Use mainstream English spelling, e.g. prefer 'Rome' to 'Roma', and
prefer 'Athens' to the Greek 'Αθήνα' or the Romanized 'Athína'.
The POSIX file name restrictions encourage this rule.
Use the most populous among locations in a zone,
e.g. prefer 'Shanghai' to 'Beijing'. Among locations with
similar populations, pick the best-known location,
e.g. prefer 'Rome' to 'Milan'.
Use the singular form, e.g. prefer 'Canary' to 'Canaries'.
Omit common suffixes like '_Islands' and '_City', unless that
would lead to ambiguity. E.g. prefer 'Cayman' to
'Cayman_Islands' and 'Guatemala' to 'Guatemala_City',
but prefer 'Mexico_City' to 'Mexico' because the country
of Mexico has several time zones.
Use '_' to represent a space.
Omit '.' from abbreviations in names, e.g. prefer 'St_Helena'
to 'St._Helena'.
Do not change established names if they only marginally
violate the above rules. For example, don't change
the existing name 'Rome' to 'Milan' merely because
Milan's population has grown to be somewhat greater
than Rome's.
If a name is changed, put its old spelling in the 'backward' file.
This means old spellings will continue to work.
The file 'zone1970.tab' lists geographical locations used to name time
zone rules. It is intended to be an exhaustive list of names for
geographic regions as described above; this is a subset of the names
in the data. Although a 'zone1970.tab' location's longitude
corresponds to its LMT offset with one hour for every 15 degrees east
longitude, this relationship is not exact.
Older versions of this package used a different naming scheme,
and these older names are still supported.
See the file 'backward' for most of these older names
(e.g., 'US/Eastern' instead of 'America/New_York').
The other old-fashioned names still supported are
'WET', 'CET', 'MET', and 'EET' (see the file 'europe').
Older versions of this package defined legacy names that are
incompatible with the first rule of location names, but which are
still supported. These legacy names are mostly defined in the file
'etcetera'. Also, the file 'backward' defines the legacy names
'GMT0', 'GMT-0', 'GMT+0' and 'Canada/East-Saskatchewan', and the file
'northamerica' defines the legacy names 'EST5EDT', 'CST6CDT',
'MST7MDT', and 'PST8PDT'.
Excluding 'backward' should not affect the other data. If
'backward' is excluded, excluding 'etcetera' should not affect the
remaining data.
----- Time zone abbreviations -----
When this package is installed, it generates time zone abbreviations
like 'EST' to be compatible with human tradition and POSIX.
Here are the general rules used for choosing time zone abbreviations,
in decreasing order of importance:
Use three or more characters that are ASCII alphanumerics or '+' or '-'.
Previous editions of this database also used characters like
' ' and '?', but these characters have a special meaning to
the shell and cause commands like
set `date`
to have unexpected effects.
Previous editions of this rule required upper-case letters,
but the Congressman who introduced Chamorro Standard Time
preferred "ChST", so lower-case letters are now allowed.
Also, POSIX from 2001 on relaxed the rule to allow '-', '+',
and alphanumeric characters from the portable character set
in the current locale. In practice ASCII alphanumerics and
'+' and '-' are safe in all locales.
In other words, in the C locale the POSIX extended regular
expression [-+[:alnum:]]{3,} should match the abbreviation.
This guarantees that all abbreviations could have been
specified by a POSIX TZ string.
Use abbreviations that are in common use among English-speakers,
e.g. 'EST' for Eastern Standard Time in North America.
We assume that applications translate them to other languages
as part of the normal localization process; for example,
a French application might translate 'EST' to 'HNE'.
For zones whose times are taken from a city's longitude, use the
traditional xMT notation, e.g. 'PMT' for Paris Mean Time.
The only name like this in current use is 'GMT'.
Use 'LMT' for local mean time of locations before the introduction
of standard time; see "Scope of the tz database".
If there is no common English abbreviation, use numeric offsets like
-05 and +0830 that are generated by zic's %z notation.
Use current abbreviations for older timestamps to avoid confusion.
For example, in 1910 a common English abbreviation for UT +01
in central Europe was 'MEZ' (short for both "Middle European
Zone" and for "Mitteleuropäische Zeit" in German). Nowadays
'CET' ("Central European Time") is more common in English, and
the database uses 'CET' even for circa-1910 timestamps as this
is less confusing for modern users and avoids the need for
determining when 'CET' supplanted 'MEZ' in common usage.
Use a consistent style in a zone's history. For example, if a zone's
history tends to use numeric abbreviations and a particular
entry could go either way, use a numeric abbreviation.
[The remaining guidelines predate the introduction of %z.
They are problematic as they mean tz data entries invent
notation rather than record it. These guidelines are now
deprecated and the plan is to gradually move to %z for
inhabited locations and to "-00" for uninhabited locations.]
If there is no common English abbreviation, abbreviate the English
translation of the usual phrase used by native speakers.
If this is not available or is a phrase mentioning the country
(e.g. "Cape Verde Time"), then:
When a country is identified with a single or principal zone,
append 'T' to the country's ISO code, e.g. 'CVT' for
Cape Verde Time. For summer time append 'ST';
for double summer time append 'DST'; etc.
Otherwise, take the first three letters of an English place
name identifying each zone and append 'T', 'ST', etc.
as before; e.g. 'CHAST' for CHAtham Summer Time.
Use UT (with time zone abbreviation '-00') for locations while
uninhabited. The leading '-' is a flag that the time
zone is in some sense undefined; this notation is
derived from Internet RFC 3339.
Application writers should note that these abbreviations are ambiguous
in practice: e.g. 'CST' has a different meaning in China than
it does in the United States. In new applications, it's often better
to use numeric UT offsets like '-0600' instead of time zone
abbreviations like 'CST'; this avoids the ambiguity.
----- Accuracy of the tz database -----
The tz database is not authoritative, and it surely has errors.
Corrections are welcome and encouraged; see the file CONTRIBUTING.
Users requiring authoritative data should consult national standards
bodies and the references cited in the database's comments.
Errors in the tz database arise from many sources:
* The tz database predicts future time stamps, and current predictions
will be incorrect after future governments change the rules.
For example, if today someone schedules a meeting for 13:00 next
October 1, Casablanca time, and tomorrow Morocco changes its
daylight saving rules, software can mess up after the rule change
if it blithely relies on conversions made before the change.
* The pre-1970 entries in this database cover only a tiny sliver of how
clocks actually behaved; the vast majority of the necessary
information was lost or never recorded. Thousands more zones would
be needed if the tz database's scope were extended to cover even
just the known or guessed history of standard time; for example,
the current single entry for France would need to split into dozens
of entries, perhaps hundreds. And in most of the world even this
approach would be misleading due to widespread disagreement or
indifference about what times should be observed. In her 2015 book
"The Global Transformation of Time, 1870-1950", Vanessa Ogle writes
"Outside of Europe and North America there was no system of time
zones at all, often not even a stable landscape of mean times,
prior to the middle decades of the twentieth century". See:
Timothy Shenk, Booked: A Global History of Time. Dissent 2015-12-17
https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanessa-ogle
* Most of the pre-1970 data entries come from unreliable sources, often
astrology books that lack citations and whose compilers evidently
invented entries when the true facts were unknown, without
reporting which entries were known and which were invented.
These books often contradict each other or give implausible entries,
and on the rare occasions when they are checked they are
typically found to be incorrect.
* For the UK the tz database relies on years of first-class work done by
Joseph Myers and others; see <http://www.polyomino.org.uk/british-time/>.
Other countries are not done nearly as well.
* Sometimes, different people in the same city would maintain clocks
that differed significantly. Railway time was used by railroad
companies (which did not always agree with each other),
church-clock time was used for birth certificates, etc.
Often this was merely common practice, but sometimes it was set by law.
For example, from 1891 to 1911 the UT offset in France was legally
0:09:21 outside train stations and 0:04:21 inside.
* Although a named location in the tz database stands for the
containing region, its pre-1970 data entries are often accurate for
only a small subset of that region. For example, Europe/London
stands for the United Kingdom, but its pre-1847 times are valid
only for locations that have London's exact meridian, and its 1847
transition to GMT is known to be valid only for the L&NW and the
Caledonian railways.
* The tz database does not record the earliest time for which a zone's
data entries are thereafter valid for every location in the region.
For example, Europe/London is valid for all locations in its
region after GMT was made the standard time, but the date of
standardization (1880-08-02) is not in the tz database, other than
in commentary. For many zones the earliest time of validity is
unknown.
* The tz database does not record a region's boundaries, and in many
cases the boundaries are not known. For example, the zone
America/Kentucky/Louisville represents a region around the city of
Louisville, the boundaries of which are unclear.
* Changes that are modeled as instantaneous transitions in the tz
database were often spread out over hours, days, or even decades.
* Even if the time is specified by law, locations sometimes
deliberately flout the law.
* Early timekeeping practices, even assuming perfect clocks, were
often not specified to the accuracy that the tz database requires.
* Sometimes historical timekeeping was specified more precisely
than what the tz database can handle. For example, from 1909 to
1937 Netherlands clocks were legally UT +00:19:32.13, but the tz
database cannot represent the fractional second.
* Even when all the timestamp transitions recorded by the tz database
are correct, the tz rules that generate them may not faithfully
reflect the historical rules. For example, from 1922 until World
War II the UK moved clocks forward the day following the third
Saturday in April unless that was Easter, in which case it moved
clocks forward the previous Sunday. Because the tz database has no
way to specify Easter, these exceptional years are entered as
separate tz Rule lines, even though the legal rules did not change.
* The tz database models pre-standard time using the proleptic Gregorian
calendar and local mean time (LMT), but many people used other
calendars and other timescales. For example, the Roman Empire used
the Julian calendar, and had 12 varying-length daytime hours with a
non-hour-based system at night.
* Early clocks were less reliable, and data entries do not represent
clock error.
* The tz database assumes Universal Time (UT) as an origin, even
though UT is not standardized for older time stamps. In the tz
database commentary, UT denotes a family of time standards that
includes Coordinated Universal Time (UTC) along with other variants
such as UT1 and GMT, with days starting at midnight. Although UT
equals UTC for modern time stamps, UTC was not defined until 1960,
so commentary uses the more-general abbreviation UT for time stamps
that might predate 1960. Since UT, UT1, etc. disagree slightly,
and since pre-1972 UTC seconds varied in length, interpretation of
older time stamps can be problematic when subsecond accuracy is
needed.
* Civil time was not based on atomic time before 1972, and we don't
know the history of earth's rotation accurately enough to map SI
seconds to historical solar time to more than about one-hour
accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY.
Measurement of the Earth's rotation: 720 BC to AD 2015.
Proc Royal Soc A. 2016 Dec 7;472:20160404.
http://dx.doi.org/10.1098/rspa.2016.0404
Also see: Espenak F. Uncertainty in Delta T (ΔT).
http://eclipse.gsfc.nasa.gov/SEhelp/uncertainty2004.html
* The relationship between POSIX time (that is, UTC but ignoring leap
seconds) and UTC is not agreed upon after 1972. Although the POSIX
clock officially stops during an inserted leap second, at least one
proposed standard has it jumping back a second instead; and in
practice POSIX clocks more typically either progress glacially during
a leap second, or are slightly slowed while near a leap second.
* The tz database does not represent how uncertain its information is.
Ideally it would contain information about when data entries are
incomplete or dicey. Partial temporal knowledge is a field of
active research, though, and it's not clear how to apply it here.
In short, many, perhaps most, of the tz database's pre-1970 and future
time stamps are either wrong or misleading. Any attempt to pass the
tz database off as the definition of time should be unacceptable to
anybody who cares about the facts. In particular, the tz database's
LMT offsets should not be considered meaningful, and should not prompt
creation of zones merely because two locations differ in LMT or
transitioned to standard time at different dates.
----- Time and date functions -----
The tz code contains time and date functions that are upwards
compatible with those of POSIX.
POSIX has the following properties and limitations.
* In POSIX, time display in a process is controlled by the
environment variable TZ. Unfortunately, the POSIX TZ string takes
a form that is hard to describe and is error-prone in practice.
Also, POSIX TZ strings can't deal with other (for example, Israeli)
daylight saving time rules, or situations where more than two
time zone abbreviations are used in an area.
The POSIX TZ string takes the following form:
stdoffset[dst[offset][,date[/time],date[/time]]]
where:
std and dst
are 3 or more characters specifying the standard
and daylight saving time (DST) zone names.
Starting with POSIX.1-2001, std and dst may also be
in a quoted form like "<UTC+10>"; this allows
"+" and "-" in the names.
offset
is of the form '[+-]hh:[mm[:ss]]' and specifies the
offset west of UT. 'hh' may be a single digit; 0<=hh<=24.
The default DST offset is one hour ahead of standard time.
date[/time],date[/time]
specifies the beginning and end of DST. If this is absent,
the system supplies its own rules for DST, and these can
differ from year to year; typically US DST rules are used.
time
takes the form 'hh:[mm[:ss]]' and defaults to 02:00.
This is the same format as the offset, except that a
leading '+' or '-' is not allowed.
date
takes one of the following forms:
Jn (1<=n<=365)
origin-1 day number not counting February 29
n (0<=n<=365)
origin-0 day number counting February 29 if present
Mm.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12)
for the dth day of week n of month m of the year,
where week 1 is the first week in which day d appears,
and '5' stands for the last week in which day d appears
(which may be either the 4th or 5th week).
Typically, this is the only useful form;
the n and Jn forms are rarely used.
Here is an example POSIX TZ string, for US Pacific time using rules
appropriate from 1987 through 2006:
TZ='PST8PDT,M4.1.0/02:00,M10.5.0/02:00'
This POSIX TZ string is hard to remember, and mishandles time stamps
before 1987 and after 2006. With this package you can use this
instead:
TZ='America/Los_Angeles'
* POSIX does not define the exact meaning of TZ values like "EST5EDT".
Typically the current US DST rules are used to interpret such values,
but this means that the US DST rules are compiled into each program
that does time conversion. This means that when US time conversion
rules change (as in the United States in 1987), all programs that
do time conversion must be recompiled to ensure proper results.
* The TZ environment variable is process-global, which makes it hard
to write efficient, thread-safe applications that need access
to multiple time zones.
* In POSIX, there's no tamper-proof way for a process to learn the
system's best idea of local wall clock. (This is important for
applications that an administrator wants used only at certain times -
without regard to whether the user has fiddled the "TZ" environment
variable. While an administrator can "do everything in UTC" to get
around the problem, doing so is inconvenient and precludes handling
daylight saving time shifts - as might be required to limit phone
calls to off-peak hours.)
* POSIX provides no convenient and efficient way to determine the UT
offset and time zone abbreviation of arbitrary time stamps,
particularly for time zone settings that do not fit into the
POSIX model.
* POSIX requires that systems ignore leap seconds.
* The tz code attempts to support all the time_t implementations
allowed by POSIX. The time_t type represents a nonnegative count of
seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds.
In practice, time_t is usually a signed 64- or 32-bit integer; 32-bit
signed time_t values stop working after 2038-01-19 03:14:07 UTC, so
new implementations these days typically use a signed 64-bit integer.
Unsigned 32-bit integers are used on one or two platforms,
and 36-bit and 40-bit integers are also used occasionally.
Although earlier POSIX versions allowed time_t to be a
floating-point type, this was not supported by any practical
systems, and POSIX.1-2013 and the tz code both require time_t
to be an integer type.
These are the extensions that have been made to the POSIX functions:
* The "TZ" environment variable is used in generating the name of a file
from which time zone information is read (or is interpreted a la
POSIX); "TZ" is no longer constrained to be a three-letter time zone
name followed by a number of hours and an optional three-letter
daylight time zone name. The daylight saving time rules to be used
for a particular time zone are encoded in the time zone file;
the format of the file allows U.S., Australian, and other rules to be
encoded, and allows for situations where more than two time zone
abbreviations are used.
It was recognized that allowing the "TZ" environment variable to
take on values such as "America/New_York" might cause "old" programs
(that expect "TZ" to have a certain form) to operate incorrectly;
consideration was given to using some other environment variable
(for example, "TIMEZONE") to hold the string used to generate the
time zone information file name. In the end, however, it was decided
to continue using "TZ": it is widely used for time zone purposes;
separately maintaining both "TZ" and "TIMEZONE" seemed a nuisance;
and systems where "new" forms of "TZ" might cause problems can simply
use TZ values such as "EST5EDT" which can be used both by
"new" programs (a la POSIX) and "old" programs (as zone names and
offsets).
* The code supports platforms with a UT offset member in struct tm,
e.g., tm_gmtoff.
* The code supports platforms with a time zone abbreviation member in
struct tm, e.g., tm_zone.
* Since the "TZ" environment variable can now be used to control time
conversion, the "daylight" and "timezone" variables are no longer
needed. (These variables are defined and set by "tzset"; however, their
values will not be used by "localtime.")
* Functions tzalloc, tzfree, localtime_rz, and mktime_z for
more-efficient thread-safe applications that need to use
multiple time zones. The tzalloc and tzfree functions
allocate and free objects of type timezone_t, and localtime_rz
and mktime_z are like localtime_r and mktime with an extra
timezone_t argument. The functions were inspired by NetBSD.
* A function "tzsetwall" has been added to arrange for the system's
best approximation to local wall clock time to be delivered by
subsequent calls to "localtime." Source code for portable
applications that "must" run on local wall clock time should call
"tzsetwall();" if such code is moved to "old" systems that don't
provide tzsetwall, you won't be able to generate an executable program.
(These time zone functions also arrange for local wall clock time to be
used if tzset is called - directly or indirectly - and there's no "TZ"
environment variable; portable applications should not, however, rely
on this behavior since it's not the way SVR2 systems behave.)
* Negative time_t values are supported, on systems where time_t is signed.
* These functions can account for leap seconds, thanks to Bradley White.
Points of interest to folks with other systems:
* Code compatible with this package is already part of many platforms,
including GNU/Linux, Android, the BSDs, Chromium OS, Cygwin, AIX, iOS,
BlackBery 10, macOS, Microsoft Windows, OpenVMS, and Solaris.
On such hosts, the primary use of this package
is to update obsolete time zone rule tables.
To do this, you may need to compile the time zone compiler
'zic' supplied with this package instead of using the system 'zic',
since the format of zic's input is occasionally extended,
and a platform may still be shipping an older zic.
* The UNIX Version 7 "timezone" function is not present in this package;
it's impossible to reliably map timezone's arguments (a "minutes west
of GMT" value and a "daylight saving time in effect" flag) to a
time zone abbreviation, and we refuse to guess.
Programs that in the past used the timezone function may now examine
tzname[localtime(&clock)->tm_isdst] to learn the correct time
zone abbreviation to use. Alternatively, use
localtime(&clock)->tm_zone if this has been enabled.
* The 4.2BSD gettimeofday function is not used in this package.
This formerly let users obtain the current UTC offset and DST flag,
but this functionality was removed in later versions of BSD.
* In SVR2, time conversion fails for near-minimum or near-maximum
time_t values when doing conversions for places that don't use UT.
This package takes care to do these conversions correctly.
A comment in the source code tells how to get compatibly wrong
results.
The functions that are conditionally compiled if STD_INSPIRED is defined
should, at this point, be looked on primarily as food for thought. They are
not in any sense "standard compatible" - some are not, in fact, specified in
*any* standard. They do, however, represent responses of various authors to
standardization proposals.
Other time conversion proposals, in particular the one developed by folks at
Hewlett Packard, offer a wider selection of functions that provide capabilities
beyond those provided here. The absence of such functions from this package
is not meant to discourage the development, standardization, or use of such
functions. Rather, their absence reflects the decision to make this package
contain valid extensions to POSIX, to ensure its broad acceptability. If
more powerful time conversion functions can be standardized, so much the
better.
----- Interface stability -----
The tz code and data supply the following interfaces:
* A set of zone names as per "Names of time zone rules" above.
* Library functions described in "Time and date functions" above.
* The programs tzselect, zdump, and zic, documented in their man pages.
* The format of zic input files, documented in the zic man page.
* The format of zic output files, documented in the tzfile man page.
* The format of zone table files, documented in zone1970.tab.
* The format of the country code file, documented in iso3166.tab.
* The version number of the code and data, as the first line of
the text file 'version' in each release.
Interface changes in a release attempt to preserve compatibility with
recent releases. For example, tz data files typically do not rely on
recently-added zic features, so that users can run older zic versions
to process newer data files. The tz-link.htm file describes how
releases are tagged and distributed.
Interfaces not listed above are less stable. For example, users
should not rely on particular UT offsets or abbreviations for time
stamps, as data entries are often based on guesswork and these guesses
may be corrected or improved.
----- Calendrical issues -----
Calendrical issues are a bit out of scope for a time zone database,
but they indicate the sort of problems that we would run into if we
extended the time zone database further into the past. An excellent
resource in this area is Nachum Dershowitz and Edward M. Reingold,
Calendrical Calculations: Third Edition, Cambridge University Press (2008)
<http://emr.cs.iit.edu/home/reingold/calendar-book/third-edition/>.
Other information and sources are given below. They sometimes disagree.
France
Gregorian calendar adopted 1582-12-20.
French Revolutionary calendar used 1793-11-24 through 1805-12-31,
and (in Paris only) 1871-05-06 through 1871-05-23.
Russia
From Chris Carrier (1996-12-02):
On 1929-10-01 the Soviet Union instituted an "Eternal Calendar"
with 30-day months plus 5 holidays, with a 5-day week.
On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the
Gregorian calendar while retaining the 6-day week; on 1940-06-27 it
reverted to the 7-day week. With the 6-day week the usual days
off were the 6th, 12th, 18th, 24th and 30th of the month.
(Source: Evitiar Zerubavel, _The Seven Day Circle_)
Mark Brader reported a similar story in "The Book of Calendars", edited
by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But:
From: Petteri Sulonen (via Usenet)
Date: 14 Jan 1999 00:00:00 GMT
...
If your source is correct, how come documents between 1929 and 1940 were
still dated using the conventional, Gregorian calendar?
I can post a scan of a document dated December 1, 1934, signed by
Yenukidze, the secretary, on behalf of Kalinin, the President of the
Executive Committee of the Supreme Soviet, if you like.
Sweden (and Finland)
From: Mark Brader
Subject: Re: Gregorian reform - a part of locale?
<news:1996Jul6.012937.29190@sq.com>
Date: 1996-07-06
In 1700, Denmark made the transition from Julian to Gregorian. Sweden
decided to *start* a transition in 1700 as well, but rather than have one of
those unsightly calendar gaps :-), they simply decreed that the next leap
year after 1696 would be in 1744 - putting the whole country on a calendar
different from both Julian and Gregorian for a period of 40 years.
However, in 1704 something went wrong and the plan was not carried through;
they did, after all, have a leap year that year. And one in 1708. In 1712
they gave it up and went back to Julian, putting 30 days in February that
year!...
Then in 1753, Sweden made the transition to Gregorian in the usual manner,
getting there only 13 years behind the original schedule.
(A previous posting of this story was challenged, and Swedish readers
produced the following references to support it: "Tideräkning och historia"
by Natanael Beckman (1924) and "Tid, en bok om tideräkning och
kalenderväsen" by Lars-Olof Lodén (1968).
Grotefend's data
From: "Michael Palmer" [with one obvious typo fixed]
Subject: Re: Gregorian Calendar (was Re: Another FHC related question
Newsgroups: soc.genealogy.german
Date: Tue, 9 Feb 1999 02:32:48 -800
...
The following is a(n incomplete) listing, arranged chronologically, of
European states, with the date they converted from the Julian to the
Gregorian calendar:
04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman
Catholics and Danzig only)
09/20 Dec 1582 - France, Lorraine
21 Dec 1582/
01 Jan 1583 - Holland, Brabant, Flanders, Hennegau
10/21 Feb 1583 - bishopric of Liege (Lüttich)
13/24 Feb 1583 - bishopric of Augsburg
04/15 Oct 1583 - electorate of Trier
05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg,
Salzburg, Brixen
13/24 Oct 1583 - Austrian Oberelsaß and Breisgau
20/31 Oct 1583 - bishopric of Basel
02/13 Nov 1583 - duchy of Jülich-Berg
02/13 Nov 1583 - electorate and city of Köln
04/15 Nov 1583 - bishopric of Würzburg
11/22 Nov 1583 - electorate of Mainz
16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden
17/28 Nov 1583 - bishopric of Münster and duchy of Cleve
14/25 Dec 1583 - Steiermark
06/17 Jan 1584 - Austria and Bohemia
11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn
12/23 Jan 1584 - Silesia and the Lausitz
22 Jan/
02 Feb 1584 - Hungary (legally on 21 Oct 1587)
Jun 1584 - Unterwalden
01/12 Jul 1584 - duchy of Westfalen
16/27 Jun 1585 - bishopric of Paderborn
14/25 Dec 1590 - Transylvania
22 Aug/
02 Sep 1612 - duchy of Prussia
13/24 Dec 1614 - Pfalz-Neuburg
1617 - duchy of Kurland (reverted to the Julian calendar in
1796)
1624 - bishopric of Osnabrück
1630 - bishopric of Minden
15/26 Mar 1631 - bishopric of Hildesheim
1655 - Kanton Wallis
05/16 Feb 1682 - city of Strassburg
18 Feb/
01 Mar 1700 - Protestant Germany (including Swedish possessions in
Germany), Denmark, Norway
30 Jun/
12 Jul 1700 - Gelderland, Zutphen
10 Nov/
12 Dec 1700 - Utrecht, Overijssel
31 Dec 1700/
12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva,
Turgau, and Schaffhausen
1724 - Glarus, Appenzell, and the city of St. Gallen
01 Jan 1750 - Pisa and Florence
02/14 Sep 1752 - Great Britain
17 Feb/
01 Mar 1753 - Sweden
1760-1812 - Graubünden
The Russian empire (including Finland and the Baltic states) did not
convert to the Gregorian calendar until the Soviet revolution of 1917.
Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen
Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend
(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28.
----- Time and time zones on Mars -----
Some people's work schedules use Mars time. Jet Propulsion Laboratory
(JPL) coordinators have kept Mars time on and off at least since 1997
for the Mars Pathfinder mission. Some of their family members have
also adapted to Mars time. Dozens of special Mars watches were built
for JPL workers who kept Mars time during the Mars Exploration
Rovers mission (2004). These timepieces look like normal Seikos and
Citizens but use Mars seconds rather than terrestrial seconds.
A Mars solar day is called a "sol" and has a mean period equal to
about 24 hours 39 minutes 35.244 seconds in terrestrial time. It is
divided into a conventional 24-hour clock, so each Mars second equals
about 1.02749125 terrestrial seconds.
The prime meridian of Mars goes through the center of the crater
Airy-0, named in honor of the British astronomer who built the
Greenwich telescope that defines Earth's prime meridian. Mean solar
time on the Mars prime meridian is called Mars Coordinated Time (MTC).
Each landed mission on Mars has adopted a different reference for
solar time keeping, so there is no real standard for Mars time zones.
For example, the Mars Exploration Rover project (2004) defined two
time zones "Local Solar Time A" and "Local Solar Time B" for its two
missions, each zone designed so that its time equals local true solar
time at approximately the middle of the nominal mission. Such a "time
zone" is not particularly suited for any application other than the
mission itself.
Many calendars have been proposed for Mars, but none have achieved
wide acceptance. Astronomers often use Mars Sol Date (MSD) which is a
sequential count of Mars solar days elapsed since about 1873-12-29
12:00 GMT.
The tz database does not currently support Mars time, but it is
documented here in the hopes that support will be added eventually.
Sources:
Michael Allison and Robert Schmunk,
"Technical Notes on Mars Solar Time as Adopted by the Mars24 Sunclock"
<http://www.giss.nasa.gov/tools/mars24/help/notes.html> (2012-08-08).
Jia-Rui Chong, "Workdays Fit for a Martian", Los Angeles Times
<http://articles.latimes.com/2004/jan/14/science/sci-marstime14>
(2004-01-14), pp A1, A20-A21.
Tom Chmielewski, "Jet Lag Is Worse on Mars", The Atlantic (2015-02-26)
<http://www.theatlantic.com/technology/archive/2015/02/jet-lag-is-worse-on-mars/386033/>
-----
This file is in the public domain, so clarified as of 2009-05-17 by
Arthur David Olson.
-----
Local Variables:
coding: utf-8
End:

1679
external/public-domain/tz/dist/africa vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,375 @@
# tzdb data for Antarctica and environs
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# From Paul Eggert (1999-11-15):
# To keep things manageable, we list only locations occupied year-round; see
# COMNAP - Stations and Bases
# http://www.comnap.aq/comnap/comnap.nsf/P/Stations/
# and
# Summary of the Peri-Antarctic Islands (1998-07-23)
# http://www.spri.cam.ac.uk/bob/periant.htm
# for information.
# Unless otherwise specified, we have no time zone information.
# FORMAT is '-00' and STDOFF is 0 for locations while uninhabited.
# Argentina - year-round bases
# Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
# Carlini, Potter Cove, King George Island, -6414-0602320, since 1982-01
# Esperanza, Hope Bay, -6323-05659, since 1952-12-17
# Marambio, -6414-05637, since 1969-10-29
# Orcadas, Laurie I, -6016-04444, since 1904-02-22
# San Martín, Barry I, -6808-06706, since 1951-03-21
# (except 1960-03 / 1976-03-21)
# Australia - territories
# Heard Island, McDonald Islands (uninhabited)
# previously sealers and scientific personnel wintered
# Margaret Turner reports
# https://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html
# (1999-09-30) that they're UT +05, with no DST;
# presumably this is when they have visitors.
#
# year-round bases
# Casey, Bailey Peninsula, -6617+11032, since 1969
# Davis, Vestfold Hills, -6835+07759, since 1957-01-13
# (except 1964-11 - 1969-02)
# Mawson, Holme Bay, -6736+06253, since 1954-02-13
# From Steffen Thorsen (2009-03-11):
# Three Australian stations in Antarctica have changed their time zone:
# Casey moved from UTC+8 to UTC+11
# Davis moved from UTC+7 to UTC+5
# Mawson moved from UTC+6 to UTC+5
# The changes occurred on 2009-10-18 at 02:00 (local times).
#
# Government source: (Australian Antarctic Division)
# http://www.aad.gov.au/default.asp?casid=37079
#
# We have more background information here:
# https://www.timeanddate.com/news/time/antarctica-new-times.html
# From Steffen Thorsen (2010-03-10):
# We got these changes from the Australian Antarctic Division: ...
#
# - Casey station reverted to its normal time of UTC+8 on 5 March 2010.
# The change to UTC+11 is being considered as a regular summer thing but
# has not been decided yet.
#
# - Davis station will revert to its normal time of UTC+7 at 10 March 2010
# 20:00 UTC.
#
# - Mawson station stays on UTC+5.
#
# Background:
# https://www.timeanddate.com/news/time/antartica-time-changes-2010.html
# From Steffen Thorsen (2016-10-28):
# Australian Antarctica Division informed us that Casey changed time
# zone to UTC+11 in "the morning of 22nd October 2016".
# From Steffen Thorsen (2020-10-02, as corrected):
# Based on information we have received from the Australian Antarctic
# Division, Casey station and Macquarie Island station will move to Tasmanian
# daylight savings time on Sunday 4 October. This will take effect from 0001
# hrs on Sunday 4 October 2020 and will mean Casey and Macquarie Island will
# be on the same time zone as Hobart. Some past dates too for this 3 hour
# time change back and forth between UTC+8 and UTC+11 for Casey:
# - 2018 Oct 7 4:00 - 2019 Mar 17 3:00 - 2019 Oct 4 3:00 - 2020 Mar 8 3:00
# and now - 2020 Oct 4 0:01
# From Paul Eggert (2023-12-20):
# Transitions from 2021 on are taken from:
# https://www.timeanddate.com/time/zone/antarctica/casey
# retrieved at various dates.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - -00 1969
8:00 - +08 2009 Oct 18 2:00
11:00 - +11 2010 Mar 5 2:00
8:00 - +08 2011 Oct 28 2:00
11:00 - +11 2012 Feb 21 17:00u
8:00 - +08 2016 Oct 22
11:00 - +11 2018 Mar 11 4:00
8:00 - +08 2018 Oct 7 4:00
11:00 - +11 2019 Mar 17 3:00
8:00 - +08 2019 Oct 4 3:00
11:00 - +11 2020 Mar 8 3:00
8:00 - +08 2020 Oct 4 0:01
11:00 - +11 2021 Mar 14 0:00
8:00 - +08 2021 Oct 3 0:01
11:00 - +11 2022 Mar 13 0:00
8:00 - +08 2022 Oct 2 0:01
11:00 - +11 2023 Mar 9 3:00
8:00 - +08
Zone Antarctica/Davis 0 - -00 1957 Jan 13
7:00 - +07 1964 Nov
0 - -00 1969 Feb
7:00 - +07 2009 Oct 18 2:00
5:00 - +05 2010 Mar 10 20:00u
7:00 - +07 2011 Oct 28 2:00
5:00 - +05 2012 Feb 21 20:00u
7:00 - +07
Zone Antarctica/Mawson 0 - -00 1954 Feb 13
6:00 - +06 2009 Oct 18 2:00
5:00 - +05
# References:
# Casey Weather (1998-02-26)
# http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html
# Davis Station, Antarctica (1998-02-26)
# http://www.antdiv.gov.au/aad/exop/sfo/davis/video.html
# Mawson Station, Antarctica (1998-02-25)
# http://www.antdiv.gov.au/aad/exop/sfo/mawson/video.html
# Belgium - year-round base
# Princess Elisabeth, Queen Maud Land, -713412+0231200, since 2007
# Brazil - year-round base
# Ferraz, King George Island, -6205+05824, since 1983/4
# Bulgaria - year-round base
# St. Kliment Ohridski, Livingston Island, -623829-0602153, since 1988
# Chile - year-round bases and towns
# Escudero, South Shetland Is, -621157-0585735, since 1994
# Frei Montalva, King George Island, -6214-05848, since 1969-03-07
# O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02
# Prat, -6230-05941
# Villa Las Estrellas (a town), around the Frei base, since 1984-04-09
# These locations employ Region of Magallanes time; use
# TZ='America/Punta_Arenas'.
# China - year-round bases
# Great Wall, King George Island, -6213-05858, since 1985-02-20
# Zhongshan, Larsemann Hills, Prydz Bay, -6922+07623, since 1989-02-26
# France - year-round bases (also see "France & Italy")
#
# From Antoine Leca (1997-01-20):
# Time data entries are from Nicole Pailleau at the IFRTP
# (French Institute for Polar Research and Technology).
# She confirms that French Southern Territories and Terre Adélie bases
# don't observe daylight saving time, even if Terre Adélie supplies came
# from Tasmania.
#
# French Southern Territories with year-round inhabitants
#
# Alfred Faure, Possession Island, Crozet Islands, -462551+0515152, since 1964;
# sealing & whaling stations operated variously 1802/1911+;
# see Asia/Dubai.
#
# Martin-de-Viviès, Amsterdam Island, -374105+0773155, since 1950
# Port-aux-Français, Kerguelen Islands, -492110+0701303, since 1951;
# whaling & sealing station operated 1908/1914, 1920/1929, and 1951/1956
#
# St Paul Island - near Amsterdam, uninhabited
# fishing stations operated variously 1819/1931
#
# Kerguelen
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Indian/Kerguelen 0 - -00 1950 # Port-aux-Français
5:00 - +05
#
# year-round base in the main continent
# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/DumontDUrville 0 - -00 1947
10:00 - +10 1952 Jan 14
0 - -00 1956 Nov
10:00 - +10
# France & Italy - year-round base
# Concordia, -750600+1232000, since 2005
# Germany - year-round base
# Neumayer III, -704080-0081602, since 2009
# India - year-round bases
# Bharati, -692428+0761114, since 2012
# Maitri, -704558+0114356, since 1989
# Italy - year-round base (also see "France & Italy")
# Zuchelli, Terra Nova Bay, -744140+1640647, since 1986
# Japan - year-round bases
# Syowa (also known as Showa), -690022+0393524, since 1957
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Syowa 0 - -00 1957 Jan 29
3:00 - +03
# S Korea - year-round base
# Jang Bogo, Terra Nova Bay, -743700+1641205 since 2014
# King Sejong, King George Island, -6213-05847, since 1988
# New Zealand - claims
# Balleny Islands (never inhabited)
# Scott Island (never inhabited)
#
# year-round base
# Scott Base, Ross Island, since 1957-01.
# See Pacific/Auckland.
# Norway - territories
# Bouvet (never inhabited)
#
# claims
# Peter I Island (never inhabited)
#
# year-round base
# Troll, Queen Maud Land, -720041+0023206, since 2005-02-12
#
# From Paul-Inge Flakstad (2014-03-10):
# I recently had a long dialog about this with the developer of timegenie.com.
# In the absence of specific dates, he decided to choose some likely ones:
# GMT +1 - From March 1 to the last Sunday in March
# GMT +2 - From the last Sunday in March until the last Sunday in October
# GMT +1 - From the last Sunday in October until November 7
# GMT +0 - From November 7 until March 1
# The dates for switching to and from UTC+0 will probably not be absolutely
# correct, but they should be quite close to the actual dates.
#
# From Paul Eggert (2014-03-21):
# The CET-switching Troll rules require zic from tz 2014b or later, so as
# suggested by Bengt-Inge Larsson comment them out for now, and approximate
# with only UTC and CEST. Uncomment them when 2014b is more prevalent.
#
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
#Rule Troll 2005 max - Mar 1 1:00u 1:00 +01
Rule Troll 2005 max - Mar lastSun 1:00u 2:00 +02
#Rule Troll 2005 max - Oct lastSun 1:00u 1:00 +01
#Rule Troll 2004 max - Nov 7 1:00u 0:00 +00
# Remove the following line when uncommenting the above '#Rule' lines.
Rule Troll 2004 max - Oct lastSun 1:00u 0:00 +00
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Troll 0 - -00 2005 Feb 12
0:00 Troll %s
# Poland - year-round base
# Arctowski, King George Island, -620945-0582745, since 1977
# Romania - year-bound base
# Law-Racoviță, Larsemann Hills, -692319+0762251, since 1986
# Russia - year-round bases
# Bellingshausen, King George Island, -621159-0585337, since 1968-02-22
# Mirny, Davis coast, -6633+09301, since 1956-02
# Molodezhnaya, Alasheyev Bay, -6740+04551,
# year-round from 1962-02 to 1999-07-01
# Novolazarevskaya, Queen Maud Land, -7046+01150,
# year-round from 1960/61 to 1992
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
# From Craig Mundell (1994-12-15):
# http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP
# Vostok, which is one of the Russian stations, is set on the same
# time as Moscow, Russia.
#
# From Lee Hotz (2001-03-08):
# I queried the folks at Columbia who spent the summer at Vostok and this is
# what they had to say about time there:
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT."
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antarctic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok.
#
# From Zakhary V. Akulov (2023-12-17 22:00:48 +0700):
# ... from December, 18, 2023 00:00 by my decision the local time of
# the Antarctic research base Vostok will correspond to UTC+5.
# (2023-12-19): We constantly interact with Progress base, with company who
# builds new wintering station, with sledge convoys, with aviation - they all
# use UTC+5. Besides, difference between Moscow time is just 2 hours now, not 4.
# (2023-12-19, in response to the question "Has local time at Vostok
# been UTC+6 ever since 1957, or has it changed before?"): No. At least
# since my antarctic career start, 10 years ago, Vostok base has UTC+7.
# (In response to a 2023-12-18 question "from 02:00 to 00:00 today"): This.
#
# From Paul Eggert (2023-12-18):
# For lack of better info, guess Vostok was at +07 from founding through today,
# except when closed.
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Vostok 0 - -00 1957 Dec 16
7:00 - +07 1994 Feb
0 - -00 1994 Nov
7:00 - +07 2023 Dec 18 2:00
5:00 - +05
# S Africa - year-round bases
# Marion Island, -4653+03752
# SANAE IV, Vesleskarvet, Queen Maud Land, -714022-0025026, since 1997
# Ukraine - year-round base
# Vernadsky (formerly Faraday), Galindez Island, -651445-0641526, since 1954
# United Kingdom
#
# British Antarctic Territories (BAT) claims
# South Orkney Islands
# scientific station from 1903
# whaling station at Signy I 1920/1926
# South Shetland Islands
#
# year-round bases
# Bird Island, South Georgia, -5400-03803, since 1983
# Deception Island, -6259-06034, whaling station 1912/1931,
# scientific station 1943/1967,
# previously sealers and a scientific expedition wintered by accident,
# and a garrison was deployed briefly
# Halley, Coates Land, -7535-02604, since 1956-01-06
# Halley is on a moving ice shelf and is periodically relocated
# so that it is never more than 10km from its nominal location.
# Rothera, Adelaide Island, -6734-6808, since 1976-12-01
#
# From Paul Eggert (2002-10-22)
# <http://webexhibits.org/daylightsaving/g.html> says Rothera is -03 all year.
#
# Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone Antarctica/Rothera 0 - -00 1976 Dec 1
-3:00 - -03
# Uruguay - year round base
# Artigas, King George Island, -621104-0585107
# USA - year-round bases
#
# Palmer, Anvers Island, since 1965 (moved 2 miles in 1968)
# See 'southamerica' for Antarctica/Palmer, since it uses South American DST.
#
# McMurdo Station, Ross Island, since 1955-12
# Amundsen-Scott South Pole Station, continuously occupied since 1956-11-20
#
# From Chris Carrier (1996-06-27):
# Siple, the first commander of the South Pole station,
# stated that he would have liked to have kept GMT at the station,
# but that he found it more convenient to keep GMT+12
# as supplies for the station were coming from McMurdo Sound,
# which was on GMT+12 because New Zealand was on GMT+12 all year
# at that time (1957). (Source: Siple's book 90° South.)
#
# From Susan Smith
# http://www.cybertours.com/whs/pole10.html
# (1995-11-13 16:24:56 +1300, no longer available):
# We use the same time as McMurdo does.
# And they use the same time as Christchurch, NZ does....
# One last quirk about South Pole time.
# All the electric clocks are usually wrong.
# Something about the generators running at 60.1hertz or something
# makes all of the clocks run fast. So every couple of days,
# we have to go around and set them back 5 minutes or so.
# Maybe if we let them run fast all of the time, we'd get to leave here sooner!!
#
# See Pacific/Auckland.

4195
external/public-domain/tz/dist/asia vendored Normal file

File diff suppressed because it is too large Load Diff

2288
external/public-domain/tz/dist/australasia vendored Normal file

File diff suppressed because it is too large Load Diff

212
external/public-domain/tz/dist/backward vendored Normal file
View File

@ -0,0 +1,212 @@
# tzdb links for backward compatibility
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This file provides links from old or merged timezone names to current ones.
# Many names changed in 1993 and in 1995, and many merged names moved here
# in the period from 2013 through 2022. Several of these names are
# also present in the file 'backzone', which has data important only
# for pre-1970 timestamps and so is out of scope for tzdb proper.
# Although this file is optional and tzdb will work if you omit it by
# building with 'make BACKWARD=', in practice downstream users
# typically use this file for backward compatibility.
# This file is divided into sections, one for each major reason for a
# backward compatibility link. Each section is sorted by link name.
# A "#= TARGET1" comment labels each link inserted only because some
# .zi parsers (including tzcode through 2022e) mishandle links to links.
# The comment says what the target would be if these parsers were fixed
# so that data could contain links to links. For example, the line
# "Link Australia/Sydney Australia/ACT #= Australia/Canberra" would be
# "Link Australia/Canberra Australia/ACT" were it not that data lines
# refrain from linking to links like Australia/Canberra, which means
# the Australia/ACT line links instead to Australia/Sydney,
# Australia/Canberra's target.
# Pre-1993 naming conventions
# Link TARGET LINK-NAME #= TARGET1
Link Australia/Sydney Australia/ACT #= Australia/Canberra
Link Australia/Lord_Howe Australia/LHI
Link Australia/Sydney Australia/NSW
Link Australia/Darwin Australia/North
Link Australia/Brisbane Australia/Queensland
Link Australia/Adelaide Australia/South
Link Australia/Hobart Australia/Tasmania
Link Australia/Melbourne Australia/Victoria
Link Australia/Perth Australia/West
Link Australia/Broken_Hill Australia/Yancowinna
Link America/Rio_Branco Brazil/Acre #= America/Porto_Acre
Link America/Noronha Brazil/DeNoronha
Link America/Sao_Paulo Brazil/East
Link America/Manaus Brazil/West
Link America/Halifax Canada/Atlantic
Link America/Winnipeg Canada/Central
# This line is commented out, as the name exceeded the 14-character limit
# and was an unused misnomer.
#Link America/Regina Canada/East-Saskatchewan
Link America/Toronto Canada/Eastern
Link America/Edmonton Canada/Mountain
Link America/St_Johns Canada/Newfoundland
Link America/Vancouver Canada/Pacific
Link America/Regina Canada/Saskatchewan
Link America/Whitehorse Canada/Yukon
Link America/Santiago Chile/Continental
Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
# Vanguard section, for most .zi parsers.
#Link GMT Etc/GMT
#Link GMT Etc/GMT+0
#Link GMT Etc/GMT-0
#Link GMT Etc/GMT0
#Link GMT Etc/Greenwich
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Link Etc/GMT Etc/GMT+0
Link Etc/GMT Etc/GMT-0
Link Etc/GMT Etc/GMT0
Link Etc/GMT Etc/Greenwich
# End of rearguard section.
Link Etc/UTC Etc/UCT
Link Etc/UTC Etc/Universal
Link Etc/UTC Etc/Zulu
Link Europe/London GB
Link Europe/London GB-Eire
# Vanguard section, for most .zi parsers.
#Link GMT GMT+0
#Link GMT GMT-0
#Link GMT GMT0
#Link GMT Greenwich
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Link Etc/GMT GMT+0
Link Etc/GMT GMT-0
Link Etc/GMT GMT0
Link Etc/GMT Greenwich
# End of rearguard section.
Link Asia/Hong_Kong Hongkong
Link Atlantic/Reykjavik Iceland
Link Asia/Tehran Iran
Link Asia/Jerusalem Israel
Link America/Jamaica Jamaica
Link Asia/Tokyo Japan
Link Pacific/Kwajalein Kwajalein
Link Africa/Tripoli Libya
Link America/Tijuana Mexico/BajaNorte
Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
Link America/Denver Navajo #= America/Shiprock
Link Asia/Shanghai PRC
Link Europe/Warsaw Poland
Link Europe/Lisbon Portugal
Link Asia/Taipei ROC
Link Asia/Seoul ROK
Link Asia/Singapore Singapore
Link Europe/Istanbul Turkey
Link Etc/UTC UCT
Link America/Anchorage US/Alaska
Link America/Adak US/Aleutian
Link America/Phoenix US/Arizona
Link America/Chicago US/Central
Link America/Indiana/Indianapolis US/East-Indiana
Link America/New_York US/Eastern
Link Pacific/Honolulu US/Hawaii
Link America/Indiana/Knox US/Indiana-Starke
Link America/Detroit US/Michigan
Link America/Denver US/Mountain
Link America/Los_Angeles US/Pacific
Link Pacific/Pago_Pago US/Samoa
Link Etc/UTC UTC
Link Etc/UTC Universal
Link Europe/Moscow W-SU
Link Etc/UTC Zulu
# Two-part names that were renamed mostly to three-part names in 1995
# Link TARGET LINK-NAME #= TARGET1
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
Link America/Argentina/Cordoba America/Cordoba
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
Link America/Kentucky/Louisville America/Louisville
Link America/Argentina/Mendoza America/Mendoza
Link America/St_Thomas America/Virgin
Link Pacific/Pago_Pago Pacific/Samoa
# Pre-2013 practice, which typically had a Zone per zone.tab line
# Link TARGET LINK-NAME
# Non-zone.tab locations with timestamps since 1970 that duplicate
# those of an existing location
# Link TARGET LINK-NAME
Link Africa/Bamako Africa/Timbuktu
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
Link America/Adak America/Atka
Link America/Atikokan America/Coral_Harbour
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
Link America/Toronto America/Montreal
Link America/Toronto America/Nipigon
Link America/Iqaluit America/Pangnirtung
Link America/Rio_Branco America/Porto_Acre
Link America/Winnipeg America/Rainy_River
Link America/Argentina/Cordoba America/Rosario
Link America/Tijuana America/Santa_Isabel
Link America/Denver America/Shiprock
Link America/Toronto America/Thunder_Bay
Link America/Edmonton America/Yellowknife
Link Antarctica/McMurdo Antarctica/South_Pole
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Harbin
Link Asia/Urumqi Asia/Kashgar
Link Asia/Jerusalem Asia/Tel_Aviv
Link Europe/Oslo Atlantic/Jan_Mayen
Link Australia/Sydney Australia/Canberra
Link Australia/Hobart Australia/Currie
Link Europe/London Europe/Belfast
Link Europe/Chisinau Europe/Tiraspol
Link Europe/Kyiv Europe/Uzhgorod
Link Europe/Kyiv Europe/Zaporozhye
Link Pacific/Kanton Pacific/Enderbury
Link Pacific/Honolulu Pacific/Johnston
Link Pacific/Chuuk Pacific/Yap
# Alternate names for the same location
# Link TARGET LINK-NAME #= TARGET1
Link Africa/Asmara Africa/Asmera
Link America/Nuuk America/Godthab
Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Kolkata Asia/Calcutta
Link Asia/Shanghai Asia/Chungking #= Asia/Chongqing
Link Asia/Dhaka Asia/Dacca
# Istanbul is in both continents.
Link Europe/Istanbul Asia/Istanbul
Link Asia/Kathmandu Asia/Katmandu
Link Asia/Macau Asia/Macao
Link Asia/Yangon Asia/Rangoon
Link Asia/Ho_Chi_Minh Asia/Saigon
Link Asia/Thimphu Asia/Thimbu
Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Kyiv Europe/Kiev
# Classically, Cyprus is in Asia; e.g. see Herodotus, Histories, I.72.
# However, for various reasons many users expect to find it under Europe.
Link Asia/Nicosia Europe/Nicosia
Link Pacific/Pohnpei Pacific/Ponape
Link Pacific/Chuuk Pacific/Truk

1363
external/public-domain/tz/dist/backzone vendored Normal file

File diff suppressed because it is too large Load Diff

173
external/public-domain/tz/dist/calendars vendored Normal file
View File

@ -0,0 +1,173 @@
----- Calendrical issues -----
As mentioned in Theory.html, although calendrical issues are out of
scope for tzdb, they indicate the sort of problems that we would run
into if we extended tzdb further into the past. The following
information and sources go beyond Theory.html's brief discussion.
They sometimes disagree.
France
Gregorian calendar adopted 1582-12-20.
French Revolutionary calendar used 1793-11-24 through 1805-12-31,
and (in Paris only) 1871-05-06 through 1871-05-23.
Russia
From Chris Carrier (1996-12-02):
On 1929-10-01 the Soviet Union instituted an "Eternal Calendar"
with 30-day months plus 5 holidays, with a 5-day week.
On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the
Gregorian calendar while retaining the 6-day week; on 1940-06-27 it
reverted to the 7-day week. With the 6-day week the usual days
off were the 6th, 12th, 18th, 24th and 30th of the month.
(Source: Evitiar Zerubavel, _The Seven Day Circle_)
Mark Brader reported a similar story in "The Book of Calendars", edited
by Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377. But:
From: Petteri Sulonen (via Usenet)
Date: 14 Jan 1999 00:00:00 GMT
...
If your source is correct, how come documents between 1929 and 1940 were
still dated using the conventional, Gregorian calendar?
I can post a scan of a document dated December 1, 1934, signed by
Yenukidze, the secretary, on behalf of Kalinin, the President of the
Executive Committee of the Supreme Soviet, if you like.
Sweden (and Finland)
From: Mark Brader
Subject: Re: Gregorian reform - a part of locale?
<news:1996Jul6.012937.29190@sq.com>
Date: 1996-07-06
In 1700, Denmark made the transition from Julian to Gregorian. Sweden
decided to *start* a transition in 1700 as well, but rather than have one of
those unsightly calendar gaps :-), they simply decreed that the next leap
year after 1696 would be in 1744 - putting the whole country on a calendar
different from both Julian and Gregorian for a period of 40 years.
However, in 1704 something went wrong and the plan was not carried through;
they did, after all, have a leap year that year. And one in 1708. In 1712
they gave it up and went back to Julian, putting 30 days in February that
year!...
Then in 1753, Sweden made the transition to Gregorian in the usual manner,
getting there only 13 years behind the original schedule.
(A previous posting of this story was challenged, and Swedish readers
produced the following references to support it: "Tideräkning och historia"
by Natanael Beckman (1924) and "Tid, en bok om tideräkning och
kalenderväsen" by Lars-Olof Lodén (1968).
Grotefend's data
From: "Michael Palmer" [with two obvious typos fixed]
Subject: Re: Gregorian Calendar (was Re: Another FHC related question
Newsgroups: soc.genealogy.german
Date: Tue, 9 Feb 1999 02:32:48 -800
...
The following is a(n incomplete) listing, arranged chronologically, of
European states, with the date they converted from the Julian to the
Gregorian calendar:
04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman
Catholics and Danzig only)
09/20 Dec 1582 - France, Lorraine
21 Dec 1582/
01 Jan 1583 - Holland, Brabant, Flanders, Hennegau
10/21 Feb 1583 - bishopric of Liege (Lüttich)
13/24 Feb 1583 - bishopric of Augsburg
04/15 Oct 1583 - electorate of Trier
05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg,
Salzburg, Brixen
13/24 Oct 1583 - Austrian Oberelsaß and Breisgau
20/31 Oct 1583 - bishopric of Basel
02/13 Nov 1583 - duchy of Jülich-Berg
02/13 Nov 1583 - electorate and city of Köln
04/15 Nov 1583 - bishopric of Würzburg
11/22 Nov 1583 - electorate of Mainz
16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden
17/28 Nov 1583 - bishopric of Münster and duchy of Cleve
14/25 Dec 1583 - Steiermark
06/17 Jan 1584 - Austria and Bohemia
11/22 Jan 1584 - Lucerne, Uri, Schwyz, Zug, Freiburg, Solothurn
12/23 Jan 1584 - Silesia and the Lausitz
22 Jan/
02 Feb 1584 - Hungary (legally on 21 Oct 1587)
Jun 1584 - Unterwalden
01/12 Jul 1584 - duchy of Westfalen
16/27 Jun 1585 - bishopric of Paderborn
14/25 Dec 1590 - Transylvania
22 Aug/
02 Sep 1612 - duchy of Prussia
13/24 Dec 1614 - Pfalz-Neuburg
1617 - duchy of Kurland (reverted to the Julian calendar in
1796)
1624 - bishopric of Osnabrück
1630 - bishopric of Minden
15/26 Mar 1631 - bishopric of Hildesheim
1655 - Kanton Wallis
05/16 Feb 1682 - city of Strassburg
18 Feb/
01 Mar 1700 - Protestant Germany (including Swedish possessions in
Germany), Denmark, Norway
30 Jun/
12 Jul 1700 - Gelderland, Zutphen
10 Nov/
12 Dec 1700 - Utrecht, Overijssel
31 Dec 1700/
12 Jan 1701 - Friesland, Groningen, Zürich, Bern, Basel, Geneva,
Thurgau, and Schaffhausen
1724 - Glarus, Appenzell, and the city of St. Gallen
01 Jan 1750 - Pisa and Florence
02/14 Sep 1752 - Great Britain
17 Feb/
01 Mar 1753 - Sweden
1760-1812 - Graubünden
The Russian empire (including Finland and the Baltic states) did not
convert to the Gregorian calendar until the Soviet revolution of 1917.
Source: H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen
Mittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend
(Hannover: Hahnsche Buchhandlung, 1941), pp. 26-28.
-----
This file is in the public domain, so clarified as of 2009-05-17 by
Arthur David Olson.
-----
Local Variables:
coding: utf-8
End:

View File

@ -0,0 +1,70 @@
# Check links in tz tables.
# Contributed by Paul Eggert. This file is in the public domain.
BEGIN {
# Special marker indicating that the name is defined as a Zone.
# It is a newline so that it cannot match a valid name.
# It is not null so that its slot does not appear unset.
Zone = "\n"
}
/^Z/ {
if (defined[$2]) {
if (defined[$2] == Zone) {
printf "%s: Zone has duplicate definition\n", $2
} else {
printf "%s: Link with same name as Zone\n", $2
}
status = 1
}
defined[$2] = Zone
}
/^L/ {
if (defined[$3]) {
if (defined[$3] == Zone) {
printf "%s: Link with same name as Zone\n", $3
} else if (defined[$3] == $2) {
printf "%s: Link has duplicate definition\n", $3
} else {
printf "%s: Link to both %s and %s\n", $3, defined[$3], $2
}
status = 1
}
if (backcheck && FILENAME != backcheck && $3 != "GMT") {
printf "%s: Link should be in '%s'\n", $3, backcheck
status = 1
}
if ($4 == "#=") {
shortcut[$5] = $3
}
used[$2] = 1
defined[$3] = $2
}
END {
for (tz in used) {
if (defined[tz] != Zone) {
if (!defined[tz]) {
printf "%s: Link to nowhere\n", tz
status = 1
} else if (DATAFORM != "vanguard") {
printf "%s: Link to link\n", tz
status = 1
}
}
}
for (tz in shortcut) {
if (defined[shortcut[tz]] != defined[tz]) {
target = (!defined[tz] ? "absence" \
: defined[tz] == "\n" ? "zone" \
: defined[tz])
printf "%s: target %s disagrees with %s's target %s\n", \
tz, target, shortcut[tz], defined[shortcut[tz]]
status = 1
}
}
exit status
}

View File

@ -0,0 +1,54 @@
# 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)
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", zone
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 "zonenow.tab should have one of:%s\n", zones[data]
zonenow[data] = zone # This suppresses duplicate diagnostics.
status = 1
}
}
exit status
}

View File

@ -0,0 +1,193 @@
# Check tz tables for consistency.
# Contributed by Paul Eggert. This file is in the public domain.
BEGIN {
FS = "\t"
if (!iso_table) iso_table = "iso3166.tab"
if (!zone_table) zone_table = "zone1970.tab"
if (!want_warnings) want_warnings = -1
while (getline <iso_table) {
iso_NR++
if ($0 ~ /^#/) continue
if (NF != 2) {
printf "%s:%d: wrong number of columns\n", \
iso_table, iso_NR >>"/dev/stderr"
status = 1
}
cc = $1
name = $2
if (cc !~ /^[A-Z][A-Z]$/) {
printf "%s:%d: invalid country code '%s'\n", \
iso_table, iso_NR, cc >>"/dev/stderr"
status = 1
}
if (cc <= cc0) {
if (cc == cc0) {
s = "duplicate";
} else {
s = "out of order";
}
printf "%s:%d: country code '%s' is %s\n", \
iso_table, iso_NR, cc, s \
>>"/dev/stderr"
status = 1
}
cc0 = cc
if (name2cc[name]) {
printf "%s:%d: '%s' and '%s' have the same name\n", \
iso_table, iso_NR, name2cc[name], cc \
>>"/dev/stderr"
status = 1
}
name2cc[name] = cc
cc2name[cc] = name
cc2NR[cc] = iso_NR
}
cc0 = ""
while (getline <zone_table) {
zone_NR++
if ($0 ~ /^#/) continue
if (NF != 3 && NF != 4) {
printf "%s:%d: wrong number of columns\n", \
zone_table, zone_NR >>"/dev/stderr"
status = 1
}
ccs = input_ccs[zone_NR] = $1
coordinates = $2
tz = $3
comments = input_comments[zone_NR] = $4
split(ccs, cca, /,/)
cc = cca[1]
# Don't complain about a special case for Crimea in zone.tab.
# FIXME: zone.tab should be removed, since it is obsolete.
# Or at least put just "XX" in its country-code column.
if (cc < cc0 \
&& !(zone_table == "zone.tab" \
&& tz0 == "Europe/Simferopol")) {
printf "%s:%d: country code '%s' is out of order\n", \
zone_table, zone_NR, cc >>"/dev/stderr"
status = 1
}
cc0 = cc
tz0 = tz
tztab[tz] = 1
tz2NR[tz] = zone_NR
for (i in cca) {
cc = cca[i]
if (cc2name[cc]) {
cc_used[cc]++
} 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
}
}
if (coordinates !~ /^[-+][0-9][0-9][0-5][0-9][-+][01][0-9][0-9][0-5][0-9]$/ \
&& coordinates !~ /^[-+][0-9][0-9][0-5][0-9][0-5][0-9][-+][01][0-9][0-9][0-5][0-9][0-5][0-9]$/) {
printf "%s:%d: %s: invalid coordinates\n", \
zone_table, zone_NR, coordinates >>"/dev/stderr"
status = 1
}
}
for (i = 1; i <= zone_NR; i++) {
ccs = input_ccs[i]
if (!ccs) continue
comments = input_comments[i]
split(ccs, cca, /,/)
used_max = 0
for (j in cca) {
cc = cca[j]
if (used_max < cc_used[cc]) {
used_max = cc_used[cc]
used_max_cc = cc
}
}
if (used_max <= 1 && comments && zone_table != "zonenow.tab") {
printf "%s:%d: unnecessary comment '%s'\n", \
zone_table, i, comments \
>>"/dev/stderr"
status = 1
} else if (1 < used_max && !comments) {
printf "%s:%d: missing comment for %s\n", \
zone_table, i, used_max_cc \
>>"/dev/stderr"
status = 1
}
}
FS = " "
}
$1 ~ /^#/ { next }
{
tz = rules = ""
if ($1 == "Zone") {
tz = $2
ruleUsed[$4] = 1
if ($5 ~ /%/) rulePercentUsed[$4] = 1
} else if ($1 == "Link" && zone_table == "zone.tab") {
# Ignore Link commands if source and destination basenames
# are identical, e.g. Europe/Istanbul versus Asia/Istanbul.
src = $2
dst = $3
while ((i = index(src, "/"))) src = substr(src, i+1)
while ((i = index(dst, "/"))) dst = substr(dst, i+1)
if (src != dst) tz = $3
} else if ($1 == "Rule") {
ruleDefined[$2] = 1
if ($10 != "-") ruleLetters[$2] = 1
} else {
ruleUsed[$2] = 1
if ($3 ~ /%/) rulePercentUsed[$2] = 1
}
if (tz && tz ~ /\// && tz !~ /^Etc\//) {
if (!tztab[tz] && FILENAME != "backward" \
&& zone_table != "zonenow.tab") {
printf "%s: no data for '%s'\n", zone_table, tz \
>>"/dev/stderr"
status = 1
}
zoneSeen[tz] = 1
}
}
END {
for (tz in ruleDefined) {
if (!ruleUsed[tz]) {
printf "%s: Rule never used\n", tz
status = 1
}
}
for (tz in ruleLetters) {
if (!rulePercentUsed[tz]) {
printf "%s: Rule contains letters never used\n", tz
status = 1
}
}
for (tz in tztab) {
if (!zoneSeen[tz] && tz !~ /^Etc\//) {
printf "%s:%d: no Zone table for '%s'\n", \
zone_table, tz2NR[tz], tz >>"/dev/stderr"
status = 1
}
}
if (0 < want_warnings) {
for (cc in cc2name) {
if (!cc_used[cc]) {
printf "%s:%d: warning: " \
"no Zone entries for %s (%s)\n", \
iso_table, cc2NR[cc], cc, cc2name[cc]
}
}
}
exit status
}

79
external/public-domain/tz/dist/etcetera vendored Normal file
View File

@ -0,0 +1,79 @@
# tzdb data for ships at sea and other miscellany
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# These entries are for uses not otherwise covered by the tz database.
# Their main practical use is for platforms like Android that lack
# support for POSIX.1-2017-style TZ strings. On such platforms these entries
# can be useful if the timezone database is wrong or if a ship or
# aircraft at sea is not in a timezone.
# Starting with POSIX 1003.1-2001, the entries below are all
# unnecessary as settings for the TZ environment variable. E.g.,
# instead of TZ='Etc/GMT+4' one can use the POSIX setting TZ='<-04>+4'.
#
# Do not use a POSIX TZ setting like TZ='GMT+4', which is four hours
# behind GMT but uses the completely misleading abbreviation "GMT".
# The following zone is used by tzcode functions like gmtime,
# which load the "UTC" file to handle seconds properly.
Zone Etc/UTC 0 - UTC
# Functions like gmtime load the "GMT" file to handle leap seconds properly.
# Vanguard section, which works with most .zi parsers.
#Zone GMT 0 - GMT
# Rearguard section, for TZUpdater 2.3.2 and earlier.
Zone Etc/GMT 0 - GMT
# The following link uses older naming conventions,
# but it belongs here, not in the file 'backward',
# as it is needed for tzcode releases through 2022a,
# where functions like gmtime load "GMT" instead of the "Etc/UTC".
# We want this to work even on installations that omit 'backward'.
Link Etc/GMT GMT
# End of rearguard section.
# Be consistent with POSIX TZ settings in the Zone names,
# even though this is the opposite of what many people expect.
# POSIX has positive signs west of Greenwich, but many people expect
# positive signs east of Greenwich. For example, TZ='Etc/GMT+4' uses
# the abbreviation "-04" and corresponds to 4 hours behind UT
# (i.e. west of Greenwich) even though many people would expect it to
# mean 4 hours ahead of UT (i.e. east of Greenwich).
# Earlier incarnations of this package were not POSIX-compliant,
# and had lines such as
# Zone GMT-12 -12 - GMT-1200
# We did not want things to change quietly if someone accustomed to the old
# way does a
# zic -l GMT-12
# so we moved the names into the Etc subdirectory.
# Also, the time zone abbreviations are now compatible with %z.
Zone Etc/GMT-14 14 - +14
Zone Etc/GMT-13 13 - +13
Zone Etc/GMT-12 12 - +12
Zone Etc/GMT-11 11 - +11
Zone Etc/GMT-10 10 - +10
Zone Etc/GMT-9 9 - +09
Zone Etc/GMT-8 8 - +08
Zone Etc/GMT-7 7 - +07
Zone Etc/GMT-6 6 - +06
Zone Etc/GMT-5 5 - +05
Zone Etc/GMT-4 4 - +04
Zone Etc/GMT-3 3 - +03
Zone Etc/GMT-2 2 - +02
Zone Etc/GMT-1 1 - +01
Zone Etc/GMT+1 -1 - -01
Zone Etc/GMT+2 -2 - -02
Zone Etc/GMT+3 -3 - -03
Zone Etc/GMT+4 -4 - -04
Zone Etc/GMT+5 -5 - -05
Zone Etc/GMT+6 -6 - -06
Zone Etc/GMT+7 -7 - -07
Zone Etc/GMT+8 -8 - -08
Zone Etc/GMT+9 -9 - -09
Zone Etc/GMT+10 -10 - -10
Zone Etc/GMT+11 -11 - -11
Zone Etc/GMT+12 -12 - -12

4135
external/public-domain/tz/dist/europe vendored Normal file

File diff suppressed because it is too large Load Diff

12
external/public-domain/tz/dist/factory vendored Normal file
View File

@ -0,0 +1,12 @@
# tzdb data for noncommittal factory settings
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# For distributors who don't want to specify a timezone in their
# installation procedures. Users who run 'date' will get the
# time zone abbreviation "-00", indicating that the actual time zone
# is unknown.
# Zone NAME STDOFF RULES FORMAT
Zone Factory 0 - -00

View File

@ -0,0 +1,279 @@
# ISO 3166 alpha-2 country codes
#
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2023-09-06):
# This file contains a table of two-letter country codes. Columns are
# separated by a single tab. Lines beginning with '#' are comments.
# All text uses UTF-8 encoding. The columns of the table are as follows:
#
# 1. ISO 3166-1 alpha-2 country code, current as of
# ISO/TC 46 N1108 (2023-04-05). See: ISO/TC 46 Documents
# https://www.iso.org/committee/48750.html?view=documents
# 2. The usual English name for the coded region. This sometimes
# departs from ISO-listed names, sometimes so that sorted subsets
# of names are useful (e.g., "Samoa (American)" and "Samoa
# (western)" rather than "American Samoa" and "Samoa"),
# sometimes to avoid confusion among non-experts (e.g.,
# "Czech Republic" and "Turkey" rather than "Czechia" and "Türkiye"),
# and sometimes to omit needless detail or churn (e.g., "Netherlands"
# rather than "Netherlands (the)" or "Netherlands (Kingdom of the)").
#
# The table is sorted by country code.
#
# This table is intended as an aid for users, to help them select time
# zone data appropriate for their practical needs. It is not intended
# to take or endorse any position on legal or territorial claims.
#
#country-
#code name of country, territory, area, or subdivision
AD Andorra
AE United Arab Emirates
AF Afghanistan
AG Antigua & Barbuda
AI Anguilla
AL Albania
AM Armenia
AO Angola
AQ Antarctica
AR Argentina
AS Samoa (American)
AT Austria
AU Australia
AW Aruba
AX Åland Islands
AZ Azerbaijan
BA Bosnia & Herzegovina
BB Barbados
BD Bangladesh
BE Belgium
BF Burkina Faso
BG Bulgaria
BH Bahrain
BI Burundi
BJ Benin
BL St Barthelemy
BM Bermuda
BN Brunei
BO Bolivia
BQ Caribbean NL
BR Brazil
BS Bahamas
BT Bhutan
BV Bouvet Island
BW Botswana
BY Belarus
BZ Belize
CA Canada
CC Cocos (Keeling) Islands
CD Congo (Dem. Rep.)
CF Central African Rep.
CG Congo (Rep.)
CH Switzerland
CI Côte d'Ivoire
CK Cook Islands
CL Chile
CM Cameroon
CN China
CO Colombia
CR Costa Rica
CU Cuba
CV Cape Verde
CW Curaçao
CX Christmas Island
CY Cyprus
CZ Czech Republic
DE Germany
DJ Djibouti
DK Denmark
DM Dominica
DO Dominican Republic
DZ Algeria
EC Ecuador
EE Estonia
EG Egypt
EH Western Sahara
ER Eritrea
ES Spain
ET Ethiopia
FI Finland
FJ Fiji
FK Falkland Islands
FM Micronesia
FO Faroe Islands
FR France
GA Gabon
GB Britain (UK)
GD Grenada
GE Georgia
GF French Guiana
GG Guernsey
GH Ghana
GI Gibraltar
GL Greenland
GM Gambia
GN Guinea
GP Guadeloupe
GQ Equatorial Guinea
GR Greece
GS South Georgia & the South Sandwich Islands
GT Guatemala
GU Guam
GW Guinea-Bissau
GY Guyana
HK Hong Kong
HM Heard Island & McDonald Islands
HN Honduras
HR Croatia
HT Haiti
HU Hungary
ID Indonesia
IE Ireland
IL Israel
IM Isle of Man
IN India
IO British Indian Ocean Territory
IQ Iraq
IR Iran
IS Iceland
IT Italy
JE Jersey
JM Jamaica
JO Jordan
JP Japan
KE Kenya
KG Kyrgyzstan
KH Cambodia
KI Kiribati
KM Comoros
KN St Kitts & Nevis
KP Korea (North)
KR Korea (South)
KW Kuwait
KY Cayman Islands
KZ Kazakhstan
LA Laos
LB Lebanon
LC St Lucia
LI Liechtenstein
LK Sri Lanka
LR Liberia
LS Lesotho
LT Lithuania
LU Luxembourg
LV Latvia
LY Libya
MA Morocco
MC Monaco
MD Moldova
ME Montenegro
MF St Martin (French)
MG Madagascar
MH Marshall Islands
MK North Macedonia
ML Mali
MM Myanmar (Burma)
MN Mongolia
MO Macau
MP Northern Mariana Islands
MQ Martinique
MR Mauritania
MS Montserrat
MT Malta
MU Mauritius
MV Maldives
MW Malawi
MX Mexico
MY Malaysia
MZ Mozambique
NA Namibia
NC New Caledonia
NE Niger
NF Norfolk Island
NG Nigeria
NI Nicaragua
NL Netherlands
NO Norway
NP Nepal
NR Nauru
NU Niue
NZ New Zealand
OM Oman
PA Panama
PE Peru
PF French Polynesia
PG Papua New Guinea
PH Philippines
PK Pakistan
PL Poland
PM St Pierre & Miquelon
PN Pitcairn
PR Puerto Rico
PS Palestine
PT Portugal
PW Palau
PY Paraguay
QA Qatar
RE Réunion
RO Romania
RS Serbia
RU Russia
RW Rwanda
SA Saudi Arabia
SB Solomon Islands
SC Seychelles
SD Sudan
SE Sweden
SG Singapore
SH St Helena
SI Slovenia
SJ Svalbard & Jan Mayen
SK Slovakia
SL Sierra Leone
SM San Marino
SN Senegal
SO Somalia
SR Suriname
SS South Sudan
ST Sao Tome & Principe
SV El Salvador
SX St Maarten (Dutch)
SY Syria
SZ Eswatini (Swaziland)
TC Turks & Caicos Is
TD Chad
TF French S. Terr.
TG Togo
TH Thailand
TJ Tajikistan
TK Tokelau
TL East Timor
TM Turkmenistan
TN Tunisia
TO Tonga
TR Turkey
TT Trinidad & Tobago
TV Tuvalu
TW Taiwan
TZ Tanzania
UA Ukraine
UG Uganda
UM US minor outlying islands
US United States
UY Uruguay
UZ Uzbekistan
VA Vatican City
VC St Vincent
VE Venezuela
VG Virgin Islands (UK)
VI Virgin Islands (US)
VN Vietnam
VU Vanuatu
WF Wallis & Futuna
WS Samoa (western)
YE Yemen
YT Mayotte
ZA South Africa
ZM Zambia
ZW Zimbabwe

View File

@ -0,0 +1,120 @@
# ATOMIC TIME.
# The Coordinated Universal Time (UTC) is the reference time scale derived
# from The "Temps Atomique International" (TAI) calculated by the Bureau
# International des Poids et Mesures (BIPM) using a worldwide network of atomic
# clocks. UTC differs from TAI by an integer number of seconds; it is the basis
# of all activities in the world.
#
#
# ASTRONOMICAL TIME (UT1) is the time scale based on the rate of rotation of the earth.
# It is now mainly derived from Very Long Baseline Interferometry (VLBI). The various
# irregular fluctuations progressively detected in the rotation rate of the Earth lead
# in 1972 to the replacement of UT1 by UTC as the reference time scale.
#
#
# LEAP SECOND
# Atomic clocks are more stable than the rate of the earth rotation since the latter
# undergoes a full range of geophysical perturbations at various time scales: lunisolar
# and core-mantle torques, atmospheric and oceanic effetcs, etc.
# Leap seconds are needed to keep the two time scales in agreement, i.e. UT1-UTC smaller
# than 0.9 second. Therefore, when necessary a "leap second" is applied to UTC.
# Since the adoption of this system in 1972 it has been necessary to add a number of seconds to UTC,
# firstly due to the initial choice of the value of the second (1/86400 mean solar day of
# the year 1820) and secondly to the general slowing down of the Earth's rotation. It is
# theorically possible to have a negative leap second (a second removed from UTC), but so far,
# all leap seconds have been positive (a second has been added to UTC). Based on what we know about
# the earth's rotation, it is unlikely that we will ever have a negative leap second.
#
#
# HISTORY
# The first leap second was added on June 30, 1972. Until yhe year 2000, it was necessary in average to add a
# leap second at a rate of 1 to 2 years. Since the year 2000 leap seconds are introduced with an
# average interval of 3 to 4 years due to the acceleration of the Earth rotation speed.
#
#
# RESPONSABILITY OF THE DECISION TO INTRODUCE A LEAP SECOND IN UTC
# The decision to introduce a leap second in UTC is the responsibility of the Earth Orientation Center of
# the International Earth Rotation and reference System Service (IERS). This center is located at Paris
# Observatory. According to international agreements, leap seconds should only be scheduled for certain dates:
# first preference is given to the end of December and June, and second preference at the end of March
# and September. Since the introduction of leap seconds in 1972, only dates in June and December were used.
#
# Questions or comments to:
# Christian Bizouard: christian.bizouard@obspm.fr
# Earth orientation Center of the IERS
# Paris Observatory, France
#
#
#
# COPYRIGHT STATUS OF THIS FILE
# This file is in the public domain.
#
#
# VALIDITY OF THE FILE
# It is important to express the validity of the file. These next two dates are
# given in units of seconds since 1900.0.
#
# 1) Last update of the file.
#
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
#
# The following line shows the last update of this file in NTP timestamp:
#
#$ 3913697179
#
# 2) Expiration date of the file given on a semi-annual basis: last June or last December
#
# File expires on 28 December 2024
#
# Expire date in NTP timestamp:
#
#@ 3944332800
#
#
# LIST OF LEAP SECONDS
# NTP timestamp (X parameter) is the number of seconds since 1900.0
#
# MJD: The Modified Julian Day number. MJD = X/86400 + 15020
#
# DTAI: The difference DTAI= TAI-UTC in units of seconds
# It is the quantity to add to UTC to get the time in TAI
#
# Day Month Year : epoch in clear
#
#NTP Time DTAI Day Month Year
#
2272060800 10 # 1 Jan 1972
2287785600 11 # 1 Jul 1972
2303683200 12 # 1 Jan 1973
2335219200 13 # 1 Jan 1974
2366755200 14 # 1 Jan 1975
2398291200 15 # 1 Jan 1976
2429913600 16 # 1 Jan 1977
2461449600 17 # 1 Jan 1978
2492985600 18 # 1 Jan 1979
2524521600 19 # 1 Jan 1980
2571782400 20 # 1 Jul 1981
2603318400 21 # 1 Jul 1982
2634854400 22 # 1 Jul 1983
2698012800 23 # 1 Jul 1985
2776982400 24 # 1 Jan 1988
2840140800 25 # 1 Jan 1990
2871676800 26 # 1 Jan 1991
2918937600 27 # 1 Jul 1992
2950473600 28 # 1 Jul 1993
2982009600 29 # 1 Jul 1994
3029443200 30 # 1 Jan 1996
3076704000 31 # 1 Jul 1997
3124137600 32 # 1 Jan 1999
3345062400 33 # 1 Jan 2006
3439756800 34 # 1 Jan 2009
3550089600 35 # 1 Jul 2012
3644697600 36 # 1 Jul 2015
3692217600 37 # 1 Jan 2017
#
# A hash code has been generated to be able to verify the integrity
# of this file. For more information about using this hash code,
# please see the readme file in the 'source' directory :
# https://hpiers.obspm.fr/iers/bul/bulc/ntp/sources/README
#
#h 9dac5845 8acd32c0 2947d462 daf4a943 f58d9391

View File

@ -0,0 +1,79 @@
# Allowance for leap seconds added to each time zone file.
# This file is in the public domain.
# This file is generated automatically from the data in the public-domain
# NIST/IERS format leap-seconds.list file, which can be copied from
# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>
# or, in a variant with different comments, from
# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>.
# For more about leap-seconds.list, please see
# The NTP Timescale and Leap Seconds
# <https://www.eecis.udel.edu/~mills/leap.html>.
# The rules for leap seconds are specified in Annex 1 (Time scales) of:
# Standard-frequency and time-signal emissions.
# International Telecommunication Union - Radiocommunication Sector
# (ITU-R) Recommendation TF.460-6 (02/2002)
# <https://www.itu.int/rec/R-REC-TF.460-6-200202-I/>.
# The International Earth Rotation and Reference Systems Service (IERS)
# periodically uses leap seconds to keep UTC to within 0.9 s of UT1
# (a proxy for Earth's angle in space as measured by astronomers)
# and publishes leap second data in a copyrighted file
# <https://hpiers.obspm.fr/iers/bul/bulc/Leap_Second.dat>.
# See: Levine J. Coordinated Universal Time and the leap second.
# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995
# <https://ieeexplore.ieee.org/document/7909995>.
# There were no leap seconds before 1972, as no official mechanism
# accounted for the discrepancy between atomic time (TAI) and the earth's
# rotation. The first ("1 Jan 1972") data line in leap-seconds.list
# does not denote a leap second; it denotes the start of the current definition
# of UTC.
# All leap-seconds are Stationary (S) at the given UTC time.
# The correction (+ or -) is made at the given time, so in the unlikely
# event of a negative leap second, a line would look like this:
# Leap YEAR MON DAY 23:59:59 - S
# Typical lines look like this:
# Leap YEAR MON DAY 23:59:60 + S
Leap 1972 Jun 30 23:59:60 + S
Leap 1972 Dec 31 23:59:60 + S
Leap 1973 Dec 31 23:59:60 + S
Leap 1974 Dec 31 23:59:60 + S
Leap 1975 Dec 31 23:59:60 + S
Leap 1976 Dec 31 23:59:60 + S
Leap 1977 Dec 31 23:59:60 + S
Leap 1978 Dec 31 23:59:60 + S
Leap 1979 Dec 31 23:59:60 + S
Leap 1981 Jun 30 23:59:60 + S
Leap 1982 Jun 30 23:59:60 + S
Leap 1983 Jun 30 23:59:60 + S
Leap 1985 Jun 30 23:59:60 + S
Leap 1987 Dec 31 23:59:60 + S
Leap 1989 Dec 31 23:59:60 + S
Leap 1990 Dec 31 23:59:60 + S
Leap 1992 Jun 30 23:59:60 + S
Leap 1993 Jun 30 23:59:60 + S
Leap 1994 Jun 30 23:59:60 + S
Leap 1995 Dec 31 23:59:60 + S
Leap 1997 Jun 30 23:59:60 + S
Leap 1998 Dec 31 23:59:60 + S
Leap 2005 Dec 31 23:59:60 + S
Leap 2008 Dec 31 23:59:60 + S
Leap 2012 Jun 30 23:59:60 + S
Leap 2015 Jun 30 23:59:60 + S
Leap 2016 Dec 31 23:59:60 + S
# UTC timestamp when this leap second list expires.
# Any additional leap seconds will come after this.
# This Expires line is commented out for now,
# so that pre-2020a zic implementations do not reject this file.
#Expires 2024 Dec 28 00:00:00
# POSIX timestamps for the data in this file:
#updated 1704708379 (2024-01-08 10:06:19 UTC)
#expires 1735344000 (2024-12-28 00:00:00 UTC)
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
# File expires on 28 December 2024

View File

@ -0,0 +1,249 @@
# Generate zic format 'leapseconds' from NIST/IERS format 'leap-seconds.list'.
# This file is in the public domain.
# This program uses awk arithmetic. POSIX requires awk to support
# exact integer arithmetic only through 10**10, which means for NTP
# timestamps this program works only to the year 2216, which is the
# year 1900 plus 10**10 seconds. However, in practice
# POSIX-conforming awk implementations invariably use IEEE-754 double
# and so support exact integers through 2**53. By the year 2216,
# POSIX will almost surely require at least 2**53 for awk, so for NTP
# timestamps this program should be good until the year 285,428,681
# (the year 1900 plus 2**53 seconds). By then leap seconds will be
# long obsolete, as the Earth will likely slow down so much that
# there will be more than 25 hours per day and so some other scheme
# will be needed.
BEGIN {
print "# Allowance for leap seconds added to each time zone file."
print ""
print "# This file is in the public domain."
print ""
print "# This file is generated automatically from the data in the public-domain"
print "# NIST/IERS format leap-seconds.list file, which can be copied from"
print "# <https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list>"
print "# or, in a variant with different comments, from"
print "# <ftp://ftp.boulder.nist.gov/pub/time/leap-seconds.list>."
print "# For more about leap-seconds.list, please see"
print "# The NTP Timescale and Leap Seconds"
print "# <https://www.eecis.udel.edu/~mills/leap.html>."
print ""
print "# The rules for leap seconds are specified in Annex 1 (Time scales) of:"
print "# Standard-frequency and time-signal emissions."
print "# International Telecommunication Union - Radiocommunication Sector"
print "# (ITU-R) Recommendation TF.460-6 (02/2002)"
print "# <https://www.itu.int/rec/R-REC-TF.460-6-200202-I/>."
print "# The International Earth Rotation and Reference Systems Service (IERS)"
print "# periodically uses leap seconds to keep UTC to within 0.9 s of UT1"
print "# (a proxy for Earth's angle in space as measured by astronomers)"
print "# and publishes leap second data in a copyrighted file"
print "# <https://hpiers.obspm.fr/iers/bul/bulc/Leap_Second.dat>."
print "# See: Levine J. Coordinated Universal Time and the leap second."
print "# URSI Radio Sci Bull. 2016;89(4):30-6. doi:10.23919/URSIRSB.2016.7909995"
print "# <https://ieeexplore.ieee.org/document/7909995>."
print ""
print "# There were no leap seconds before 1972, as no official mechanism"
print "# accounted for the discrepancy between atomic time (TAI) and the earth's"
print "# rotation. The first (\"1 Jan 1972\") data line in leap-seconds.list"
print "# does not denote a leap second; it denotes the start of the current definition"
print "# of UTC."
print ""
print "# All leap-seconds are Stationary (S) at the given UTC time."
print "# The correction (+ or -) is made at the given time, so in the unlikely"
print "# event of a negative leap second, a line would look like this:"
print "# Leap YEAR MON DAY 23:59:59 - S"
print "# Typical lines look like this:"
print "# Leap YEAR MON DAY 23:59:60 + S"
monthabbr[ 1] = "Jan"
monthabbr[ 2] = "Feb"
monthabbr[ 3] = "Mar"
monthabbr[ 4] = "Apr"
monthabbr[ 5] = "May"
monthabbr[ 6] = "Jun"
monthabbr[ 7] = "Jul"
monthabbr[ 8] = "Aug"
monthabbr[ 9] = "Sep"
monthabbr[10] = "Oct"
monthabbr[11] = "Nov"
monthabbr[12] = "Dec"
sstamp_init()
}
# In case the input has CRLF form a la NIST.
{ sub(/\r$/, "") }
/^#[ \t]*[Uu]pdated through/ || /^#[ \t]*[Ff]ile expires on/ {
last_lines = last_lines $0 "\n"
}
/^#[$][ \t]/ { updated = $2 }
/^#[@][ \t]/ { expires = $2 }
/^[ \t]*#/ { next }
{
NTP_timestamp = $1
TAI_minus_UTC = $2
if (old_TAI_minus_UTC) {
if (old_TAI_minus_UTC < TAI_minus_UTC) {
sign = "23:59:60\t+"
} else {
sign = "23:59:59\t-"
}
sstamp_to_ymdhMs(NTP_timestamp - 1, ss_NTP)
printf "Leap\t%d\t%s\t%d\t%s\tS\n", \
ss_year, monthabbr[ss_month], ss_mday, sign
}
old_TAI_minus_UTC = TAI_minus_UTC
}
END {
print ""
if (expires) {
sstamp_to_ymdhMs(expires, ss_NTP)
print "# UTC timestamp when this leap second list expires."
print "# Any additional leap seconds will come after this."
if (! EXPIRES_LINE) {
print "# This Expires line is commented out for now,"
print "# so that pre-2020a zic implementations do not reject this file."
}
printf "%sExpires %.4d\t%s\t%.2d\t%.2d:%.2d:%.2d\n", \
EXPIRES_LINE ? "" : "#", \
ss_year, monthabbr[ss_month], ss_mday, ss_hour, ss_min, ss_sec
} else {
print "# (No Expires line, since the expires time is unknown.)"
}
# The difference between the NTP and POSIX epochs is 70 years
# (including 17 leap days), each 24 hours of 60 minutes of 60
# seconds each.
epoch_minus_NTP = ((1970 - 1900) * 365 + 17) * 24 * 60 * 60
print ""
print "# POSIX timestamps for the data in this file:"
if (updated) {
sstamp_to_ymdhMs(updated, ss_NTP)
printf "#updated %d (%.4d-%.2d-%.2d %.2d:%.2d:%.2d UTC)\n", \
updated - epoch_minus_NTP, \
ss_year, ss_month, ss_mday, ss_hour, ss_min, ss_sec
} else {
print "#(updated time unknown)"
}
if (expires) {
sstamp_to_ymdhMs(expires, ss_NTP)
printf "#expires %d (%.4d-%.2d-%.2d %.2d:%.2d:%.2d UTC)\n", \
expires - epoch_minus_NTP, \
ss_year, ss_month, ss_mday, ss_hour, ss_min, ss_sec
} else {
print "#(expires time unknown)"
}
printf "\n%s", last_lines
}
# sstamp_to_ymdhMs - convert seconds timestamp to date and time
#
# Call as:
#
# sstamp_to_ymdhMs(sstamp, epoch_days)
#
# where:
#
# sstamp - is the seconds timestamp.
# epoch_days - is the timestamp epoch in Gregorian days since 1600-03-01.
# ss_NTP is appropriate for an NTP sstamp.
#
# Both arguments should be nonnegative integers.
# On return, the following variables are set based on sstamp:
#
# ss_year - Gregorian calendar year
# ss_month - month of the year (1-January to 12-December)
# ss_mday - day of the month (1-31)
# ss_hour - hour (0-23)
# ss_min - minute (0-59)
# ss_sec - second (0-59)
# ss_wday - day of week (0-Sunday to 6-Saturday)
#
# The function sstamp_init should be called prior to using sstamp_to_ymdhMs.
function sstamp_init()
{
# Days in month N, where March is month 0 and January month 10.
ss_mon_days[ 0] = 31
ss_mon_days[ 1] = 30
ss_mon_days[ 2] = 31
ss_mon_days[ 3] = 30
ss_mon_days[ 4] = 31
ss_mon_days[ 5] = 31
ss_mon_days[ 6] = 30
ss_mon_days[ 7] = 31
ss_mon_days[ 8] = 30
ss_mon_days[ 9] = 31
ss_mon_days[10] = 31
# Counts of days in a Gregorian year, quad-year, century, and quad-century.
ss_year_days = 365
ss_quadyear_days = ss_year_days * 4 + 1
ss_century_days = ss_quadyear_days * 25 - 1
ss_quadcentury_days = ss_century_days * 4 + 1
# Standard day epochs, suitable for epoch_days.
# ss_MJD = 94493
# ss_POSIX = 135080
ss_NTP = 109513
}
function sstamp_to_ymdhMs(sstamp, epoch_days, \
quadcentury, century, quadyear, year, month, day)
{
ss_hour = int(sstamp / 3600) % 24
ss_min = int(sstamp / 60) % 60
ss_sec = sstamp % 60
# Start with a count of days since 1600-03-01 Gregorian.
day = epoch_days + int(sstamp / (24 * 60 * 60))
# Compute a year-month-day date with days of the month numbered
# 0-30, months (March-February) numbered 0-11, and years that start
# start March 1 and end after the last day of February. A quad-year
# starts on March 1 of a year evenly divisible by 4 and ends after
# the last day of February 4 years later. A century starts on and
# ends before March 1 in years evenly divisible by 100.
# A quad-century starts on and ends before March 1 in years divisible
# by 400. While the number of days in a quad-century is a constant,
# the number of days in each other time period can vary by 1.
# Any variation is in the last day of the time period (there might
# or might not be a February 29) where it is easy to deal with.
quadcentury = int(day / ss_quadcentury_days)
day -= quadcentury * ss_quadcentury_days
ss_wday = (day + 3) % 7
century = int(day / ss_century_days)
century -= century == 4
day -= century * ss_century_days
quadyear = int(day / ss_quadyear_days)
day -= quadyear * ss_quadyear_days
year = int(day / ss_year_days)
year -= year == 4
day -= year * ss_year_days
for (month = 0; month < 11; month++) {
if (day < ss_mon_days[month])
break
day -= ss_mon_days[month]
}
# Convert the date to a conventional day of month (1-31),
# month (1-12, January-December) and Gregorian year.
ss_mday = day + 1
if (month <= 9) {
ss_month = month + 3
} else {
ss_month = month - 9
year++
}
ss_year = 1600 + quadcentury * 400 + century * 100 + quadyear * 4 + year
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
# tzdb data for proposed US election time (this file is obsolete)
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# From Arthur David Olson (1989-04-05):
# On 1989-04-05, the U. S. House of Representatives passed (238-154) a bill
# establishing "Pacific Presidential Election Time"; it was not acted on
# by the Senate or signed into law by the President.
# You might want to change the "PE" (Presidential Election) below to
# "Q" (Quadrennial) to maintain three-character zone abbreviations.
# If you're really conservative, you might want to change it to "D".
# Avoid "L" (Leap Year), which won't be true in 2100.
# If Presidential Election Time is ever established, replace "XXXX" below
# with the year the law takes effect and uncomment the "##" lines.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
## Rule Twilite XXXX max - Apr Sun>=1 2:00 1:00 D
## Rule Twilite XXXX max uspres Oct lastSun 2:00 1:00 PE
## Rule Twilite XXXX max uspres Nov Sun>=7 2:00 0 S
## Rule Twilite XXXX max nonpres Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL]
## Zone America/Los_Angeles-PET -8:00 US P%sT XXXX
## -8:00 Twilite P%sT
# For now...
Link America/Los_Angeles US/Pacific-New ##

File diff suppressed because it is too large Load Diff

39
external/public-domain/tz/dist/systemv vendored Normal file
View File

@ -0,0 +1,39 @@
# tzdb data for System V rules (this file is obsolete)
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# Old rules, should the need arise.
# No attempt is made to handle Newfoundland, since it cannot be expressed
# using the System V "TZ" scheme (half-hour offset), or anything outside
# North America (no support for non-standard DST start/end dates), nor
# the changes in the DST rules in the US after 1976 (which occurred after
# the old rules were written).
#
# If you need the old rules, uncomment ## lines.
# Compile this *without* leap second correction for true conformance.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D
Rule SystemV min 1973 - Oct lastSun 2:00 0 S
Rule SystemV 1974 only - Jan 6 2:00 1:00 D
Rule SystemV 1974 only - Nov lastSun 2:00 0 S
Rule SystemV 1975 only - Feb 23 2:00 1:00 D
Rule SystemV 1975 only - Oct lastSun 2:00 0 S
Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D
Rule SystemV 1976 max - Oct lastSun 2:00 0 S
# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL]
## Zone SystemV/AST4ADT -4:00 SystemV A%sT
## Zone SystemV/EST5EDT -5:00 SystemV E%sT
## Zone SystemV/CST6CDT -6:00 SystemV C%sT
## Zone SystemV/MST7MDT -7:00 SystemV M%sT
## Zone SystemV/PST8PDT -8:00 SystemV P%sT
## Zone SystemV/YST9YDT -9:00 SystemV Y%sT
## Zone SystemV/AST4 -4:00 - AST
## Zone SystemV/EST5 -5:00 - EST
## Zone SystemV/CST6 -6:00 - CST
## Zone SystemV/MST7 -7:00 - MST
## Zone SystemV/PST8 -8:00 - PST
## Zone SystemV/YST9 -9:00 - YST
## Zone SystemV/HST10 -10:00 - HST

1506
external/public-domain/tz/dist/theory.html vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
2024agtz

View File

@ -0,0 +1,39 @@
#! /bin/sh
: 'Determine whether year is of appropriate type (this file is obsolete).'
: 'This file is in the public domain, so clarified as of'
: '2006-07-17 by Arthur David Olson.'
case $#-$1 in
2-|2-0*|2-*[!0-9]*)
echo "$0: wild year: $1" >&2
exit 1 ;;
esac
case $#-$2 in
2-even)
case $1 in
*[24680]) exit 0 ;;
*) exit 1 ;;
esac ;;
2-nonpres|2-nonuspres)
case $1 in
*[02468][048]|*[13579][26]) exit 1 ;;
*) exit 0 ;;
esac ;;
2-odd)
case $1 in
*[13579]) exit 0 ;;
*) exit 1 ;;
esac ;;
2-uspres)
case $1 in
*[02468][048]|*[13579][26]) exit 0 ;;
*) exit 1 ;;
esac ;;
2-*)
echo "$0: wild type: $2" >&2 ;;
esac
echo "$0: usage is $0 year even|odd|uspres|nonpres|nonuspres" >&2
exit 1

View File

@ -0,0 +1,386 @@
# Convert tzdata source into vanguard or rearguard form.
# Contributed by Paul Eggert. This file is in the public domain.
# This is not a general-purpose converter; it is designed for current tzdata.
# It just converts from current source to main, vanguard, and rearguard forms.
# Although it might be nice for it to be idempotent, or to be useful
# for converting back and forth between vanguard and rearguard formats,
# it does not do these nonessential tasks now.
#
# Although main and vanguard forms are currently equivalent,
# this need not always be the case. When the two forms differ,
# this script can convert either from main to vanguard form (needed then),
# or from vanguard to main form (this conversion would be needed later,
# after main became rearguard and vanguard became main).
# There is no need to convert rearguard to other forms.
#
# When converting to vanguard form, the output can use the line
# "Zone GMT 0 - GMT" which TZUpdater 2.3.2 mistakenly rejects.
#
# When converting to vanguard form, the output can use negative SAVE
# values.
#
# When converting to rearguard form, the output uses only nonnegative
# SAVE values. The idea is for the output data to simulate the behavior
# of the input data as best it can within the constraints of the
# rearguard format.
# Given a FIELD like "-0:30", return a minute count like -30.
function get_minutes(field, \
sign, hours, minutes)
{
sign = field ~ /^-/ ? -1 : 1
hours = +field
if (field ~ /:/) {
minutes = field
sub(/[^:]*:/, "", minutes)
}
return 60 * hours + sign * minutes
}
# Given an OFFSET, which is a minute count like 300 or 330,
# return a %z-style abbreviation like "+05" or "+0530".
function offset_abbr(offset, \
hours, minutes, sign)
{
hours = int(offset / 60)
minutes = offset % 60
if (minutes) {
return sprintf("%+.4d", hours * 100 + minutes);
} else {
return sprintf("%+.2d", hours)
}
}
# Round TIMESTAMP (a +-hh:mm:ss.dddd string) to the nearest second.
function round_to_second(timestamp, \
hh, mm, ss, seconds, dot_dddd, subseconds)
{
dot_dddd = timestamp
if (!sub(/^[+-]?[0-9]+:[0-9]+:[0-9]+\./, ".", dot_dddd))
return timestamp
hh = mm = ss = timestamp
sub(/^[-+]?[0-9]+:[0-9]+:/, "", ss)
sub(/^[-+]?[0-9]+:/, "", mm)
sub(/^[-+]?/, "", hh)
seconds = 3600 * hh + 60 * mm + ss
subseconds = +dot_dddd
seconds += 0.5 < subseconds || ((subseconds == 0.5) && (seconds % 2));
return sprintf("%s%d:%.2d:%.2d", timestamp ~ /^-/ ? "-" : "", \
seconds / 3600, seconds / 60 % 60, seconds % 60)
}
BEGIN {
dataform_type["vanguard"] = 1
dataform_type["main"] = 1
dataform_type["rearguard"] = 1
if (PACKRATLIST) {
while (getline <PACKRATLIST) {
if ($0 ~ /^#/) continue
packratlist[$3] = 1
}
}
# The command line should set DATAFORM.
if (!dataform_type[DATAFORM]) exit 1
}
$1 == "#PACKRATLIST" && $2 == PACKRATLIST {
sub(/^#PACKRATLIST[\t ]+[^\t ]+[\t ]+/, "")
}
/^Zone/ { zone = $2 }
DATAFORM != "main" {
in_comment = $0 ~ /^#/
uncomment = comment_out = 0
# If this line should differ due to Czechoslovakia using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
if (zone == "Europe/Prague" && $0 ~ /^#?[\t ]+[01]:00[\t ]/ \
&& $0 ~ /1947 Feb 23/) {
if (($(in_comment + 2) != "-") == (DATAFORM != "rearguard")) {
uncomment = in_comment
} else {
comment_out = !in_comment
}
}
# If this line should differ due to Ireland using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
Rule_Eire = $0 ~ /^#?Rule[\t ]+Eire[\t ]/
Zone_Dublin_post_1968 \
= (zone == "Europe/Dublin" && $0 ~ /^#?[\t ]+[01]:00[\t ]/ \
&& (!$(in_comment + 4) || 1968 < $(in_comment + 4)))
if (Rule_Eire || Zone_Dublin_post_1968) {
if ((Rule_Eire \
|| (Zone_Dublin_post_1968 && $(in_comment + 3) == "IST/GMT")) \
== (DATAFORM != "rearguard")) {
uncomment = in_comment
} else {
comment_out = !in_comment
}
}
# If this line should differ due to Namibia using negative SAVE values,
# uncomment the desired version and comment out the undesired one.
Rule_Namibia = $0 ~ /^#?Rule[\t ]+Namibia[\t ]/
Zone_using_Namibia_rule \
= (zone == "Africa/Windhoek" && $0 ~ /^#?[\t ]+[12]:00[\t ]/ \
&& ($(in_comment + 2) == "Namibia" \
|| ($(in_comment + 2) == "-" && $(in_comment + 3) == "CAT" \
&& ((1994 <= $(in_comment + 4) && $(in_comment + 4) <= 2017) \
|| in_comment + 3 == NF))))
if (Rule_Namibia || Zone_using_Namibia_rule) {
if ((Rule_Namibia \
? ($9 ~ /^-/ || ($9 == 0 && $10 == "CAT")) \
: $(in_comment + 1) == "2:00" && $(in_comment + 2) == "Namibia") \
== (DATAFORM != "rearguard")) {
uncomment = in_comment
} else {
comment_out = !in_comment
}
}
# If this line should differ due to Portugal benefiting from %z if supported,
# uncomment the desired version and comment out the undesired one.
if ($0 ~ /^#?[\t ]+-[12]:00[\t ]+Port[\t ]+[%+-]/) {
if (($0 ~ /%z/) == (DATAFORM == "vanguard")) {
uncomment = in_comment
} else {
comment_out = !in_comment
}
}
# In vanguard form, use the line "Zone GMT 0 - GMT" instead of
# "Zone Etc/GMT 0 - GMT" and adjust Link lines accordingly.
# This works around a bug in TZUpdater 2.3.2.
if (/^#?(Zone|Link)[\t ]+(Etc\/)?GMT[\t ]/) {
if (($2 == "GMT") == (DATAFORM == "vanguard")) {
uncomment = in_comment
} else {
comment_out = !in_comment
}
}
if (uncomment) {
sub(/^#/, "")
}
if (comment_out) {
sub(/^/, "#")
}
# Prefer %z in vanguard form, explicit abbreviations otherwise.
if (DATAFORM == "vanguard") {
sub(/^(Zone[\t ]+[^\t ]+)?[\t ]+[^\t ]+[\t ]+[^\t ]+[\t ]+[-+][^\t ]+/, \
"&CHANGE-TO-%z")
sub(/-00CHANGE-TO-%z/, "-00")
sub(/[-+][^\t ]+CHANGE-TO-/, "")
} else {
if ($0 ~ /^[^#]*%z/) {
stdoff_column = 2 * ($0 ~ /^Zone/) + 1
rules_column = stdoff_column + 1
stdoff = get_minutes($stdoff_column)
rules = $rules_column
stdabbr = offset_abbr(stdoff)
if (rules == "-") {
abbr = stdabbr
} else {
dstabbr_only = rules ~ /^[+0-9-]/
if (dstabbr_only) {
dstoff = get_minutes(rules)
} else {
# The DST offset is normally an hour, but there are special cases.
if (rules == "Morocco" && NF == 3) {
dstoff = -60
} else if (rules == "NBorneo") {
dstoff = 20
} else if (((rules == "Cook" || rules == "LH") && NF == 3) \
|| (rules == "Uruguay" \
&& $0 ~ /[\t ](1942 Dec 14|1960|1970|1974 Dec 22)$/)) {
dstoff = 30
} else if (rules == "Uruguay" && $0 ~ /[\t ]1974 Mar 10$/) {
dstoff = 90
} else {
dstoff = 60
}
}
dstabbr = offset_abbr(stdoff + dstoff)
if (dstabbr_only) {
abbr = dstabbr
} else {
abbr = stdabbr "/" dstabbr
}
}
sub(/%z/, abbr)
}
}
# Normally, prefer whole seconds. However, prefer subseconds
# if generating vanguard form and the otherwise-undocumented
# VANGUARD_SUBSECONDS environment variable is set.
# This relies on #STDOFF comment lines in the data.
# It is for hypothetical clients that support UT offsets that are
# not integer multiples of one second (e.g., Europe/Lisbon, 1884 to 1912).
# No known clients need this currently, and this experimental
# feature may be changed or withdrawn in future releases.
if ($1 == "#STDOFF") {
stdoff = $2
rounded_stdoff = round_to_second(stdoff)
if (DATAFORM == "vanguard" && ENVIRON["VANGUARD_SUBSECONDS"]) {
stdoff_subst[0] = rounded_stdoff
stdoff_subst[1] = stdoff
} else {
stdoff_subst[0] = stdoff
stdoff_subst[1] = rounded_stdoff
}
} else if (stdoff_subst[0]) {
stdoff_column = 2 * ($0 ~ /^Zone/) + 1
stdoff_column_val = $stdoff_column
if (stdoff_column_val == stdoff_subst[0]) {
sub(stdoff_subst[0], stdoff_subst[1])
} else if (stdoff_column_val != stdoff_subst[1]) {
stdoff_subst[0] = 0
}
}
# In rearguard form, change the Japan rule line with "Sat>=8 25:00"
# to "Sun>=9 1:00", to cater to zic before 2007 and to older Java.
if ($0 ~ /^Rule/ && $2 == "Japan") {
if (DATAFORM == "rearguard") {
if ($7 == "Sat>=8" && $8 == "25:00") {
sub(/Sat>=8/, "Sun>=9")
sub(/25:00/, " 1:00")
}
} else {
if ($7 == "Sun>=9" && $8 == "1:00") {
sub(/Sun>=9/, "Sat>=8")
sub(/ 1:00/, "25:00")
}
}
}
# In rearguard form, change the Morocco lines with negative SAVE values
# to use positive SAVE values.
if ($2 == "Morocco") {
if ($0 ~ /^Rule/) {
if ($4 ~ /^201[78]$/ && $6 == "Oct") {
if (DATAFORM == "rearguard") {
sub(/\t2018\t/, "\t2017\t")
} else {
sub(/\t2017\t/, "\t2018\t")
}
}
if (2019 <= $3) {
if ($8 == "2:00") {
if (DATAFORM == "rearguard") {
sub(/\t0\t/, "\t1:00\t")
} else {
sub(/\t1:00\t/, "\t0\t")
}
} else {
if (DATAFORM == "rearguard") {
sub(/\t-1:00\t/, "\t0\t")
} else {
sub(/\t0\t/, "\t-1:00\t")
}
}
}
}
if ($1 ~ /^[+0-9-]/ && NF == 3) {
if (DATAFORM == "rearguard") {
sub(/1:00\tMorocco/, "0:00\tMorocco")
sub(/\t\+01\/\+00$/, "\t+00/+01")
} else {
sub(/0:00\tMorocco/, "1:00\tMorocco")
sub(/\t\+00\/+01$/, "\t+01/+00")
}
}
}
}
/^Zone/ {
packrat_ignored = FILENAME == PACKRATDATA && PACKRATLIST && !packratlist[$2];
}
{
if (packrat_ignored && $0 !~ /^Rule/) {
sub(/^/, "#")
}
}
# Return a link line resulting by changing OLDLINE to link to TARGET
# from LINKNAME, instead of linking to OLDTARGET from LINKNAME.
# Align data columns the same as they were in OLDLINE.
# Also, replace any existing white space followed by comment with COMMENT.
function make_linkline(oldline, target, linkname, oldtarget, comment, \
oldprefix, oldprefixlen, oldtargettabs, \
replsuffix, targettabs)
{
oldprefix = "Link\t" oldtarget "\t"
oldprefixlen = length(oldprefix)
if (substr(oldline, 1, oldprefixlen) == oldprefix) {
# Use tab stops to preserve LINKNAME's column.
replsuffix = substr(oldline, oldprefixlen + 1)
sub(/[\t ]*#.*/, "", replsuffix)
oldtargettabs = int(length(oldtarget) / 8) + 1
targettabs = int(length(target) / 8) + 1
for (; targettabs < oldtargettabs; targettabs++) {
replsuffix = "\t" replsuffix
}
for (; oldtargettabs < targettabs && replsuffix ~ /^\t/; targettabs--) {
replsuffix = substr(replsuffix, 2)
}
} else {
# Odd format line; don't bother lining up its replacement nicely.
replsuffix = linkname
}
return "Link\t" target "\t" replsuffix comment
}
/^Link/ && $4 == "#=" && DATAFORM == "vanguard" {
$0 = make_linkline($0, $5, $3, $2)
}
# If a Link line is followed by a Link or Zone line for the same data, comment
# out the Link line. This can happen if backzone overrides a Link
# with a Zone or a different Link.
/^Zone/ {
sub(/^Link/, "#Link", line[linkline[$2]])
}
/^Link/ {
sub(/^Link/, "#Link", line[linkline[$3]])
linkline[$3] = NR
linktarget[$3] = $2
}
{ line[NR] = $0 }
function cut_link_chains_short( \
l, linkname, t, target)
{
for (linkname in linktarget) {
target = linktarget[linkname]
t = linktarget[target]
if (t) {
# TARGET is itself a link name. Replace the line "Link TARGET LINKNAME"
# with "Link T LINKNAME #= TARGET", where T is at the end of the chain
# of links that LINKNAME points to.
while ((u = linktarget[t])) {
t = u
}
l = linkline[linkname]
line[l] = make_linkline(line[l], t, linkname, target, "\t#= " target)
}
}
}
END {
if (DATAFORM != "vanguard") {
cut_link_chains_short()
}
for (i = 1; i <= NR; i++)
print line[i]
}

View File

@ -0,0 +1,388 @@
# Convert tzdata source into a smaller version of itself.
# Contributed by Paul Eggert. This file is in the public domain.
# This is not a general-purpose converter; it is designed for current tzdata.
# 'zic' should treat this script's output as if it were identical to
# this script's input.
# Record a hash N for the new name NAME, checking for collisions.
function record_hash(n, name)
{
if (used_hashes[n]) {
printf "# ! collision: %s %s\n", used_hashes[n], name
exit 1
}
used_hashes[n] = name
}
# Return a shortened rule name representing NAME,
# and record this relationship to the hash table.
function gen_rule_name(name, \
n)
{
# Use a simple mnemonic: the first two letters.
n = substr(name, 1, 2)
record_hash(n, name)
# printf "# %s = %s\n", n, name
return n
}
function prehash_rule_names( \
name)
{
# Rule names are not part of the tzdb API, so substitute shorter
# ones. Shortening them consistently from one release to the next
# simplifies comparison of the output. That being said, the
# 1-letter names below are not standardized in any way, and can
# change arbitrarily from one release to the next, as the main goal
# here is compression not comparison.
# Abbreviating these rules names to one letter saved the most space
# circa 2018e.
rule["Arg"] = "A"
rule["Brazil"] = "B"
rule["Canada"] = "C"
rule["Denmark"] = "D"
rule["EU"] = "E"
rule["France"] = "F"
rule["GB-Eire"] = "G"
rule["Halifax"] = "H"
rule["Italy"] = "I"
rule["Jordan"] = "J"
rule["Egypt"] = "K" # "Kemet" in ancient Egyptian
rule["Libya"] = "L"
rule["Morocco"] = "M"
rule["Neth"] = "N"
rule["Poland"] = "O" # arbitrary
rule["Palestine"] = "P"
rule["Cuba"] = "Q" # Its start sounds like "Q".
rule["Russia"] = "R"
rule["Syria"] = "S"
rule["Turkey"] = "T"
rule["Uruguay"] = "U"
rule["Vincennes"] = "V"
rule["Winn"] = "W"
rule["Mongol"] = "X" # arbitrary
rule["NT_YK"] = "Y"
rule["Zion"] = "Z"
rule["Austria"] = "a"
rule["Belgium"] = "b"
rule["C-Eur"] = "c"
rule["Algeria"] = "d" # country code DZ
rule["E-Eur"] = "e"
rule["Taiwan"] = "f" # Formosa
rule["Greece"] = "g"
rule["Hungary"] = "h"
rule["Iran"] = "i"
rule["StJohns"] = "j"
rule["Chatham"] = "k" # arbitrary
rule["Lebanon"] = "l"
rule["Mexico"] = "m"
rule["Tunisia"] = "n" # country code TN
rule["Moncton"] = "o" # arbitrary
rule["Port"] = "p"
rule["Albania"] = "q" # arbitrary
rule["Regina"] = "r"
rule["Spain"] = "s"
rule["Toronto"] = "t"
rule["US"] = "u"
rule["Louisville"] = "v" # ville
rule["Iceland"] = "w" # arbitrary
rule["Chile"] = "x" # arbitrary
rule["Para"] = "y" # country code PY
rule["Romania"] = "z" # arbitrary
rule["Macau"] = "_" # arbitrary
# Use ISO 3166 alpha-2 country codes for remaining names that are countries.
# This is more systematic, and avoids collisions (e.g., Malta and Moldova).
rule["Armenia"] = "AM"
rule["Aus"] = "AU"
rule["Azer"] = "AZ"
rule["Barb"] = "BB"
rule["Dhaka"] = "BD"
rule["Bulg"] = "BG"
rule["Bahamas"] = "BS"
rule["Belize"] = "BZ"
rule["Swiss"] = "CH"
rule["Cook"] = "CK"
rule["PRC"] = "CN"
rule["Cyprus"] = "CY"
rule["Czech"] = "CZ"
rule["Germany"] = "DE"
rule["DR"] = "DO"
rule["Ecuador"] = "EC"
rule["Finland"] = "FI"
rule["Fiji"] = "FJ"
rule["Falk"] = "FK"
rule["Ghana"] = "GH"
rule["Guat"] = "GT"
rule["Hond"] = "HN"
rule["Haiti"] = "HT"
rule["Eire"] = "IE"
rule["Iraq"] = "IQ"
rule["Japan"] = "JP"
rule["Kyrgyz"] = "KG"
rule["ROK"] = "KR"
rule["Latvia"] = "LV"
rule["Lux"] = "LX"
rule["Moldova"] = "MD"
rule["Malta"] = "MT"
rule["Mauritius"] = "MU"
rule["Namibia"] = "NA"
rule["Nic"] = "NI"
rule["Norway"] = "NO"
rule["Peru"] = "PE"
rule["Phil"] = "PH"
rule["Pakistan"] = "PK"
rule["Sudan"] = "SD"
rule["Salv"] = "SV"
rule["Tonga"] = "TO"
rule["Vanuatu"] = "VU"
# Avoid collisions.
rule["Detroit"] = "Dt" # De = Denver
for (name in rule) {
record_hash(rule[name], name)
}
}
function make_line(n, field, \
f, r)
{
r = field[1]
for (f = 2; f <= n; f++)
r = r " " field[f]
return r
}
# Process the input line LINE and save it for later output.
function process_input_line(line, \
f, field, end, n, outline, r, \
linkline, ruleline, zoneline)
{
# Remove comments, normalize spaces, and append a space to each line.
sub(/#.*/, "", line)
line = line " "
gsub(/[\t ]+/, " ", line)
# Abbreviate keywords and determine line type.
linkline = sub(/^Link /, "L ", line)
ruleline = sub(/^Rule /, "R ", line)
zoneline = sub(/^Zone /, "Z ", line)
# Replace FooAsia rules with the same rules without "Asia", as they
# are duplicates.
if (match(line, /[^ ]Asia /)) {
if (ruleline) return
line = substr(line, 1, RSTART) substr(line, RSTART + 5)
}
# Abbreviate times.
while (match(line, /[: ]0+[0-9]/))
line = substr(line, 1, RSTART) substr(line, RSTART + RLENGTH - 1)
while (match(line, /:0[^:]/))
line = substr(line, 1, RSTART - 1) substr(line, RSTART + 2)
# Abbreviate weekday names.
while (match(line, / (last)?(Mon|Wed|Fri)[ <>]/)) {
end = RSTART + RLENGTH
line = substr(line, 1, end - 4) substr(line, end - 1)
}
while (match(line, / (last)?(Sun|Tue|Thu|Sat)[ <>]/)) {
end = RSTART + RLENGTH
line = substr(line, 1, end - 3) substr(line, end - 1)
}
# Abbreviate "max", "min", "only" and month names.
# Although "max" and "min" can both be abbreviated to just "m",
# the longer forms "ma" and "mi" are needed with zic 2023d and earlier.
gsub(/ max /, dataform == "vanguard" ? " m " : " ma ", line)
gsub(/ min /, dataform == "vanguard" ? " m " : " mi ", line)
gsub(/ only /, " o ", line)
gsub(/ Jan /, " Ja ", line)
gsub(/ Feb /, " F ", line)
gsub(/ Apr /, " Ap ", line)
gsub(/ Aug /, " Au ", line)
gsub(/ Sep /, " S ", line)
gsub(/ Oct /, " O ", line)
gsub(/ Nov /, " N ", line)
gsub(/ Dec /, " D ", line)
# Strip leading and trailing space.
sub(/^ /, "", line)
sub(/ $/, "", line)
# Remove unnecessary trailing zero fields.
sub(/ 0+$/, "", line)
# Remove unnecessary trailing days-of-month "1".
if (match(line, /[A-Za-z] 1$/))
line = substr(line, 1, RSTART)
# Remove unnecessary trailing " Ja" (for January).
sub(/ Ja$/, "", line)
n = split(line, field)
# Record which rule names are used, and generate their abbreviations.
f = zoneline ? 4 : linkline || ruleline ? 0 : 2
r = field[f]
if (r ~ /^[^-+0-9]/) {
rule_used[r] = 1
}
if (zoneline)
zonename = startdef = field[2]
else if (linkline)
zonename = startdef = field[3]
else if (ruleline)
zonename = ""
# Save the information for later output.
outline = make_line(n, field)
if (ruleline)
rule_output_line[nrule_out++] = outline
else if (linkline) {
# In vanguard format with Gawk, links are output sorted by destination.
if (dataform == "vanguard" && PROCINFO["version"])
linkdef[zonename] = field[2]
else
link_output_line[nlink_out++] = outline
}else
zonedef[zonename] = (zoneline ? "" : zonedef[zonename] "\n") outline
}
function omit_unused_rules( \
i, field)
{
for (i = 0; i < nrule_out; i++) {
split(rule_output_line[i], field)
if (!rule_used[field[2]])
rule_output_line[i] = ""
}
}
function abbreviate_rule_names( \
abbr, f, field, i, n, newdef, newline, r, \
zoneline, zonelines, zonename)
{
for (i = 0; i < nrule_out; i++) {
n = split(rule_output_line[i], field)
if (n) {
r = field[2]
if (r ~ /^[^-+0-9]/) {
abbr = rule[r]
if (!abbr) {
rule[r] = abbr = gen_rule_name(r)
}
field[2] = abbr
rule_output_line[i] = make_line(n, field)
}
}
}
for (zonename in zonedef) {
zonelines = split(zonedef[zonename], zoneline, /\n/)
newdef = ""
for (i = 1; i <= zonelines; i++) {
newline = zoneline[i]
n = split(newline, field)
f = i == 1 ? 4 : 2
r = rule[field[f]]
if (r) {
field[f] = r
newline = make_line(n, field)
}
newdef = (newdef ? newdef "\n" : "") newline
}
zonedef[zonename] = newdef
}
}
function output_saved_lines( \
i, zonename)
{
for (i = 0; i < nrule_out; i++)
if (rule_output_line[i])
print rule_output_line[i]
# When using gawk, output zones sorted by name.
# This makes the output a bit more compressible.
PROCINFO["sorted_in"] = "@ind_str_asc"
for (zonename in zonedef)
print zonedef[zonename]
if (nlink_out)
for (i = 0; i < nlink_out; i++)
print link_output_line[i]
else {
# When using gawk, output links sorted by destination.
# This also helps compressibility a bit.
PROCINFO["sorted_in"] = "@val_type_asc"
for (zonename in linkdef)
printf "L %s %s\n", linkdef[zonename], zonename
}
}
BEGIN {
# Files that the output normally depends on.
default_dep["africa"] = 1
default_dep["antarctica"] = 1
default_dep["asia"] = 1
default_dep["australasia"] = 1
default_dep["backward"] = 1
default_dep["etcetera"] = 1
default_dep["europe"] = 1
default_dep["factory"] = 1
default_dep["northamerica"] = 1
default_dep["southamerica"] = 1
default_dep["ziguard.awk"] = 1
default_dep["zishrink.awk"] = 1
# Output a version string from 'version' and related configuration variables
# supported by tzdb's Makefile. If you change the makefile or any other files
# that affect the output of this script, you should append '-SOMETHING'
# to the contents of 'version', where SOMETHING identifies what was changed.
ndeps = split(deps, dep)
ddeps = ""
for (i = 1; i <= ndeps; i++) {
if (default_dep[dep[i]]) {
default_dep[dep[i]]++
} else {
ddeps = ddeps " " dep[i]
}
}
for (d in default_dep) {
if (default_dep[d] == 1) {
ddeps = ddeps " !" d
}
}
print "# version", version
if (dataform != "main") {
print "# dataform", dataform
}
if (redo != "posix_right") {
print "# redo " redo
}
if (ddeps) {
print "# ddeps" ddeps
}
print "# This zic input file is in the public domain."
prehash_rule_names()
}
/^[\t ]*[^#\t ]/ {
process_input_line($0)
}
END {
omit_unused_rules()
abbreviate_rule_names()
output_saved_lines()
}

448
external/public-domain/tz/dist/zone.tab vendored Normal file
View File

@ -0,0 +1,448 @@
# tzdb timezone descriptions (deprecated version)
#
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2021-09-20):
# This file is intended as a backward-compatibility aid for older programs.
# New programs should use zone1970.tab. This file is like zone1970.tab (see
# zone1970.tab's comments), but with the following additional restrictions:
#
# 1. This file contains only ASCII characters.
# 2. The first data column contains exactly one country code.
#
# Because of (2), each row stands for an area that is the intersection
# of a region identified by a country code and of a timezone where civil
# clocks have agreed since 1970; this is a narrower definition than
# that of zone1970.tab.
#
# Unlike zone1970.tab, a row's third column can be a Link from
# 'backward' instead of a Zone.
#
# 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.
#
#country-
#code coordinates TZ comments
AD +4230+00131 Europe/Andorra
AE +2518+05518 Asia/Dubai
AF +3431+06912 Asia/Kabul
AG +1703-06148 America/Antigua
AI +1812-06304 America/Anguilla
AL +4120+01950 Europe/Tirane
AM +4011+04430 Asia/Yerevan
AO -0848+01314 Africa/Luanda
AQ -7750+16636 Antarctica/McMurdo New Zealand time - McMurdo, South Pole
AQ -6617+11031 Antarctica/Casey Casey
AQ -6835+07758 Antarctica/Davis Davis
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville
AQ -6736+06253 Antarctica/Mawson Mawson
AQ -6448-06406 Antarctica/Palmer Palmer
AQ -6734-06808 Antarctica/Rothera Rothera
AQ -690022+0393524 Antarctica/Syowa Syowa
AQ -720041+0023206 Antarctica/Troll Troll
AQ -7824+10654 Antarctica/Vostok Vostok
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
AR -3124-06411 America/Argentina/Cordoba Argentina (most areas: CB, CC, CN, ER, FM, MN, SE, SF)
AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN)
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
AR -2649-06513 America/Argentina/Tucuman Tucuman (TM)
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
AR -3319-06621 America/Argentina/San_Luis San Luis (SL)
AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC)
AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF)
AS -1416-17042 Pacific/Pago_Pago
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
AU -5430+15857 Antarctica/Macquarie Macquarie Island
AU -4253+14719 Australia/Hobart Tasmania
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales (most areas)
AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna)
AU -2728+15302 Australia/Brisbane Queensland (most areas)
AU -2016+14900 Australia/Lindeman Queensland (Whitsunday Islands)
AU -3455+13835 Australia/Adelaide South Australia
AU -1228+13050 Australia/Darwin Northern Territory
AU -3157+11551 Australia/Perth Western Australia (most areas)
AU -3143+12852 Australia/Eucla Western Australia (Eucla)
AW +1230-06958 America/Aruba
AX +6006+01957 Europe/Mariehamn
AZ +4023+04951 Asia/Baku
BA +4352+01825 Europe/Sarajevo
BB +1306-05937 America/Barbados
BD +2343+09025 Asia/Dhaka
BE +5050+00420 Europe/Brussels
BF +1222-00131 Africa/Ouagadougou
BG +4241+02319 Europe/Sofia
BH +2623+05035 Asia/Bahrain
BI -0323+02922 Africa/Bujumbura
BJ +0629+00237 Africa/Porto-Novo
BL +1753-06251 America/St_Barthelemy
BM +3217-06446 Atlantic/Bermuda
BN +0456+11455 Asia/Brunei
BO -1630-06809 America/La_Paz
BQ +120903-0681636 America/Kralendijk
BR -0351-03225 America/Noronha Atlantic islands
BR -0127-04829 America/Belem Para (east), Amapa
BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB)
BR -0803-03454 America/Recife Pernambuco
BR -0712-04812 America/Araguaina Tocantins
BR -0940-03543 America/Maceio Alagoas, Sergipe
BR -1259-03831 America/Bahia Bahia
BR -2332-04637 America/Sao_Paulo Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)
BR -2027-05437 America/Campo_Grande Mato Grosso do Sul
BR -1535-05605 America/Cuiaba Mato Grosso
BR -0226-05452 America/Santarem Para (west)
BR -0846-06354 America/Porto_Velho Rondonia
BR +0249-06040 America/Boa_Vista Roraima
BR -0308-06001 America/Manaus Amazonas (east)
BR -0640-06952 America/Eirunepe Amazonas (west)
BR -0958-06748 America/Rio_Branco Acre
BS +2505-07721 America/Nassau
BT +2728+08939 Asia/Thimphu
BW -2439+02555 Africa/Gaborone
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
CA +4734-05243 America/St_Johns Newfoundland, Labrador (SE)
CA +4439-06336 America/Halifax Atlantic - NS (most areas), PE
CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
CA +4606-06447 America/Moncton Atlantic - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
CA +5125-05707 America/Blanc-Sablon AST - QC (Lower North Shore)
CA +4339-07923 America/Toronto Eastern - ON & QC (most areas)
CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
CA +484531-0913718 America/Atikokan EST - ON (Atikokan), NU (Coral H)
CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
CA +744144-0944945 America/Resolute Central - NU (Resolute)
CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
CA +5024-10439 America/Regina CST - SK (most areas)
CA +5017-10750 America/Swift_Current CST - SK (midwest)
CA +5333-11328 America/Edmonton Mountain - AB, BC(E), NT(E), SK(W)
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
CA +682059-1334300 America/Inuvik Mountain - NT (west)
CA +4906-11631 America/Creston MST - BC (Creston)
CA +5546-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
CA +6043-13503 America/Whitehorse MST - Yukon (east)
CA +6404-13925 America/Dawson MST - Yukon (west)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
CC -1210+09655 Indian/Cocos
CD -0418+01518 Africa/Kinshasa Dem. Rep. of Congo (west)
CD -1140+02728 Africa/Lubumbashi Dem. Rep. of Congo (east)
CF +0422+01835 Africa/Bangui
CG -0416+01517 Africa/Brazzaville
CH +4723+00832 Europe/Zurich
CI +0519-00402 Africa/Abidjan
CK -2114-15946 Pacific/Rarotonga
CL -3327-07040 America/Santiago most of Chile
CL -5309-07055 America/Punta_Arenas Region of Magallanes
CL -2709-10926 Pacific/Easter Easter Island
CM +0403+00942 Africa/Douala
CN +3114+12128 Asia/Shanghai Beijing Time
CN +4348+08735 Asia/Urumqi Xinjiang Time
CO +0436-07405 America/Bogota
CR +0956-08405 America/Costa_Rica
CU +2308-08222 America/Havana
CV +1455-02331 Atlantic/Cape_Verde
CW +1211-06900 America/Curacao
CX -1025+10543 Indian/Christmas
CY +3510+03322 Asia/Nicosia most of Cyprus
CY +3507+03357 Asia/Famagusta Northern Cyprus
CZ +5005+01426 Europe/Prague
DE +5230+01322 Europe/Berlin most of Germany
DE +4742+00841 Europe/Busingen Busingen
DJ +1136+04309 Africa/Djibouti
DK +5540+01235 Europe/Copenhagen
DM +1518-06124 America/Dominica
DO +1828-06954 America/Santo_Domingo
DZ +3647+00303 Africa/Algiers
EC -0210-07950 America/Guayaquil Ecuador (mainland)
EC -0054-08936 Pacific/Galapagos Galapagos Islands
EE +5925+02445 Europe/Tallinn
EG +3003+03115 Africa/Cairo
EH +2709-01312 Africa/El_Aaiun
ER +1520+03853 Africa/Asmara
ES +4024-00341 Europe/Madrid Spain (mainland)
ES +3553-00519 Africa/Ceuta Ceuta, Melilla
ES +2806-01524 Atlantic/Canary Canary Islands
ET +0902+03842 Africa/Addis_Ababa
FI +6010+02458 Europe/Helsinki
FJ -1808+17825 Pacific/Fiji
FK -5142-05751 Atlantic/Stanley
FM +0725+15147 Pacific/Chuuk Chuuk/Truk, Yap
FM +0658+15813 Pacific/Pohnpei Pohnpei/Ponape
FM +0519+16259 Pacific/Kosrae Kosrae
FO +6201-00646 Atlantic/Faroe
FR +4852+00220 Europe/Paris
GA +0023+00927 Africa/Libreville
GB +513030-0000731 Europe/London
GD +1203-06145 America/Grenada
GE +4143+04449 Asia/Tbilisi
GF +0456-05220 America/Cayenne
GG +492717-0023210 Europe/Guernsey
GH +0533-00013 Africa/Accra
GI +3608-00521 Europe/Gibraltar
GL +6411-05144 America/Nuuk most of Greenland
GL +7646-01840 America/Danmarkshavn National Park (east coast)
GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit
GL +7634-06847 America/Thule Thule/Pituffik
GM +1328-01639 Africa/Banjul
GN +0931-01343 Africa/Conakry
GP +1614-06132 America/Guadeloupe
GQ +0345+00847 Africa/Malabo
GR +3758+02343 Europe/Athens
GS -5416-03632 Atlantic/South_Georgia
GT +1438-09031 America/Guatemala
GU +1328+14445 Pacific/Guam
GW +1151-01535 Africa/Bissau
GY +0648-05810 America/Guyana
HK +2217+11409 Asia/Hong_Kong
HN +1406-08713 America/Tegucigalpa
HR +4548+01558 Europe/Zagreb
HT +1832-07220 America/Port-au-Prince
HU +4730+01905 Europe/Budapest
ID -0610+10648 Asia/Jakarta Java, Sumatra
ID -0002+10920 Asia/Pontianak Borneo (west, central)
ID -0507+11924 Asia/Makassar Borneo (east, south), Sulawesi/Celebes, Bali, Nusa Tengarra, Timor (west)
ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya), Malukus/Moluccas
IE +5320-00615 Europe/Dublin
IL +314650+0351326 Asia/Jerusalem
IM +5409-00428 Europe/Isle_of_Man
IN +2232+08822 Asia/Kolkata
IO -0720+07225 Indian/Chagos
IQ +3321+04425 Asia/Baghdad
IR +3540+05126 Asia/Tehran
IS +6409-02151 Atlantic/Reykjavik
IT +4154+01229 Europe/Rome
JE +491101-0020624 Europe/Jersey
JM +175805-0764736 America/Jamaica
JO +3157+03556 Asia/Amman
JP +353916+1394441 Asia/Tokyo
KE -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KH +1133+10455 Asia/Phnom_Penh
KI +0125+17300 Pacific/Tarawa Gilbert Islands
KI -0247-17143 Pacific/Kanton Phoenix Islands
KI +0152-15720 Pacific/Kiritimati Line Islands
KM -1141+04316 Indian/Comoro
KN +1718-06243 America/St_Kitts
KP +3901+12545 Asia/Pyongyang
KR +3733+12658 Asia/Seoul
KW +2920+04759 Asia/Kuwait
KY +1918-08123 America/Cayman
KZ +4315+07657 Asia/Almaty most of Kazakhstan
KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda
KZ +5312+06337 Asia/Qostanay Qostanay/Kostanay/Kustanay
KZ +5017+05710 Asia/Aqtobe Aqtobe/Aktobe
KZ +4431+05016 Asia/Aqtau Mangghystau/Mankistau
KZ +4707+05156 Asia/Atyrau Atyrau/Atirau/Gur'yev
KZ +5113+05121 Asia/Oral West Kazakhstan
LA +1758+10236 Asia/Vientiane
LB +3353+03530 Asia/Beirut
LC +1401-06100 America/St_Lucia
LI +4709+00931 Europe/Vaduz
LK +0656+07951 Asia/Colombo
LR +0618-01047 Africa/Monrovia
LS -2928+02730 Africa/Maseru
LT +5441+02519 Europe/Vilnius
LU +4936+00609 Europe/Luxembourg
LV +5657+02406 Europe/Riga
LY +3254+01311 Africa/Tripoli
MA +3339-00735 Africa/Casablanca
MC +4342+00723 Europe/Monaco
MD +4700+02850 Europe/Chisinau
ME +4226+01916 Europe/Podgorica
MF +1804-06305 America/Marigot
MG -1855+04731 Indian/Antananarivo
MH +0709+17112 Pacific/Majuro most of Marshall Islands
MH +0905+16720 Pacific/Kwajalein Kwajalein
MK +4159+02126 Europe/Skopje
ML +1239-00800 Africa/Bamako
MM +1647+09610 Asia/Yangon
MN +4755+10653 Asia/Ulaanbaatar most of Mongolia
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
MN +4804+11430 Asia/Choibalsan Dornod, Sukhbaatar
MO +221150+1133230 Asia/Macau
MP +1512+14545 Pacific/Saipan
MQ +1436-06105 America/Martinique
MR +1806-01557 Africa/Nouakchott
MS +1643-06213 America/Montserrat
MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MW -1547+03500 Africa/Blantyre
MX +1924-09909 America/Mexico_City Central Mexico
MX +2105-08646 America/Cancun Quintana Roo
MX +2058-08937 America/Merida Campeche, Yucatan
MX +2540-10019 America/Monterrey Durango; Coahuila, Nuevo Leon, Tamaulipas (most areas)
MX +2550-09730 America/Matamoros Coahuila, Nuevo Leon, Tamaulipas (US border)
MX +2838-10605 America/Chihuahua Chihuahua (most areas)
MX +3144-10629 America/Ciudad_Juarez Chihuahua (US border - west)
MX +2934-10425 America/Ojinaga Chihuahua (US border - east)
MX +2313-10625 America/Mazatlan Baja California Sur, Nayarit (most areas), Sinaloa
MX +2048-10515 America/Bahia_Banderas Bahia de Banderas
MX +2904-11058 America/Hermosillo Sonora
MX +3232-11701 America/Tijuana Baja California
MY +0310+10142 Asia/Kuala_Lumpur Malaysia (peninsula)
MY +0133+11020 Asia/Kuching Sabah, Sarawak
MZ -2558+03235 Africa/Maputo
NA -2234+01706 Africa/Windhoek
NC -2216+16627 Pacific/Noumea
NE +1331+00207 Africa/Niamey
NF -2903+16758 Pacific/Norfolk
NG +0627+00324 Africa/Lagos
NI +1209-08617 America/Managua
NL +5222+00454 Europe/Amsterdam
NO +5955+01045 Europe/Oslo
NP +2743+08519 Asia/Kathmandu
NR -0031+16655 Pacific/Nauru
NU -1901-16955 Pacific/Niue
NZ -3652+17446 Pacific/Auckland most of New Zealand
NZ -4357-17633 Pacific/Chatham Chatham Islands
OM +2336+05835 Asia/Muscat
PA +0858-07932 America/Panama
PE -1203-07703 America/Lima
PF -1732-14934 Pacific/Tahiti Society Islands
PF -0900-13930 Pacific/Marquesas Marquesas Islands
PF -2308-13457 Pacific/Gambier Gambier Islands
PG -0930+14710 Pacific/Port_Moresby most of Papua New Guinea
PG -0613+15534 Pacific/Bougainville Bougainville
PH +1435+12100 Asia/Manila
PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
PN -2504-13005 Pacific/Pitcairn
PR +182806-0660622 America/Puerto_Rico
PS +3130+03428 Asia/Gaza Gaza Strip
PS +313200+0350542 Asia/Hebron West Bank
PT +3843-00908 Europe/Lisbon Portugal (mainland)
PT +3238-01654 Atlantic/Madeira Madeira Islands
PT +3744-02540 Atlantic/Azores Azores
PW +0720+13429 Pacific/Palau
PY -2516-05740 America/Asuncion
QA +2517+05132 Asia/Qatar
RE -2052+05528 Indian/Reunion
RO +4426+02606 Europe/Bucharest
RS +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
# The obsolescent zone.tab format cannot represent Europe/Simferopol well.
# Put it in RU section and list as UA. See "territorial claims" above.
# Programs should use zone1970.tab instead; see above.
UA +4457+03406 Europe/Simferopol Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
RU +5134+04602 Europe/Saratov MSK+01 - Saratov
RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk
RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia
RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals
RU +5500+07324 Asia/Omsk MSK+03 - Omsk
RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk
RU +5322+08345 Asia/Barnaul MSK+04 - Altai
RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk
RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo
RU +5601+09250 Asia/Krasnoyarsk MSK+04 - Krasnoyarsk area
RU +5216+10420 Asia/Irkutsk MSK+05 - Irkutsk, Buryatia
RU +5203+11328 Asia/Chita MSK+06 - Zabaykalsky
RU +6200+12940 Asia/Yakutsk MSK+06 - Lena River
RU +623923+1353314 Asia/Khandyga MSK+06 - Tomponsky, Ust-Maysky
RU +4310+13156 Asia/Vladivostok MSK+07 - Amur River
RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky
RU +5934+15048 Asia/Magadan MSK+08 - Magadan
RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E), N Kuril Is
RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka
RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
RW -0157+03004 Africa/Kigali
SA +2438+04643 Asia/Riyadh
SB -0932+16012 Pacific/Guadalcanal
SC -0440+05528 Indian/Mahe
SD +1536+03232 Africa/Khartoum
SE +5920+01803 Europe/Stockholm
SG +0117+10351 Asia/Singapore
SH -1555-00542 Atlantic/St_Helena
SI +4603+01431 Europe/Ljubljana
SJ +7800+01600 Arctic/Longyearbyen
SK +4809+01707 Europe/Bratislava
SL +0830-01315 Africa/Freetown
SM +4355+01228 Europe/San_Marino
SN +1440-01726 Africa/Dakar
SO +0204+04522 Africa/Mogadishu
SR +0550-05510 America/Paramaribo
SS +0451+03137 Africa/Juba
ST +0020+00644 Africa/Sao_Tome
SV +1342-08912 America/El_Salvador
SX +180305-0630250 America/Lower_Princes
SY +3330+03618 Asia/Damascus
SZ -2618+03106 Africa/Mbabane
TC +2128-07108 America/Grand_Turk
TD +1207+01503 Africa/Ndjamena
TF -492110+0701303 Indian/Kerguelen
TG +0608+00113 Africa/Lome
TH +1345+10031 Asia/Bangkok
TJ +3835+06848 Asia/Dushanbe
TK -0922-17114 Pacific/Fakaofo
TL -0833+12535 Asia/Dili
TM +3757+05823 Asia/Ashgabat
TN +3648+01011 Africa/Tunis
TO -210800-1751200 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
TT +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti
TW +2503+12130 Asia/Taipei
TZ -0648+03917 Africa/Dar_es_Salaam
UA +5026+03031 Europe/Kyiv most of Ukraine
UG +0019+03225 Africa/Kampala
UM +2813-17722 Pacific/Midway Midway Islands
UM +1917+16637 Pacific/Wake Wake Island
US +404251-0740023 America/New_York Eastern (most areas)
US +421953-0830245 America/Detroit Eastern - MI (most areas)
US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area)
US +364947-0845057 America/Kentucky/Monticello Eastern - KY (Wayne)
US +394606-0860929 America/Indiana/Indianapolis Eastern - IN (most areas)
US +384038-0873143 America/Indiana/Vincennes Eastern - IN (Da, Du, K, Mn)
US +410305-0863611 America/Indiana/Winamac Eastern - IN (Pulaski)
US +382232-0862041 America/Indiana/Marengo Eastern - IN (Crawford)
US +382931-0871643 America/Indiana/Petersburg Eastern - IN (Pike)
US +384452-0850402 America/Indiana/Vevay Eastern - IN (Switzerland)
US +415100-0873900 America/Chicago Central (most areas)
US +375711-0864541 America/Indiana/Tell_City Central - IN (Perry)
US +411745-0863730 America/Indiana/Knox Central - IN (Starke)
US +450628-0873651 America/Menominee Central - MI (Wisconsin border)
US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver)
US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
US +394421-1045903 America/Denver Mountain (most areas)
US +433649-1161209 America/Boise Mountain - ID (south), OR (east)
US +332654-1120424 America/Phoenix MST - AZ (except Navajo)
US +340308-1181434 America/Los_Angeles Pacific
US +611305-1495401 America/Anchorage Alaska (most areas)
US +581807-1342511 America/Juneau Alaska - Juneau area
US +571035-1351807 America/Sitka Alaska - Sitka area
US +550737-1313435 America/Metlakatla Alaska - Annette Island
US +593249-1394338 America/Yakutat Alaska - Yakutat
US +643004-1652423 America/Nome Alaska (west)
US +515248-1763929 America/Adak Alaska - western Aleutians
US +211825-1575130 Pacific/Honolulu Hawaii
UY -345433-0561245 America/Montevideo
UZ +3940+06648 Asia/Samarkand Uzbekistan (west)
UZ +4120+06918 Asia/Tashkent Uzbekistan (east)
VA +415408+0122711 Europe/Vatican
VC +1309-06114 America/St_Vincent
VE +1030-06656 America/Caracas
VG +1827-06437 America/Tortola
VI +1821-06456 America/St_Thomas
VN +1045+10640 Asia/Ho_Chi_Minh
VU -1740+16825 Pacific/Efate
WF -1318-17610 Pacific/Wallis
WS -1350-17144 Pacific/Apia
YE +1245+04512 Asia/Aden
YT -1247+04514 Indian/Mayotte
ZA -2615+02800 Africa/Johannesburg
ZM -1525+02817 Africa/Lusaka
ZW -1750+03103 Africa/Harare

View File

@ -0,0 +1,375 @@
# tzdb timezone descriptions
#
# This file is in the public domain.
#
# From Paul Eggert (2018-06-27):
# This file contains a table where each row stands for a timezone where
# civil timestamps have agreed since 1970. Columns are separated by
# a single tab. Lines beginning with '#' are comments. All text uses
# UTF-8 encoding. The columns of the table are as follows:
#
# 1. The countries that overlap the timezone, as a comma-separated list
# of ISO 3166 2-character country codes. See the file 'iso3166.tab'.
# 2. Latitude and longitude of the timezone's principal location
# in ISO 6709 sign-degrees-minutes-seconds format,
# either ±DDMM±DDDMM or ±DDMMSS±DDDMMSS,
# first latitude (+ is north), then longitude (+ is east).
# 3. Timezone name used in value of TZ environment variable.
# Please see the theory.html file for how these names are chosen.
# If multiple timezones overlap a country, each has a row in the
# table, with each column 1 containing the country code.
# 4. Comments; present if and only if countries have multiple timezones,
# and useful only for those countries. For example, the comments
# for the row with countries CH,DE,LI and name Europe/Zurich
# are useful only for DE, since CH and LI have no other timezones.
#
# If a timezone covers multiple countries, the most-populous city is used,
# and that country is listed first in column 1; any other countries
# are listed alphabetically by country code. The table is sorted
# first by country code, then (if possible) by an order within the
# country that (1) makes some geographical sense, and (2) puts the
# most populous timezones first, where that does not contradict (1).
#
# 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.
#
#country-
#codes coordinates TZ comments
AD +4230+00131 Europe/Andorra
AE,OM,RE,SC,TF +2518+05518 Asia/Dubai Crozet
AF +3431+06912 Asia/Kabul
AL +4120+01950 Europe/Tirane
AM +4011+04430 Asia/Yerevan
AQ -6617+11031 Antarctica/Casey Casey
AQ -6835+07758 Antarctica/Davis Davis
AQ -6736+06253 Antarctica/Mawson Mawson
AQ -6448-06406 Antarctica/Palmer Palmer
AQ -6734-06808 Antarctica/Rothera Rothera
AQ -720041+0023206 Antarctica/Troll Troll
AQ -7824+10654 Antarctica/Vostok Vostok
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
AR -3124-06411 America/Argentina/Cordoba most areas: CB, CC, CN, ER, FM, MN, SE, SF
AR -2447-06525 America/Argentina/Salta Salta (SA, LP, NQ, RN)
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
AR -2649-06513 America/Argentina/Tucuman Tucumán (TM)
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
AR -3319-06621 America/Argentina/San_Luis San Luis (SL)
AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC)
AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF)
AS,UM -1416-17042 Pacific/Pago_Pago Midway
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
AU -5430+15857 Antarctica/Macquarie Macquarie Island
AU -4253+14719 Australia/Hobart Tasmania
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales (most areas)
AU -3157+14127 Australia/Broken_Hill New South Wales (Yancowinna)
AU -2728+15302 Australia/Brisbane Queensland (most areas)
AU -2016+14900 Australia/Lindeman Queensland (Whitsunday Islands)
AU -3455+13835 Australia/Adelaide South Australia
AU -1228+13050 Australia/Darwin Northern Territory
AU -3157+11551 Australia/Perth Western Australia (most areas)
AU -3143+12852 Australia/Eucla Western Australia (Eucla)
AZ +4023+04951 Asia/Baku
BB +1306-05937 America/Barbados
BD +2343+09025 Asia/Dhaka
BE,LU,NL +5050+00420 Europe/Brussels
BG +4241+02319 Europe/Sofia
BM +3217-06446 Atlantic/Bermuda
BO -1630-06809 America/La_Paz
BR -0351-03225 America/Noronha Atlantic islands
BR -0127-04829 America/Belem Pará (east), Amapá
BR -0343-03830 America/Fortaleza Brazil (northeast: MA, PI, CE, RN, PB)
BR -0803-03454 America/Recife Pernambuco
BR -0712-04812 America/Araguaina Tocantins
BR -0940-03543 America/Maceio Alagoas, Sergipe
BR -1259-03831 America/Bahia Bahia
BR -2332-04637 America/Sao_Paulo Brazil (southeast: GO, DF, MG, ES, RJ, SP, PR, SC, RS)
BR -2027-05437 America/Campo_Grande Mato Grosso do Sul
BR -1535-05605 America/Cuiaba Mato Grosso
BR -0226-05452 America/Santarem Pará (west)
BR -0846-06354 America/Porto_Velho Rondônia
BR +0249-06040 America/Boa_Vista Roraima
BR -0308-06001 America/Manaus Amazonas (east)
BR -0640-06952 America/Eirunepe Amazonas (west)
BR -0958-06748 America/Rio_Branco Acre
BT +2728+08939 Asia/Thimphu
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
CA +4734-05243 America/St_Johns Newfoundland, Labrador (SE)
CA +4439-06336 America/Halifax Atlantic - NS (most areas), PE
CA +4612-05957 America/Glace_Bay Atlantic - NS (Cape Breton)
CA +4606-06447 America/Moncton Atlantic - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic - Labrador (most areas)
CA,BS +4339-07923 America/Toronto Eastern - ON & QC (most areas)
CA +6344-06828 America/Iqaluit Eastern - NU (most areas)
CA +4953-09709 America/Winnipeg Central - ON (west), Manitoba
CA +744144-0944945 America/Resolute Central - NU (Resolute)
CA +624900-0920459 America/Rankin_Inlet Central - NU (central)
CA +5024-10439 America/Regina CST - SK (most areas)
CA +5017-10750 America/Swift_Current CST - SK (midwest)
CA +5333-11328 America/Edmonton Mountain - AB, BC(E), NT(E), SK(W)
CA +690650-1050310 America/Cambridge_Bay Mountain - NU (west)
CA +682059-1334300 America/Inuvik Mountain - NT (west)
CA +5546-12014 America/Dawson_Creek MST - BC (Dawson Cr, Ft St John)
CA +5848-12242 America/Fort_Nelson MST - BC (Ft Nelson)
CA +6043-13503 America/Whitehorse MST - Yukon (east)
CA +6404-13925 America/Dawson MST - Yukon (west)
CA +4916-12307 America/Vancouver Pacific - BC (most areas)
CH,DE,LI +4723+00832 Europe/Zurich Büsingen
CI,BF,GH,GM,GN,IS,ML,MR,SH,SL,SN,TG +0519-00402 Africa/Abidjan
CK -2114-15946 Pacific/Rarotonga
CL -3327-07040 America/Santiago most of Chile
CL -5309-07055 America/Punta_Arenas Region of Magallanes
CL -2709-10926 Pacific/Easter Easter Island
CN +3114+12128 Asia/Shanghai Beijing Time
CN +4348+08735 Asia/Urumqi Xinjiang Time
CO +0436-07405 America/Bogota
CR +0956-08405 America/Costa_Rica
CU +2308-08222 America/Havana
CV +1455-02331 Atlantic/Cape_Verde
CY +3510+03322 Asia/Nicosia most of Cyprus
CY +3507+03357 Asia/Famagusta Northern Cyprus
CZ,SK +5005+01426 Europe/Prague
DE,DK,NO,SE,SJ +5230+01322 Europe/Berlin most of Germany
DO +1828-06954 America/Santo_Domingo
DZ +3647+00303 Africa/Algiers
EC -0210-07950 America/Guayaquil Ecuador (mainland)
EC -0054-08936 Pacific/Galapagos Galápagos Islands
EE +5925+02445 Europe/Tallinn
EG +3003+03115 Africa/Cairo
EH +2709-01312 Africa/El_Aaiun
ES +4024-00341 Europe/Madrid Spain (mainland)
ES +3553-00519 Africa/Ceuta Ceuta, Melilla
ES +2806-01524 Atlantic/Canary Canary Islands
FI,AX +6010+02458 Europe/Helsinki
FJ -1808+17825 Pacific/Fiji
FK -5142-05751 Atlantic/Stanley
FM +0519+16259 Pacific/Kosrae Kosrae
FO +6201-00646 Atlantic/Faroe
FR,MC +4852+00220 Europe/Paris
GB,GG,IM,JE +513030-0000731 Europe/London
GE +4143+04449 Asia/Tbilisi
GF +0456-05220 America/Cayenne
GI +3608-00521 Europe/Gibraltar
GL +6411-05144 America/Nuuk most of Greenland
GL +7646-01840 America/Danmarkshavn National Park (east coast)
GL +7029-02158 America/Scoresbysund Scoresbysund/Ittoqqortoormiit
GL +7634-06847 America/Thule Thule/Pituffik
GR +3758+02343 Europe/Athens
GS -5416-03632 Atlantic/South_Georgia
GT +1438-09031 America/Guatemala
GU,MP +1328+14445 Pacific/Guam
GW +1151-01535 Africa/Bissau
GY +0648-05810 America/Guyana
HK +2217+11409 Asia/Hong_Kong
HN +1406-08713 America/Tegucigalpa
HT +1832-07220 America/Port-au-Prince
HU +4730+01905 Europe/Budapest
ID -0610+10648 Asia/Jakarta Java, Sumatra
ID -0002+10920 Asia/Pontianak Borneo (west, central)
ID -0507+11924 Asia/Makassar Borneo (east, south), Sulawesi/Celebes, Bali, Nusa Tengarra, Timor (west)
ID -0232+14042 Asia/Jayapura New Guinea (West Papua / Irian Jaya), Malukus/Moluccas
IE +5320-00615 Europe/Dublin
IL +314650+0351326 Asia/Jerusalem
IN +2232+08822 Asia/Kolkata
IO -0720+07225 Indian/Chagos
IQ +3321+04425 Asia/Baghdad
IR +3540+05126 Asia/Tehran
IT,SM,VA +4154+01229 Europe/Rome
JM +175805-0764736 America/Jamaica
JO +3157+03556 Asia/Amman
JP +353916+1394441 Asia/Tokyo
KE,DJ,ER,ET,KM,MG,SO,TZ,UG,YT -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KI,MH,TV,UM,WF +0125+17300 Pacific/Tarawa Gilberts, Marshalls, Wake
KI -0247-17143 Pacific/Kanton Phoenix Islands
KI +0152-15720 Pacific/Kiritimati Line Islands
KP +3901+12545 Asia/Pyongyang
KR +3733+12658 Asia/Seoul
KZ +4315+07657 Asia/Almaty most of Kazakhstan
KZ +4448+06528 Asia/Qyzylorda Qyzylorda/Kyzylorda/Kzyl-Orda
KZ +5312+06337 Asia/Qostanay Qostanay/Kostanay/Kustanay
KZ +5017+05710 Asia/Aqtobe Aqtöbe/Aktobe
KZ +4431+05016 Asia/Aqtau Mangghystaū/Mankistau
KZ +4707+05156 Asia/Atyrau Atyraū/Atirau/Gur'yev
KZ +5113+05121 Asia/Oral West Kazakhstan
LB +3353+03530 Asia/Beirut
LK +0656+07951 Asia/Colombo
LR +0618-01047 Africa/Monrovia
LT +5441+02519 Europe/Vilnius
LV +5657+02406 Europe/Riga
LY +3254+01311 Africa/Tripoli
MA +3339-00735 Africa/Casablanca
MD +4700+02850 Europe/Chisinau
MH +0905+16720 Pacific/Kwajalein Kwajalein
MM,CC +1647+09610 Asia/Yangon
MN +4755+10653 Asia/Ulaanbaatar most of Mongolia
MN +4801+09139 Asia/Hovd Bayan-Ölgii, Govi-Altai, Hovd, Uvs, Zavkhan
MN +4804+11430 Asia/Choibalsan Dornod, Sükhbaatar
MO +221150+1133230 Asia/Macau
MQ +1436-06105 America/Martinique
MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV,TF +0410+07330 Indian/Maldives Kerguelen, St Paul I, Amsterdam I
MX +1924-09909 America/Mexico_City Central Mexico
MX +2105-08646 America/Cancun Quintana Roo
MX +2058-08937 America/Merida Campeche, Yucatán
MX +2540-10019 America/Monterrey Durango; Coahuila, Nuevo León, Tamaulipas (most areas)
MX +2550-09730 America/Matamoros Coahuila, Nuevo León, Tamaulipas (US border)
MX +2838-10605 America/Chihuahua Chihuahua (most areas)
MX +3144-10629 America/Ciudad_Juarez Chihuahua (US border - west)
MX +2934-10425 America/Ojinaga Chihuahua (US border - east)
MX +2313-10625 America/Mazatlan Baja California Sur, Nayarit (most areas), Sinaloa
MX +2048-10515 America/Bahia_Banderas Bahía de Banderas
MX +2904-11058 America/Hermosillo Sonora
MX +3232-11701 America/Tijuana Baja California
MY,BN +0133+11020 Asia/Kuching Sabah, Sarawak
MZ,BI,BW,CD,MW,RW,ZM,ZW -2558+03235 Africa/Maputo Central Africa Time
NA -2234+01706 Africa/Windhoek
NC -2216+16627 Pacific/Noumea
NF -2903+16758 Pacific/Norfolk
NG,AO,BJ,CD,CF,CG,CM,GA,GQ,NE +0627+00324 Africa/Lagos West Africa Time
NI +1209-08617 America/Managua
NP +2743+08519 Asia/Kathmandu
NR -0031+16655 Pacific/Nauru
NU -1901-16955 Pacific/Niue
NZ,AQ -3652+17446 Pacific/Auckland New Zealand time
NZ -4357-17633 Pacific/Chatham Chatham Islands
PA,CA,KY +0858-07932 America/Panama EST - ON (Atikokan), NU (Coral H)
PE -1203-07703 America/Lima
PF -1732-14934 Pacific/Tahiti Society Islands
PF -0900-13930 Pacific/Marquesas Marquesas Islands
PF -2308-13457 Pacific/Gambier Gambier Islands
PG,AQ,FM -0930+14710 Pacific/Port_Moresby Papua New Guinea (most areas), Chuuk, Yap, Dumont d'Urville
PG -0613+15534 Pacific/Bougainville Bougainville
PH +1435+12100 Asia/Manila
PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
PN -2504-13005 Pacific/Pitcairn
PR,AG,CA,AI,AW,BL,BQ,CW,DM,GD,GP,KN,LC,MF,MS,SX,TT,VC,VG,VI +182806-0660622 America/Puerto_Rico AST - QC (Lower North Shore)
PS +3130+03428 Asia/Gaza Gaza Strip
PS +313200+0350542 Asia/Hebron West Bank
PT +3843-00908 Europe/Lisbon Portugal (mainland)
PT +3238-01654 Atlantic/Madeira Madeira Islands
PT +3744-02540 Atlantic/Azores Azores
PW +0720+13429 Pacific/Palau
PY -2516-05740 America/Asuncion
QA,BH +2517+05132 Asia/Qatar
RO +4426+02606 Europe/Bucharest
RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad MSK-01 - Kaliningrad
RU +554521+0373704 Europe/Moscow MSK+00 - Moscow area
# Mention RU and UA alphabetically. See "territorial claims" above.
RU,UA +4457+03406 Europe/Simferopol Crimea
RU +5836+04939 Europe/Kirov MSK+00 - Kirov
RU +4844+04425 Europe/Volgograd MSK+00 - Volgograd
RU +4621+04803 Europe/Astrakhan MSK+01 - Astrakhan
RU +5134+04602 Europe/Saratov MSK+01 - Saratov
RU +5420+04824 Europe/Ulyanovsk MSK+01 - Ulyanovsk
RU +5312+05009 Europe/Samara MSK+01 - Samara, Udmurtia
RU +5651+06036 Asia/Yekaterinburg MSK+02 - Urals
RU +5500+07324 Asia/Omsk MSK+03 - Omsk
RU +5502+08255 Asia/Novosibirsk MSK+04 - Novosibirsk
RU +5322+08345 Asia/Barnaul MSK+04 - Altai
RU +5630+08458 Asia/Tomsk MSK+04 - Tomsk
RU +5345+08707 Asia/Novokuznetsk MSK+04 - Kemerovo
RU +5601+09250 Asia/Krasnoyarsk MSK+04 - Krasnoyarsk area
RU +5216+10420 Asia/Irkutsk MSK+05 - Irkutsk, Buryatia
RU +5203+11328 Asia/Chita MSK+06 - Zabaykalsky
RU +6200+12940 Asia/Yakutsk MSK+06 - Lena River
RU +623923+1353314 Asia/Khandyga MSK+06 - Tomponsky, Ust-Maysky
RU +4310+13156 Asia/Vladivostok MSK+07 - Amur River
RU +643337+1431336 Asia/Ust-Nera MSK+07 - Oymyakonsky
RU +5934+15048 Asia/Magadan MSK+08 - Magadan
RU +4658+14242 Asia/Sakhalin MSK+08 - Sakhalin Island
RU +6728+15343 Asia/Srednekolymsk MSK+08 - Sakha (E), N Kuril Is
RU +5301+15839 Asia/Kamchatka MSK+09 - Kamchatka
RU +6445+17729 Asia/Anadyr MSK+09 - Bering Sea
SA,AQ,KW,YE +2438+04643 Asia/Riyadh Syowa
SB,FM -0932+16012 Pacific/Guadalcanal Pohnpei
SD +1536+03232 Africa/Khartoum
SG,MY +0117+10351 Asia/Singapore peninsular Malaysia
SR +0550-05510 America/Paramaribo
SS +0451+03137 Africa/Juba
ST +0020+00644 Africa/Sao_Tome
SV +1342-08912 America/El_Salvador
SY +3330+03618 Asia/Damascus
TC +2128-07108 America/Grand_Turk
TD +1207+01503 Africa/Ndjamena
TH,CX,KH,LA,VN +1345+10031 Asia/Bangkok north Vietnam
TJ +3835+06848 Asia/Dushanbe
TK -0922-17114 Pacific/Fakaofo
TL -0833+12535 Asia/Dili
TM +3757+05823 Asia/Ashgabat
TN +3648+01011 Africa/Tunis
TO -210800-1751200 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
TW +2503+12130 Asia/Taipei
UA +5026+03031 Europe/Kyiv most of Ukraine
US +404251-0740023 America/New_York Eastern (most areas)
US +421953-0830245 America/Detroit Eastern - MI (most areas)
US +381515-0854534 America/Kentucky/Louisville Eastern - KY (Louisville area)
US +364947-0845057 America/Kentucky/Monticello Eastern - KY (Wayne)
US +394606-0860929 America/Indiana/Indianapolis Eastern - IN (most areas)
US +384038-0873143 America/Indiana/Vincennes Eastern - IN (Da, Du, K, Mn)
US +410305-0863611 America/Indiana/Winamac Eastern - IN (Pulaski)
US +382232-0862041 America/Indiana/Marengo Eastern - IN (Crawford)
US +382931-0871643 America/Indiana/Petersburg Eastern - IN (Pike)
US +384452-0850402 America/Indiana/Vevay Eastern - IN (Switzerland)
US +415100-0873900 America/Chicago Central (most areas)
US +375711-0864541 America/Indiana/Tell_City Central - IN (Perry)
US +411745-0863730 America/Indiana/Knox Central - IN (Starke)
US +450628-0873651 America/Menominee Central - MI (Wisconsin border)
US +470659-1011757 America/North_Dakota/Center Central - ND (Oliver)
US +465042-1012439 America/North_Dakota/New_Salem Central - ND (Morton rural)
US +471551-1014640 America/North_Dakota/Beulah Central - ND (Mercer)
US +394421-1045903 America/Denver Mountain (most areas)
US +433649-1161209 America/Boise Mountain - ID (south), OR (east)
US,CA +332654-1120424 America/Phoenix MST - AZ (most areas), Creston BC
US +340308-1181434 America/Los_Angeles Pacific
US +611305-1495401 America/Anchorage Alaska (most areas)
US +581807-1342511 America/Juneau Alaska - Juneau area
US +571035-1351807 America/Sitka Alaska - Sitka area
US +550737-1313435 America/Metlakatla Alaska - Annette Island
US +593249-1394338 America/Yakutat Alaska - Yakutat
US +643004-1652423 America/Nome Alaska (west)
US +515248-1763929 America/Adak Alaska - western Aleutians
US +211825-1575130 Pacific/Honolulu Hawaii
UY -345433-0561245 America/Montevideo
UZ +3940+06648 Asia/Samarkand Uzbekistan (west)
UZ +4120+06918 Asia/Tashkent Uzbekistan (east)
VE +1030-06656 America/Caracas
VN +1045+10640 Asia/Ho_Chi_Minh south Vietnam
VU -1740+16825 Pacific/Efate
WS -1350-17144 Pacific/Apia
ZA,LS,SZ -2615+02800 Africa/Johannesburg
#
# The next section contains experimental tab-separated comments for
# use by user agents like tzselect that identify continents and oceans.
#
# For example, the comment "#@AQ<tab>Antarctica/" means the country code
# AQ is in the continent Antarctica regardless of the Zone name,
# so Pacific/Auckland should be listed under Antarctica as well as
# under the Pacific because its line's country codes include AQ.
#
# If more than one country code is affected each is listed separated
# by commas, e.g., #@IS,SH<tab>Atlantic/". If a country code is in
# more than one continent or ocean, each is listed separated by
# commas, e.g., the second column of "#@CY,TR<tab>Asia/,Europe/".
#
# These experimental comments are present only for country codes where
# the continent or ocean is not already obvious from the Zone name.
# For example, there is no such comment for RU since it already
# corresponds to Zone names starting with both "Europe/" and "Asia/".
#
#@AQ Antarctica/
#@IS,SH Atlantic/
#@CY,TR Asia/,Europe/
#@SJ Arctic/
#@CC,CX,KM,MG,YT Indian/

View File

@ -0,0 +1,53 @@
#! /usr/bin/perl -w
# Summarize .zi input in a .zi-like format.
# Courtesy Ken Pizzini.
use strict;
#This file released to the public domain.
# Note: error checking is poor; trust the output only if the input
# has been checked by zic.
my $contZone = '';
while (<>) {
my $origline = $_;
my @fields = ();
while (s/^\s*((?:"[^"]*"|[^\s#])+)//) {
push @fields, $1;
}
next unless @fields;
my $type = lc($fields[0]);
if ($contZone) {
@fields >= 3 or warn "bad continuation line";
unshift @fields, '+', $contZone;
$type = 'zone';
}
$contZone = '';
if ($type eq 'zone') {
# Zone NAME STDOFF RULES/SAVE FORMAT [UNTIL]
my $nfields = @fields;
$nfields >= 5 or warn "bad zone line";
if ($nfields > 6) {
#this splice is optional, depending on one's preference
#(one big date-time field, or componentized date and time):
splice(@fields, 5, $nfields-5, "@fields[5..$nfields-1]");
}
$contZone = $fields[1] if @fields > 5;
} elsif ($type eq 'rule') {
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
@fields == 10 or warn "bad rule line";
} elsif ($type eq 'link') {
# Link TARGET LINK-NAME
@fields == 3 or warn "bad link line";
} elsif ($type eq 'leap') {
# Leap YEAR MONTH DAY HH:MM:SS CORR R/S
@fields == 7 or warn "bad leap line";
} else {
warn "Fubar at input line $.: $origline";
}
print join("\t", @fields), "\n";
}

View File

@ -0,0 +1,303 @@
# 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.
# 4. Every timezone has a nonempty comments column, with wording
# distinguishing the timezone only from other timezones with the
# same UTC offset at some point during the year.
#
# 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-31; 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/+02 - 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; west Kazakhstan; 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 until 2024-03-01; then +05
XX +4315+07657 Asia/Almaty Kazakhstan (except western areas)
#
# +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

624
share/zoneinfo/Makefile Normal file
View File

@ -0,0 +1,624 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# Package name for the code distribution.
PACKAGE= tzcode
# Version numbers of the code and data distributions.
VERSION= 2014f
# Email address for bug reports.
BUGEMAIL= tz@iana.org
# Change the line below for your time zone (after finding the zone you want in
# the time zone files, or adding it to a time zone file).
# Alternately, if you discover you've got the wrong time zone, you can just
# zic -l rightzone
# to correct things.
# Use the command
# make zonenames
# to get a list of the values you can use for LOCALTIME.
LOCALTIME= GMT
# If you want something other than Eastern United States time as a template
# for handling POSIX-style time zone environment variables,
# change the line below (after finding the zone you want in the
# time zone files, or adding it to a time zone file).
# (When a POSIX-style environment variable is handled, the rules in the
# template file are used to determine "spring forward" and "fall back" days and
# times; the environment variable itself specifies UT offsets of standard and
# summer time.)
# Alternately, if you discover you've got the wrong time zone, you can just
# zic -p rightzone
# to correct things.
# Use the command
# make zonenames
# to get a list of the values you can use for POSIXRULES.
# If you want POSIX compatibility, use "America/New_York".
POSIXRULES= America/New_York
# Also see TZDEFRULESTRING below, which takes effect only
# if the time zone files cannot be accessed.
# Everything gets put in subdirectories of. . .
TOPDIR= /usr/local
# "Compiled" time zone information is placed in the "TZDIR" directory
# (and subdirectories).
# Use an absolute path name for TZDIR unless you're just testing the software.
TZDIR_BASENAME= zoneinfo
TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME)
# Types to try, as an alternative to time_t. int64_t should be first.
TIME_T_ALTERNATIVES= int64_t int32_t uint32_t uint64_t
# The "tzselect", "zic", and "zdump" commands get installed in. . .
ETCDIR= $(TOPDIR)/etc
# If you "make INSTALL", the "date" command gets installed in. . .
BINDIR= $(TOPDIR)/bin
# Manual pages go in subdirectories of. . .
MANDIR= $(TOPDIR)/man
# Library functions are put in an archive in LIBDIR.
LIBDIR= $(TOPDIR)/lib
# If you always want time values interpreted as "seconds since the epoch
# (not counting leap seconds)", use
# REDO= posix_only
# below. If you always want right time values interpreted as "seconds since
# the epoch" (counting leap seconds)", use
# REDO= right_only
# below. If you want both sets of data available, with leap seconds not
# counted normally, use
# REDO= posix_right
# below. If you want both sets of data available, with leap seconds counted
# normally, use
# REDO= right_posix
# below.
# POSIX mandates that leap seconds not be counted; for compatibility with it,
# use either "posix_only" or "posix_right".
REDO= posix_right
# Since "." may not be in PATH...
YEARISTYPE= ./yearistype
# Non-default libraries needed to link.
# Add -lintl if you want to use 'gettext' on Solaris.
LDLIBS=
# Add the following to the end of the "CFLAGS=" line as needed.
# -DBIG_BANG=-9999999LL if the Big Bang occurred at time -9999999 (see zic.c)
# -DHAVE_ADJTIME=0 if 'adjtime' does not exist (SVR0?)
# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS)
# -DHAVE_GETTEXT=1 if 'gettext' works (GNU, Linux, Solaris); also see LDLIBS
# -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares
# ctime_r and asctime_r incompatibly with the POSIX standard (Solaris 8).
# -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h"
# -DHAVE_LINK=0 if your system lacks a link function
# -DHAVE_SETTIMEOFDAY=0 if settimeofday does not exist (SVR0?)
# -DHAVE_SETTIMEOFDAY=1 if settimeofday has just 1 arg (SVR4)
# -DHAVE_SETTIMEOFDAY=2 if settimeofday uses 2nd arg (4.3BSD)
# -DHAVE_SETTIMEOFDAY=3 if settimeofday ignores 2nd arg (4.4BSD)
# -DHAVE_STDINT_H=1 if you have a pre-C99 compiler with "stdint.h"
# -DHAVE_SYMLINK=0 if your system lacks the symlink function
# -DHAVE_SYS_STAT_H=0 if your compiler lacks a "sys/stat.h"
# -DHAVE_SYS_WAIT_H=0 if your compiler lacks a "sys/wait.h"
# -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?)
# -DHAVE_UTMPX_H=1 if your compiler has a "utmpx.h"
# -DLOCALE_HOME=\"path\" if locales are in "path", not "/usr/lib/locale"
# -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1
# if you do not want run time warnings about formats that may cause
# year 2000 grief
# -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t
# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz"
# -DTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory;
# the default is system-supplied, typically "/usr/lib/locale"
# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified
# DST transitions if the time zone files cannot be accessed
# -DZIC_MAX_ABBR_LEN_WO_WARN=3
# (or some other number) to set the maximum time zone abbreviation length
# that zic will accept without a warning (the default is 6)
# $(GCC_DEBUG_FLAGS) if you are using GCC and want lots of checking
GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-common -fstrict-aliasing \
-Wall -Wextra \
-Wbad-function-cast -Wcast-align -Wcast-qual \
-Wdeclaration-after-statement \
-Wformat=2 -Winit-self -Wjump-misses-init \
-Wmissing-declarations -Wmissing-noreturn -Wmissing-prototypes \
-Wnested-externs -Wno-address -Wno-cast-qual \
-Wno-format-nonliteral -Wno-sign-compare -Wno-sign-conversion \
-Wno-type-limits \
-Wno-unused-parameter -Woverlength-strings -Wpointer-arith \
-Wshadow -Wstrict-prototypes -Wsuggest-attribute=const \
-Wsuggest-attribute=format -Wsuggest-attribute=noreturn \
-Wsuggest-attribute=pure -Wtrampolines \
-Wwrite-strings
#
# If you want to use System V compatibility code, add
# -DUSG_COMPAT
# to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight"
# variables to be kept up-to-date by the time conversion functions. Neither
# "timezone" nor "daylight" is described in X3J11's work.
#
# If your system has a "GMT offset" field in its "struct tm"s
# (or if you decide to add such a field in your system's "time.h" file),
# add the name to a define such as
# -DTM_GMTOFF=tm_gmtoff
# or
# -DTM_GMTOFF=_tm_gmtoff
# to the end of the "CFLAGS=" line.
# Neither tm_gmtoff nor _tm_gmtoff is described in X3J11's work;
# in its work, use of "tm_gmtoff" is described as non-conforming.
# Both Linux and BSD have done the equivalent of defining TM_GMTOFF in
# their recent releases.
#
# If your system has a "zone abbreviation" field in its "struct tm"s
# (or if you decide to add such a field in your system's "time.h" file),
# add the name to a define such as
# -DTM_ZONE=tm_zone
# or
# -DTM_ZONE=_tm_zone
# to the end of the "CFLAGS=" line.
# Neither tm_zone nor _tm_zone is described in X3J11's work;
# in its work, use of "tm_zone" is described as non-conforming.
# Both UCB and Sun have done the equivalent of defining TM_ZONE in
# their recent releases.
#
# If you want functions that were inspired by early versions of X3J11's work,
# add
# -DSTD_INSPIRED
# to the end of the "CFLAGS=" line. This arranges for the functions
# "tzsetwall", "offtime", "timelocal", "timegm", "timeoff",
# "posix2time", and "time2posix" to be added to the time conversion library.
# "tzsetwall" is like "tzset" except that it arranges for local wall clock
# time (rather than the time specified in the TZ environment variable)
# to be used.
# "offtime" is like "gmtime" except that it accepts a second (long) argument
# that gives an offset to add to the time_t when converting it.
# "timelocal" is equivalent to "mktime".
# "timegm" is like "timelocal" except that it turns a struct tm into
# a time_t using UT (rather than local time as "timelocal" does).
# "timeoff" is like "timegm" except that it accepts a second (long) argument
# that gives an offset to use when converting to a time_t.
# "posix2time" and "time2posix" are described in an included manual page.
# X3J11's work does not describe any of these functions.
# Sun has provided "tzsetwall", "timelocal", and "timegm" in SunOS 4.0.
# These functions may well disappear in future releases of the time
# conversion package.
#
# If you want to allocate state structures in localtime, add
# -DALL_STATE
# to the end of the "CFLAGS=" line. Storage is obtained by calling malloc.
#
# If you want an "altzone" variable (a la System V Release 3.1), add
# -DALTZONE
# to the end of the "CFLAGS=" line.
# This variable is not described in X3J11's work.
#
# If you want a "gtime" function (a la MACH), add
# -DCMUCS
# to the end of the "CFLAGS=" line
# This function is not described in X3J11's work.
#
# NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put
# out by the National Institute of Standards and Technology
# which claims to test C and Posix conformance. If you want to pass PCTS, add
# -DPCTS
# to the end of the "CFLAGS=" line.
#
# If you want strict compliance with XPG4 as of 1994-04-09, add
# -DXPG4_1994_04_09
# to the end of the "CFLAGS=" line. This causes "strftime" to always return
# 53 as a week number (rather than 52 or 53) for those days in January that
# before the first Monday in January when a "%V" format is used and January 1
# falls on a Friday, Saturday, or Sunday.
CFLAGS=
# Linker flags. Default to $(LFLAGS) for backwards compatibility
# to tzcode2012h and earlier.
LDFLAGS= $(LFLAGS)
zic= ./zic
ZIC= $(zic) $(ZFLAGS)
ZFLAGS=
# The name of a Posix-compliant 'awk' on your system.
AWK= awk
# The full path name of a Posix-compliant shell, preferably one that supports
# the Korn shell's 'select' statement as an extension.
# These days, Bash is the most popular.
# It should be OK to set this to /bin/sh, on platforms where /bin/sh
# lacks 'select' or doesn't completely conform to Posix, but /bin/bash
# is typically nicer if it works.
KSHELL= /bin/bash
# The path where SGML DTDs are kept and the catalog file(s) to use when
# validating. The default is appropriate for Ubuntu 13.10.
SGML_TOPDIR= /usr
SGML_DTDDIR= $(SGML_TOPDIR)/share/xml/w3c-sgml-lib/schema/dtd
SGML_SEARCH_PATH= $(SGML_DTDDIR)/REC-html401-19991224
SGML_CATALOG_FILES= \
$(SGML_TOPDIR)/share/doc/w3-recs/html/www.w3.org/TR/1999/REC-html401-19991224/HTML4.cat
# The name, arguments and environment of a program to validate your web pages.
# See <http://www.jclark.com/sp/> for a validator, and
# <http://validator.w3.org/source/> for a validation library.
VALIDATE = nsgmls
VALIDATE_FLAGS = -s -B -wall -wno-unused-param
VALIDATE_ENV = \
SGML_CATALOG_FILES=$(SGML_CATALOG_FILES) \
SGML_SEARCH_PATH=$(SGML_SEARCH_PATH) \
SP_CHARSET_FIXED=YES \
SP_ENCODING=UTF-8
# SAFE_CHAR is a regular expression that matches a safe character.
# Some parts of this distribution are limited to safe characters;
# others can use any UTF-8 character.
# For now, the safe characters are a safe subset of ASCII.
# The caller must set the shell variable 'sharp' to the character '#',
# since Makefile macros cannot contain '#'.
# TAB_CHAR is a single tab character, in single quotes.
TAB_CHAR= ' '
SAFE_CHARSET1= $(TAB_CHAR)' !\"'$$sharp'$$%&'\''()*+,./0123456789:;<=>?@'
SAFE_CHARSET2= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`'
SAFE_CHARSET3= 'abcdefghijklmnopqrstuvwxyz{|}~'
SAFE_CHARSET= ]$(SAFE_CHARSET1)$(SAFE_CHARSET2)$(SAFE_CHARSET3)-
SAFE_CHAR= '['$(SAFE_CHARSET)']'
# NONSYM_CHAR is a regular expression that matches any character
# except for a small number of symbols, where we prefer to stick with
# ASCII renderings for the convenience of maintainers whose text editors
# mishandle UTF-8 by default (e.g., XEmacs 21.4.22).
NONSYM_CHAR= '[^–—°′″≈≠≤≥±−×÷∞←→↔·•§¶«»‘’‚‛“”„‟‹›「」『』〝〞〟]'
# SAFE_LINE matches a line of safe characters.
# SAFE_SHARP_LINE is similar, except any character can follow '#';
# this is so that comments can contain non-ASCII characters.
# NONSYM_LINE matches a line of non-symbols.
# VALID_LINE matches a line of any validly-encoded characters.
SAFE_LINE= '^'$(SAFE_CHAR)'*$$'
SAFE_SHARP_LINE='^'$(SAFE_CHAR)'*('$$sharp$(NONSYM_CHAR)'*)?$$'
NONSYM_LINE= '^'$(NONSYM_CHAR)'*$$'
VALID_LINE= '^.*$$'
# Flags to give 'tar' when making a distribution.
# Try to use flags appropriate for GNU tar.
GNUTARFLAGS= --numeric-owner --owner=0 --group=0 --mode=go+u,go-w
TARFLAGS= `if tar $(GNUTARFLAGS) --version >/dev/null 2>&1; \
then echo $(GNUTARFLAGS); \
else :; \
fi`
# Flags to give 'gzip' when making a distribution.
GZIPFLAGS= -9n
###############################################################################
cc= cc
CC= $(cc) -DTZDIR=\"$(TZDIR)\"
AR= ar
# ':' on typical hosts; 'ranlib' on the ancient hosts that still need ranlib.
RANLIB= :
TZCOBJS= zic.o scheck.o ialloc.o
TZDOBJS= zdump.o localtime.o ialloc.o asctime.o
DATEOBJS= date.o localtime.o strftime.o asctime.o
LIBSRCS= localtime.c asctime.c difftime.c
LIBOBJS= localtime.o asctime.o difftime.o
HEADERS= tzfile.h private.h
NONLIBSRCS= zic.c zdump.c scheck.c ialloc.c
NEWUCBSRCS= date.c strftime.c
SOURCES= $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) tzselect.ksh
MANS= newctime.3 newstrftime.3 newtzset.3 time2posix.3 \
tzfile.5 tzselect.8 zic.8 zdump.8
MANTXTS= newctime.3.txt newstrftime.3.txt newtzset.3.txt \
time2posix.3.txt \
tzfile.5.txt tzselect.8.txt zic.8.txt zdump.8.txt \
date.1.txt
COMMON= Makefile README
WEB_PAGES= tz-art.htm tz-link.htm
DOCS= NEWS Theory $(MANS) date.1 $(MANTXTS) $(WEB_PAGES)
PRIMARY_YDATA= africa antarctica asia australasia \
europe northamerica southamerica
YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward
NDATA= systemv factory
TDATA= $(YDATA) $(NDATA)
ZONETABLES= zone1970.tab zone.tab
TABDATA= iso3166.tab leapseconds $(ZONETABLES)
LEAP_DEPS= leapseconds.awk leap-seconds.list
DATA= $(YDATA) $(NDATA) $(TABDATA) \
$(LEAP_DEPS) yearistype.sh
AWK_SCRIPTS= checktab.awk leapseconds.awk
MISC= $(AWK_SCRIPTS) workman.sh zoneinfo2tdf.pl
ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC)
# And for the benefit of csh users on systems that assume the user
# shell should be used to handle commands in Makefiles. . .
SHELL= /bin/sh
all: tzselect zic zdump libtz.a $(TABDATA)
ALL: all date
install: all $(DATA) $(REDO) $(MANS)
mkdir -p $(DESTDIR)$(ETCDIR) $(DESTDIR)$(TZDIR) \
$(DESTDIR)$(LIBDIR) \
$(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \
$(DESTDIR)$(MANDIR)/man8
$(ZIC) -y $(YEARISTYPE) \
-d $(DESTDIR)$(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES)
cp -f iso3166.tab $(ZONETABLES) $(DESTDIR)$(TZDIR)/.
cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/.
cp libtz.a $(DESTDIR)$(LIBDIR)/.
$(RANLIB) $(DESTDIR)$(LIBDIR)/libtz.a
cp -f newctime.3 newtzset.3 $(DESTDIR)$(MANDIR)/man3/.
cp -f tzfile.5 $(DESTDIR)$(MANDIR)/man5/.
cp -f tzselect.8 zdump.8 zic.8 $(DESTDIR)$(MANDIR)/man8/.
INSTALL: ALL install date.1
mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1
cp date $(DESTDIR)$(BINDIR)/.
cp -f date.1 $(DESTDIR)$(MANDIR)/man1/.
version.h:
(echo 'static char const PKGVERSION[]="($(PACKAGE)) ";' && \
echo 'static char const TZVERSION[]="$(VERSION)";' && \
echo 'static char const REPORT_BUGS_TO[]="$(BUGEMAIL)";') >$@
zdump: $(TZDOBJS)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS)
zic: $(TZCOBJS) yearistype
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS)
yearistype: yearistype.sh
cp yearistype.sh yearistype
chmod +x yearistype
leapseconds: $(LEAP_DEPS)
$(AWK) -f leapseconds.awk leap-seconds.list >$@
posix_only: zic $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
-L /dev/null $(TDATA)
right_only: zic leapseconds $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \
-L leapseconds $(TDATA)
# In earlier versions of this makefile, the other two directories were
# subdirectories of $(TZDIR). However, this led to configuration errors.
# For example, with posix_right under the earlier scheme,
# TZ='right/Australia/Adelaide' got you localtime with leap seconds,
# but gmtime without leap seconds, which led to problems with applications
# like sendmail that subtract gmtime from localtime.
# Therefore, the other two directories are now siblings of $(TZDIR).
# You must replace all of $(TZDIR) to switch from not using leap seconds
# to using them, or vice versa.
right_posix: right_only leapseconds
rm -fr $(DESTDIR)$(TZDIR)-leaps
ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
-L leapseconds $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
-L /dev/null $(TDATA)
posix_right: posix_only leapseconds
rm -fr $(DESTDIR)$(TZDIR)-posix
ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \
-L /dev/null $(TDATA)
$(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \
-L leapseconds $(TDATA)
zones: $(REDO)
libtz.a: $(LIBOBJS)
$(AR) ru $@ $(LIBOBJS)
$(RANLIB) $@
date: $(DATEOBJS)
$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DATEOBJS) $(LDLIBS)
tzselect: tzselect.ksh
sed \
-e 's|#!/bin/bash|#!$(KSHELL)|g' \
-e 's|AWK=[^}]*|AWK=$(AWK)|g' \
-e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \
-e 's|\(REPORT_BUGS_TO\)=.*|\1=$(BUGEMAIL)|' \
-e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \
-e 's|\(TZVERSION\)=.*|\1=$(VERSION)|' \
<$? >$@
chmod +x $@
check: check_character_set check_tables check_web
check_character_set: $(ENCHILADA)
LC_ALL=en_US.utf8 && export LC_ALL && \
sharp='#' && \
! grep -Env $(SAFE_LINE) $(MANS) date.1 $(MANTXTS) \
$(MISC) $(SOURCES) $(WEB_PAGES) && \
! grep -Env $(SAFE_SHARP_LINE) $(YDATA) $(NDATA) iso3166.tab \
zone.tab leapseconds $(LEAP_DEPS) yearistype.sh && \
test $$(grep -Ecv $(SAFE_SHARP_LINE) Makefile) -eq 1 && \
! grep -Env $(NONSYM_LINE) README NEWS Theory $(MANS) date.1 \
zone1970.tab && \
! grep -Env $(VALID_LINE) $(ENCHILADA)
check_tables: checktab.awk $(PRIMARY_YDATA) $(ZONETABLES)
for tab in $(ZONETABLES); do \
$(AWK) -f checktab.awk -v zone_table=$$tab $(PRIMARY_YDATA) \
|| exit; \
done
check_web: $(WEB_PAGES)
$(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES)
clean_misc:
rm -f core *.o *.out \
date tzselect version.h zdump zic yearistype libtz.a
clean: clean_misc
rm -fr tzpublic
maintainer-clean: clean
@echo 'This command is intended for maintainers to use; it'
@echo 'deletes files that may need special tools to rebuild.'
rm -f leapseconds $(MANTXTS) *.asc *.tar.gz
names:
@echo $(ENCHILADA)
public: check check_public check_time_t_alternatives \
tarballs signatures
date.1.txt: date.1
newctime.3.txt: newctime.3
newstrftime.3.txt: newstrftime.3
newtzset.3.txt: newtzset.3
time2posix.3.txt: time2posix.3
tzfile.5.txt: tzfile.5
tzselect.8.txt: tzselect.8
zdump.8.txt: zdump.8
zic.8.txt: zic.8
$(MANTXTS): workman.sh
LC_ALL=C sh workman.sh `expr $@ : '\(.*\)\.txt$$'` >$@
# Set the time stamps to those of the git repository, if available,
# and if the files have not changed since then.
# This uses GNU 'touch' syntax 'touch -d@N FILE',
# where N is the number of seconds since 1970.
# If git or GNU 'touch' is absent, don't bother to sync with git timestamps.
# Also, set the timestamp of each prebuilt file like 'leapseconds'
# to be the maximum of the files it depends on.
set-timestamps.out: $(ENCHILADA)
rm -f $@
if files=`git ls-files $(ENCHILADA)` && \
touch -md @1 test.out; then \
rm -f test.out && \
for file in $$files; do \
if git diff --quiet $$file; then \
time=`git log -1 --format='tformat:%ct' $$file` && \
touch -cmd @$$time $$file; \
else \
echo >&2 "$$file: warning: does not match repository"; \
fi || exit; \
done; \
fi
touch -cmr `ls -t $(LEAP_DEPS) | sed 1q` leapseconds
for file in `ls $(MANTXTS) | sed 's/\.txt$$//'`; do \
touch -cmr `ls -t $$file workman.sh | sed 1q` $$file.txt || \
exit; \
done
touch $@
# The zics below ensure that each data file can stand on its own.
# We also do an all-files run to catch links to links.
check_public: $(ENCHILADA)
make maintainer-clean
make "CFLAGS=$(GCC_DEBUG_FLAGS)" $(ENCHILADA) all
mkdir tzpublic
for i in $(TDATA) ; do \
$(zic) -v -d tzpublic $$i 2>&1 || exit; \
done
$(zic) -v -d tzpublic $(TDATA)
rm -fr tzpublic
# Check that the code works under various alternative
# implementations of time_t.
check_time_t_alternatives:
zones=`$(AWK) '/^[^#]/ { print $$3 }' <zone1970.tab` && \
for type in $(TIME_T_ALTERNATIVES); do \
mkdir -p tzpublic/$$type && \
make clean_misc && \
make TOPDIR=`pwd`/tzpublic/$$type \
CFLAGS='$(CFLAGS) -Dtime_tz='"'$$type'" \
install && \
diff -qr tzpublic/int64_t/etc/zoneinfo tzpublic/$$type/etc/zoneinfo && \
case $$type in \
int32_t) range=-2147483648,2147483647;; \
uint32_t) range=0,4294967296;; \
int64_t) continue;; \
*u*) range=0,10000000000;; \
*) range=-10000000000,10000000000;; \
esac && \
echo checking $$type zones ... && \
tzpublic/int64_t/etc/zdump -V -t $$range $$zones \
>tzpublic/int64_t.out && \
tzpublic/$$type/etc/zdump -V -t $$range $$zones \
>tzpublic/$$type.out && \
diff -u tzpublic/int64_t.out tzpublic/$$type.out \
|| exit; \
done
rm -fr tzpublic
tarballs: tzcode$(VERSION).tar.gz tzdata$(VERSION).tar.gz
tzcode$(VERSION).tar.gz: set-timestamps.out
LC_ALL=C && export LC_ALL && \
tar $(TARFLAGS) -cf - \
$(COMMON) $(DOCS) $(SOURCES) $(MISC) | \
gzip $(GZIPFLAGS) > $@
tzdata$(VERSION).tar.gz: set-timestamps.out
LC_ALL=C && export LC_ALL && \
tar $(TARFLAGS) -cf - $(COMMON) $(DATA) | \
gzip $(GZIPFLAGS) > $@
signatures: tzcode$(VERSION).tar.gz.asc tzdata$(VERSION).tar.gz.asc
tzcode$(VERSION).tar.gz.asc: tzcode$(VERSION).tar.gz
gpg --armor --detach-sign $?
tzdata$(VERSION).tar.gz.asc: tzdata$(VERSION).tar.gz
gpg --armor --detach-sign $?
typecheck:
make clean
for i in "long long" unsigned; \
do \
make CFLAGS="-DTYPECHECK -D__time_t_defined -D_TIME_T \"-Dtime_t=$$i\"" ; \
./zdump -v Europe/Rome ; \
make clean ; \
done
zonenames: $(TDATA)
@$(AWK) '/^Zone/ { print $$2 } /^Link/ { print $$3 }' $(TDATA)
asctime.o: private.h tzfile.h
date.o: private.h
difftime.o: private.h
ialloc.o: private.h
localtime.o: private.h tzfile.h
scheck.o: private.h
strftime.o: tzfile.h
zdump.o: version.h
zic.o: private.h tzfile.h version.h
.KEEP_STATE:
.PHONY: ALL INSTALL all
.PHONY: check check_character_set check_public check_tables
.PHONY: check_time_t_alternatives check_web clean clean_misc
.PHONY: install maintainer-clean names posix_only posix_right
.PHONY: public right_only right_posix signatures tarballs typecheck
.PHONY: zonenames zones

64
share/zoneinfo/README Normal file
View File

@ -0,0 +1,64 @@
README for the tz distribution
"What time is it?" -- Richard Deacon as The King
"Any time you want it to be." -- Frank Baxter as The Scientist
(from the Bell System film "About Time")
The Time Zone Database (often called tz or zoneinfo) contains code and
data that represent the history of local time for many representative
locations around the globe. It is updated periodically to reflect
changes made by political bodies to time zone boundaries, UTC offsets,
and daylight-saving rules.
Unless otherwise specified, all files in the tz code and data are in
the public domain, so clarified as of 2009-05-17 by Arthur David Olson.
The few exceptions are code derived from BSD, which uses the BSD license.
Here is a recipe for acquiring, building, installing, and testing the
tz distribution on a GNU/Linux or similar host.
mkdir tz
cd tz
wget --retr-symlinks 'ftp://ftp.iana.org/tz/tz*-latest.tar.gz'
gzip -dc tzcode-latest.tar.gz | tar -xf -
gzip -dc tzdata-latest.tar.gz | tar -xf -
Be sure to read the comments in "Makefile" and make any changes needed
to make things right for your system, especially if you are using some
platform other than GNU/Linux. Then run the following commands,
substituting your desired installation directory for "$HOME/tzdir":
make TOPDIR=$HOME/tzdir install
$HOME/tzdir/etc/zdump -v America/Los_Angeles
Historical local time information has been included here to:
* provide a compendium of data about the history of civil time
that is useful even if the data are not 100% accurate;
* give an idea of the variety of local time rules that have
existed in the past and thus an idea of the variety that may be
expected in the future;
* provide a test of the generality of the local time rule description
system.
The information in the time zone data files is by no means authoritative;
the files currently do not even attempt to cover all time stamps before
1970, and there are undoubtedly errors even for time stamps since 1970.
If you know that the rules are different from those in a file, by all means
feel free to change a file (and please send the changed version to
tz@iana.org for use in the future). Europeans take note!
Thanks to these Timezone Caballeros who've made major contributions to the
time conversion package: Keith Bostic; Bob Devine; Paul Eggert; Robert Elz;
Guy Harris; Mark Horton; John Mackin; and Bradley White. Thanks also to
Michael Bloom, Art Neilson, Stephen Prince, John Sovereign, and Frank Wales
for testing work, and to Gwillim Law for checking local mean time data.
Thanks in particular to Arthur David Olson, the project's founder and first
maintainer, to whom the timezone community owes the greatest debt of all.
None of them are responsible for remaining errors.
Look in <ftp://ftp.iana.org/tz/releases/> for updated versions of these files.
Please send comments or information to tz@iana.org.

1234
share/zoneinfo/africa Normal file

File diff suppressed because it is too large Load Diff

387
share/zoneinfo/antarctica Normal file
View File

@ -0,0 +1,387 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# From Paul Eggert (1999-11-15):
# To keep things manageable, we list only locations occupied year-round; see
# COMNAP - Stations and Bases
# <http://www.comnap.aq/comnap/comnap.nsf/P/Stations/>
# and
# Summary of the Peri-Antarctic Islands (1998-07-23)
# <http://www.spri.cam.ac.uk/bob/periant.htm>
# for information.
# Unless otherwise specified, we have no time zone information.
#
# Except for the French entries,
# I made up all time zone abbreviations mentioned here; corrections welcome!
# FORMAT is 'zzz' and GMTOFF is 0 for locations while uninhabited.
# These rules are stolen from the 'southamerica' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule ArgAQ 1964 1966 - Mar 1 0:00 0 -
Rule ArgAQ 1964 1966 - Oct 15 0:00 1:00 S
Rule ArgAQ 1967 only - Apr 2 0:00 0 -
Rule ArgAQ 1967 1968 - Oct Sun>=1 0:00 1:00 S
Rule ArgAQ 1968 1969 - Apr Sun>=1 0:00 0 -
Rule ArgAQ 1974 only - Jan 23 0:00 1:00 S
Rule ArgAQ 1974 only - May 1 0:00 0 -
Rule ChileAQ 1972 1986 - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 1974 1987 - Oct Sun>=9 4:00u 1:00 S
Rule ChileAQ 1987 only - Apr 12 3:00u 0 -
Rule ChileAQ 1988 1989 - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 1988 only - Oct Sun>=1 4:00u 1:00 S
Rule ChileAQ 1989 only - Oct Sun>=9 4:00u 1:00 S
Rule ChileAQ 1990 only - Mar 18 3:00u 0 -
Rule ChileAQ 1990 only - Sep 16 4:00u 1:00 S
Rule ChileAQ 1991 1996 - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 1991 1997 - Oct Sun>=9 4:00u 1:00 S
Rule ChileAQ 1997 only - Mar 30 3:00u 0 -
Rule ChileAQ 1998 only - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 1998 only - Sep 27 4:00u 1:00 S
Rule ChileAQ 1999 only - Apr 4 3:00u 0 -
Rule ChileAQ 1999 2010 - Oct Sun>=9 4:00u 1:00 S
Rule ChileAQ 2000 2007 - Mar Sun>=9 3:00u 0 -
# N.B.: the end of March 29 in Chile is March 30 in Universal time,
# which is used below in specifying the transition.
Rule ChileAQ 2008 only - Mar 30 3:00u 0 -
Rule ChileAQ 2009 only - Mar Sun>=9 3:00u 0 -
Rule ChileAQ 2010 only - Apr Sun>=1 3:00u 0 -
Rule ChileAQ 2011 only - May Sun>=2 3:00u 0 -
Rule ChileAQ 2011 only - Aug Sun>=16 4:00u 1:00 S
Rule ChileAQ 2012 max - Apr Sun>=23 3:00u 0 -
Rule ChileAQ 2012 max - Sep Sun>=2 4:00u 1:00 S
# Argentina - year-round bases
# Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
# Carlini, Potter Cove, King George Island, -6414-0602320, since 1982-01
# Esperanza, Hope Bay, -6323-05659, since 1952-12-17
# Marambio, -6414-05637, since 1969-10-29
# Orcadas, Laurie I, -6016-04444, since 1904-02-22
# San Martín, Barry I, -6808-06706, since 1951-03-21
# (except 1960-03 / 1976-03-21)
# Australia - territories
# Heard Island, McDonald Islands (uninhabited)
# previously sealers and scientific personnel wintered
# Margaret Turner reports
# <http://web.archive.org/web/20021204222245/http://www.dstc.qut.edu.au/DST/marg/daylight.html>
# (1999-09-30) that they're UTC+5, with no DST;
# presumably this is when they have visitors.
#
# year-round bases
# Casey, Bailey Peninsula, -6617+11032, since 1969
# Davis, Vestfold Hills, -6835+07759, since 1957-01-13
# (except 1964-11 - 1969-02)
# Mawson, Holme Bay, -6736+06253, since 1954-02-13
# From Steffen Thorsen (2009-03-11):
# Three Australian stations in Antarctica have changed their time zone:
# Casey moved from UTC+8 to UTC+11
# Davis moved from UTC+7 to UTC+5
# Mawson moved from UTC+6 to UTC+5
# The changes occurred on 2009-10-18 at 02:00 (local times).
#
# Government source: (Australian Antarctic Division)
# http://www.aad.gov.au/default.asp?casid=37079
#
# We have more background information here:
# http://www.timeanddate.com/news/time/antarctica-new-times.html
# From Steffen Thorsen (2010-03-10):
# We got these changes from the Australian Antarctic Division: ...
#
# - Casey station reverted to its normal time of UTC+8 on 5 March 2010.
# The change to UTC+11 is being considered as a regular summer thing but
# has not been decided yet.
#
# - Davis station will revert to its normal time of UTC+7 at 10 March 2010
# 20:00 UTC.
#
# - Mawson station stays on UTC+5.
#
# Background:
# http://www.timeanddate.com/news/time/antartica-time-changes-2010.html
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Casey 0 - zzz 1969
8:00 - AWST 2009 Oct 18 2:00
# Australian Western Std Time
11:00 - CAST 2010 Mar 5 2:00
# Casey Time
8:00 - AWST 2011 Oct 28 2:00
11:00 - CAST 2012 Feb 21 17:00u
8:00 - AWST
Zone Antarctica/Davis 0 - zzz 1957 Jan 13
7:00 - DAVT 1964 Nov # Davis Time
0 - zzz 1969 Feb
7:00 - DAVT 2009 Oct 18 2:00
5:00 - DAVT 2010 Mar 10 20:00u
7:00 - DAVT 2011 Oct 28 2:00
5:00 - DAVT 2012 Feb 21 20:00u
7:00 - DAVT
Zone Antarctica/Mawson 0 - zzz 1954 Feb 13
6:00 - MAWT 2009 Oct 18 2:00
# Mawson Time
5:00 - MAWT
# References:
# Casey Weather (1998-02-26)
# <http://www.antdiv.gov.au/aad/exop/sfo/casey/casey_aws.html>
# Davis Station, Antarctica (1998-02-26)
# <http://www.antdiv.gov.au/aad/exop/sfo/davis/video.html>
# Mawson Station, Antarctica (1998-02-25)
# <http://www.antdiv.gov.au/aad/exop/sfo/mawson/video.html>
# Belgium - year-round base
# Princess Elisabeth, Queen Maud Land, -713412+0231200, since 2007
# Brazil - year-round base
# Ferraz, King George Island, -6205+05824, since 1983/4
# Bulgaria - year-round base
# St. Kliment Ohridski, Livingston Island, -623829-0602153, since 1988
# Chile - year-round bases and towns
# Escudero, South Shetland Is, -621157-0585735, since 1994
# Frei Montalva, King George Island, -6214-05848, since 1969-03-07
# O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02
# Prat, -6230-05941
# Villa Las Estrellas (a town), around the Frei base, since 1984-04-09
# These locations have always used Santiago time; use TZ='America/Santiago'.
# China - year-round bases
# Great Wall, King George Island, -6213-05858, since 1985-02-20
# Zhongshan, Larsemann Hills, Prydz Bay, -6922+07623, since 1989-02-26
# France - year-round bases (also see "France & Italy")
#
# From Antoine Leca (1997-01-20):
# Time data are from Nicole Pailleau at the IFRTP
# (French Institute for Polar Research and Technology).
# She confirms that French Southern Territories and Terre Adélie bases
# don't observe daylight saving time, even if Terre Adélie supplies came
# from Tasmania.
#
# French Southern Territories with year-round inhabitants
#
# Alfred Faure, Possession Island, Crozet Islands, -462551+0515152, since 1964;
# sealing & whaling stations operated variously 1802/1911+;
# see Indian/Reunion.
#
# Martin-de-Viviès, Amsterdam Island, -374105+0773155, since 1950
# Port-aux-Français, Kerguelen Islands, -492110+0701303, since 1951;
# whaling & sealing station operated 1908/1914, 1920/1929, and 1951/1956
#
# St Paul Island - near Amsterdam, uninhabited
# fishing stations operated variously 1819/1931
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Kerguelen 0 - zzz 1950 # Port-aux-Français
5:00 - TFT # ISO code TF Time
#
# year-round base in the main continent
# Dumont d'Urville, Île des Pétrels, -6640+14001, since 1956-11
# <http://en.wikipedia.org/wiki/Dumont_d'Urville_Station> (2005-12-05)
#
# Another base at Port-Martin, 50km east, began operation in 1947.
# It was destroyed by fire on 1952-01-14.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/DumontDUrville 0 - zzz 1947
10:00 - PMT 1952 Jan 14 # Port-Martin Time
0 - zzz 1956 Nov
10:00 - DDUT # Dumont-d'Urville Time
# France & Italy - year-round base
# Concordia, -750600+1232000, since 2005
# Germany - year-round base
# Neumayer III, -704080-0081602, since 2009
# India - year-round bases
# Bharati, -692428+0761114, since 2012
# Maitri, -704558+0114356, since 1989
# Italy - year-round base (also see "France & Italy")
# Zuchelli, Terra Nova Bay, -744140+1640647, since 1986
# Japan - year-round bases
# Syowa (also known as Showa), -690022+0393524, since 1957
#
# From Hideyuki Suzuki (1999-02-06):
# In all Japanese stations, +0300 is used as the standard time.
#
# Syowa station, which is the first antarctic station of Japan,
# was established on 1957-01-29. Since Syowa station is still the main
# station of Japan, it's appropriate for the principal location.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Syowa 0 - zzz 1957 Jan 29
3:00 - SYOT # Syowa Time
# See:
# NIPR Antarctic Research Activities (1999-08-17)
# <http://www.nipr.ac.jp/english/ara01.html>
# S Korea - year-round base
# Jang Bogo, Terra Nova Bay, -743700+1641205 since 2014
# King Sejong, King George Island, -6213-05847, since 1988
# New Zealand - claims
# Balleny Islands (never inhabited)
# Scott Island (never inhabited)
#
# year-round base
# Scott Base, Ross Island, since 1957-01.
# See Pacific/Auckland.
# Norway - territories
# Bouvet (never inhabited)
#
# claims
# Peter I Island (never inhabited)
#
# year-round base
# Troll, Queen Maud Land, -720041+0023206, since 2005-02-12
#
# From Paul-Inge Flakstad (2014-03-10):
# I recently had a long dialog about this with the developer of timegenie.com.
# In the absence of specific dates, he decided to choose some likely ones:
# GMT +1 - From March 1 to the last Sunday in March
# GMT +2 - From the last Sunday in March until the last Sunday in October
# GMT +1 - From the last Sunday in October until November 7
# GMT +0 - From November 7 until March 1
# The dates for switching to and from UTC+0 will probably not be absolutely
# correct, but they should be quite close to the actual dates.
#
# From Paul Eggert (2014-03-21):
# The CET-switching Troll rules require zic from tzcode 2014b or later, so as
# suggested by Bengt-Inge Larsson comment them out for now, and approximate
# with only UTC and CEST. Uncomment them when 2014b is more prevalent.
#
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
#Rule Troll 2005 max - Mar 1 1:00u 1:00 CET
Rule Troll 2005 max - Mar lastSun 1:00u 2:00 CEST
#Rule Troll 2005 max - Oct lastSun 1:00u 1:00 CET
#Rule Troll 2004 max - Nov 7 1:00u 0:00 UTC
# Remove the following line when uncommenting the above '#Rule' lines.
Rule Troll 2004 max - Oct lastSun 1:00u 0:00 UTC
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Troll 0 - zzz 2005 Feb 12
0:00 Troll %s
# Poland - year-round base
# Arctowski, King George Island, -620945-0582745, since 1977
# Romania - year-bound base
# Law-Racoviță, Larsemann Hills, -692319+0762251, since 1986
# Russia - year-round bases
# Bellingshausen, King George Island, -621159-0585337, since 1968-02-22
# Mirny, Davis coast, -6633+09301, since 1956-02
# Molodezhnaya, Alasheyev Bay, -6740+04551,
# year-round from 1962-02 to 1999-07-01
# Novolazarevskaya, Queen Maud Land, -7046+01150,
# year-round from 1960/61 to 1992
# Vostok, since 1957-12-16, temporarily closed 1994-02/1994-11
# From Craig Mundell (1994-12-15)
# <http://quest.arc.nasa.gov/antarctica/QA/computers/Directions,Time,ZIP>:
# Vostok, which is one of the Russian stations, is set on the same
# time as Moscow, Russia.
#
# From Lee Hotz (2001-03-08):
# I queried the folks at Columbia who spent the summer at Vostok and this is
# what they had to say about time there:
# "in the US Camp (East Camp) we have been on New Zealand (McMurdo)
# time, which is 12 hours ahead of GMT. The Russian Station Vostok was
# 6 hours behind that (although only 2 miles away, i.e. 6 hours ahead
# of GMT). This is a time zone I think two hours east of Moscow. The
# natural time zone is in between the two: 8 hours ahead of GMT."
#
# From Paul Eggert (2001-05-04):
# This seems to be hopelessly confusing, so I asked Lee Hotz about it
# in person. He said that some Antarctic locations set their local
# time so that noon is the warmest part of the day, and that this
# changes during the year and does not necessarily correspond to mean
# solar noon. So the Vostok time might have been whatever the clocks
# happened to be during their visit. So we still don't really know what time
# it is at Vostok. But we'll guess UTC+6.
#
Zone Antarctica/Vostok 0 - zzz 1957 Dec 16
6:00 - VOST # Vostok time
# S Africa - year-round bases
# Marion Island, -4653+03752
# SANAE IV, Vesleskarvet, Queen Maud Land, -714022-0025026, since 1997
# Ukraine - year-round base
# Vernadsky (formerly Faraday), Galindez Island, -651445-0641526, since 1954
# United Kingdom
#
# British Antarctic Territories (BAT) claims
# South Orkney Islands
# scientific station from 1903
# whaling station at Signy I 1920/1926
# South Shetland Islands
#
# year-round bases
# Bird Island, South Georgia, -5400-03803, since 1983
# Deception Island, -6259-06034, whaling station 1912/1931,
# scientific station 1943/1967,
# previously sealers and a scientific expedition wintered by accident,
# and a garrison was deployed briefly
# Halley, Coates Land, -7535-02604, since 1956-01-06
# Halley is on a moving ice shelf and is periodically relocated
# so that it is never more than 10km from its nominal location.
# Rothera, Adelaide Island, -6734-6808, since 1976-12-01
#
# From Paul Eggert (2002-10-22)
# <http://webexhibits.org/daylightsaving/g.html> says Rothera is -03 all year.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Rothera 0 - zzz 1976 Dec 1
-3:00 - ROTT # Rothera time
# Uruguay - year round base
# Artigas, King George Island, -621104-0585107
# USA - year-round bases
#
# Palmer, Anvers Island, since 1965 (moved 2 miles in 1968)
#
# From Ethan Dicks (1996-10-06):
# It keeps the same time as Punta Arenas, Chile, because, just like us
# and the South Pole, that's the other end of their supply line....
# I verified with someone who was there that since 1980,
# Palmer has followed Chile. Prior to that, before the Falklands War,
# Palmer used to be supplied from Argentina.
#
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Antarctica/Palmer 0 - zzz 1965
-4:00 ArgAQ AR%sT 1969 Oct 5
-3:00 ArgAQ AR%sT 1982 May
-4:00 ChileAQ CL%sT
#
#
# McMurdo Station, Ross Island, since 1955-12
# Amundsen-Scott South Pole Station, continuously occupied since 1956-11-20
#
# From Chris Carrier (1996-06-27):
# Siple, the first commander of the South Pole station,
# stated that he would have liked to have kept GMT at the station,
# but that he found it more convenient to keep GMT+12
# as supplies for the station were coming from McMurdo Sound,
# which was on GMT+12 because New Zealand was on GMT+12 all year
# at that time (1957). (Source: Siple's book 90 Degrees South.)
#
# From Susan Smith
# http://www.cybertours.com/whs/pole10.html
# (1995-11-13 16:24:56 +1300, no longer available):
# We use the same time as McMurdo does.
# And they use the same time as Christchurch, NZ does....
# One last quirk about South Pole time.
# All the electric clocks are usually wrong.
# Something about the generators running at 60.1hertz or something
# makes all of the clocks run fast. So every couple of days,
# we have to go around and set them back 5 minutes or so.
# Maybe if we let them run fast all of the time, we'd get to leave here sooner!!
#
# See 'australasia' for Antarctica/McMurdo.

2791
share/zoneinfo/asia Normal file

File diff suppressed because it is too large Load Diff

1728
share/zoneinfo/australasia Normal file

File diff suppressed because it is too large Load Diff

121
share/zoneinfo/backward Normal file
View File

@ -0,0 +1,121 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# This file provides links between current names for time zones
# and their old names. Many names changed in late 1993.
Link Africa/Asmara Africa/Asmera
Link Africa/Abidjan Africa/Timbuktu
Link America/Argentina/Catamarca America/Argentina/ComodRivadavia
Link America/Adak America/Atka
Link America/Argentina/Buenos_Aires America/Buenos_Aires
Link America/Argentina/Catamarca America/Catamarca
Link America/Atikokan America/Coral_Harbour
Link America/Argentina/Cordoba America/Cordoba
Link America/Tijuana America/Ensenada
Link America/Indiana/Indianapolis America/Fort_Wayne
Link America/Indiana/Indianapolis America/Indianapolis
Link America/Argentina/Jujuy America/Jujuy
Link America/Indiana/Knox America/Knox_IN
Link America/Kentucky/Louisville America/Louisville
Link America/Argentina/Mendoza America/Mendoza
Link America/Rio_Branco America/Porto_Acre
Link America/Argentina/Cordoba America/Rosario
Link America/Denver America/Shiprock
Link America/Port_of_Spain America/Virgin
Link Pacific/Auckland Antarctica/South_Pole
Link Asia/Ashgabat Asia/Ashkhabad
Link Asia/Kolkata Asia/Calcutta
Link Asia/Shanghai Asia/Chongqing
Link Asia/Shanghai Asia/Chungking
Link Asia/Dhaka Asia/Dacca
Link Asia/Shanghai Asia/Harbin
Link Asia/Urumqi Asia/Kashgar
Link Asia/Kathmandu Asia/Katmandu
Link Asia/Macau Asia/Macao
Link Asia/Ho_Chi_Minh Asia/Saigon
Link Asia/Jerusalem Asia/Tel_Aviv
Link Asia/Thimphu Asia/Thimbu
Link Asia/Makassar Asia/Ujung_Pandang
Link Asia/Ulaanbaatar Asia/Ulan_Bator
Link Atlantic/Faroe Atlantic/Faeroe
Link Europe/Oslo Atlantic/Jan_Mayen
Link Australia/Sydney Australia/ACT
Link Australia/Sydney Australia/Canberra
Link Australia/Lord_Howe Australia/LHI
Link Australia/Sydney Australia/NSW
Link Australia/Darwin Australia/North
Link Australia/Brisbane Australia/Queensland
Link Australia/Adelaide Australia/South
Link Australia/Hobart Australia/Tasmania
Link Australia/Melbourne Australia/Victoria
Link Australia/Perth Australia/West
Link Australia/Broken_Hill Australia/Yancowinna
Link America/Rio_Branco Brazil/Acre
Link America/Noronha Brazil/DeNoronha
Link America/Sao_Paulo Brazil/East
Link America/Manaus Brazil/West
Link America/Halifax Canada/Atlantic
Link America/Winnipeg Canada/Central
Link America/Regina Canada/East-Saskatchewan
Link America/Toronto Canada/Eastern
Link America/Edmonton Canada/Mountain
Link America/St_Johns Canada/Newfoundland
Link America/Vancouver Canada/Pacific
Link America/Regina Canada/Saskatchewan
Link America/Whitehorse Canada/Yukon
Link America/Santiago Chile/Continental
Link Pacific/Easter Chile/EasterIsland
Link America/Havana Cuba
Link Africa/Cairo Egypt
Link Europe/Dublin Eire
Link Europe/London Europe/Belfast
Link Europe/Chisinau Europe/Tiraspol
Link Europe/London GB
Link Europe/London GB-Eire
Link Etc/GMT GMT+0
Link Etc/GMT GMT-0
Link Etc/GMT GMT0
Link Etc/GMT Greenwich
Link Asia/Hong_Kong Hongkong
Link Atlantic/Reykjavik Iceland
Link Asia/Tehran Iran
Link Asia/Jerusalem Israel
Link America/Jamaica Jamaica
Link Asia/Tokyo Japan
Link Pacific/Kwajalein Kwajalein
Link Africa/Tripoli Libya
Link America/Tijuana Mexico/BajaNorte
Link America/Mazatlan Mexico/BajaSur
Link America/Mexico_City Mexico/General
Link Pacific/Auckland NZ
Link Pacific/Chatham NZ-CHAT
Link America/Denver Navajo
Link Asia/Shanghai PRC
Link Pacific/Pohnpei Pacific/Ponape
Link Pacific/Pago_Pago Pacific/Samoa
Link Pacific/Chuuk Pacific/Truk
Link Pacific/Chuuk Pacific/Yap
Link Europe/Warsaw Poland
Link Europe/Lisbon Portugal
Link Asia/Taipei ROC
Link Asia/Seoul ROK
Link Asia/Singapore Singapore
Link Europe/Istanbul Turkey
Link Etc/UCT UCT
Link America/Anchorage US/Alaska
Link America/Adak US/Aleutian
Link America/Phoenix US/Arizona
Link America/Chicago US/Central
Link America/Indiana/Indianapolis US/East-Indiana
Link America/New_York US/Eastern
Link Pacific/Honolulu US/Hawaii
Link America/Indiana/Knox US/Indiana-Starke
Link America/Detroit US/Michigan
Link America/Denver US/Mountain
Link America/Los_Angeles US/Pacific
Link Pacific/Pago_Pago US/Samoa
Link Etc/UTC UTC
Link Etc/UTC Universal
Link Europe/Moscow W-SU
Link Etc/UTC Zulu

80
share/zoneinfo/etcetera Normal file
View File

@ -0,0 +1,80 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# These entries are mostly present for historical reasons, so that
# people in areas not otherwise covered by the tz files could "zic -l"
# to a time zone that was right for their area. These days, the
# tz files cover almost all the inhabited world, and the only practical
# need now for the entries that are not on UTC are for ships at sea
# that cannot use POSIX TZ settings.
Zone Etc/GMT 0 - GMT
Zone Etc/UTC 0 - UTC
Zone Etc/UCT 0 - UCT
# The following link uses older naming conventions,
# but it belongs here, not in the file 'backward',
# as functions like gmtime load the "GMT" file to handle leap seconds properly.
# We want this to work even on installations that omit the other older names.
Link Etc/GMT GMT
Link Etc/UTC Etc/Universal
Link Etc/UTC Etc/Zulu
Link Etc/GMT Etc/Greenwich
Link Etc/GMT Etc/GMT-0
Link Etc/GMT Etc/GMT+0
Link Etc/GMT Etc/GMT0
# We use POSIX-style signs in the Zone names and the output abbreviations,
# even though this is the opposite of what many people expect.
# POSIX has positive signs west of Greenwich, but many people expect
# positive signs east of Greenwich. For example, TZ='Etc/GMT+4' uses
# the abbreviation "GMT+4" and corresponds to 4 hours behind UT
# (i.e. west of Greenwich) even though many people would expect it to
# mean 4 hours ahead of UT (i.e. east of Greenwich).
#
# In the draft 5 of POSIX 1003.1-200x, the angle bracket notation allows for
# TZ='<GMT-4>+4'; if you want time zone abbreviations conforming to
# ISO 8601 you can use TZ='<-0400>+4'. Thus the commonly-expected
# offset is kept within the angle bracket (and is used for display)
# while the POSIX sign is kept outside the angle bracket (and is used
# for calculation).
#
# Do not use a TZ setting like TZ='GMT+4', which is four hours behind
# GMT but uses the completely misleading abbreviation "GMT".
# Earlier incarnations of this package were not POSIX-compliant,
# and had lines such as
# Zone GMT-12 -12 - GMT-1200
# We did not want things to change quietly if someone accustomed to the old
# way does a
# zic -l GMT-12
# so we moved the names into the Etc subdirectory.
Zone Etc/GMT-14 14 - GMT-14 # 14 hours ahead of GMT
Zone Etc/GMT-13 13 - GMT-13
Zone Etc/GMT-12 12 - GMT-12
Zone Etc/GMT-11 11 - GMT-11
Zone Etc/GMT-10 10 - GMT-10
Zone Etc/GMT-9 9 - GMT-9
Zone Etc/GMT-8 8 - GMT-8
Zone Etc/GMT-7 7 - GMT-7
Zone Etc/GMT-6 6 - GMT-6
Zone Etc/GMT-5 5 - GMT-5
Zone Etc/GMT-4 4 - GMT-4
Zone Etc/GMT-3 3 - GMT-3
Zone Etc/GMT-2 2 - GMT-2
Zone Etc/GMT-1 1 - GMT-1
Zone Etc/GMT+1 -1 - GMT+1
Zone Etc/GMT+2 -2 - GMT+2
Zone Etc/GMT+3 -3 - GMT+3
Zone Etc/GMT+4 -4 - GMT+4
Zone Etc/GMT+5 -5 - GMT+5
Zone Etc/GMT+6 -6 - GMT+6
Zone Etc/GMT+7 -7 - GMT+7
Zone Etc/GMT+8 -8 - GMT+8
Zone Etc/GMT+9 -9 - GMT+9
Zone Etc/GMT+10 -10 - GMT+10
Zone Etc/GMT+11 -11 - GMT+11
Zone Etc/GMT+12 -12 - GMT+12

3340
share/zoneinfo/europe Normal file

File diff suppressed because it is too large Load Diff

9
share/zoneinfo/factory Normal file
View File

@ -0,0 +1,9 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# For companies who don't want to put time zone specification in
# their installation procedures. When users run date, they'll get the message.
# Also useful for the "comp.sources" version.
# Zone NAME GMTOFF RULES FORMAT
Zone Factory 0 - "Local time zone must be set--see zic manual page"

275
share/zoneinfo/iso3166.tab Normal file
View File

@ -0,0 +1,275 @@
# ISO 3166 alpha-2 country codes
#
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2014-07-18):
# This file contains a table of two-letter country codes. Columns are
# separated by a single tab. Lines beginning with '#' are comments.
# Although all text currently uses ASCII encoding, this is planned to
# change to UTF-8 soon. The columns of the table are as follows:
#
# 1. ISO 3166-1 alpha-2 country code, current as of
# ISO 3166-1 Newsletter VI-16 (2013-07-11). See: Updates on ISO 3166
# http://www.iso.org/iso/home/standards/country_codes/updates_on_iso_3166.htm
# 2. The usual English name for the coded region,
# chosen so that alphabetic sorting of subsets produces helpful lists.
# This is not the same as the English name in the ISO 3166 tables.
#
# The table is sorted by country code.
#
# This table is intended as an aid for users, to help them select time
# zone data appropriate for their practical needs. It is not intended
# to take or endorse any position on legal or territorial claims.
#
#country-
#code name of country, territory, area, or subdivision
AD Andorra
AE United Arab Emirates
AF Afghanistan
AG Antigua & Barbuda
AI Anguilla
AL Albania
AM Armenia
AO Angola
AQ Antarctica
AR Argentina
AS Samoa (American)
AT Austria
AU Australia
AW Aruba
AX Aaland Islands
AZ Azerbaijan
BA Bosnia & Herzegovina
BB Barbados
BD Bangladesh
BE Belgium
BF Burkina Faso
BG Bulgaria
BH Bahrain
BI Burundi
BJ Benin
BL St Barthelemy
BM Bermuda
BN Brunei
BO Bolivia
BQ Caribbean Netherlands
BR Brazil
BS Bahamas
BT Bhutan
BV Bouvet Island
BW Botswana
BY Belarus
BZ Belize
CA Canada
CC Cocos (Keeling) Islands
CD Congo (Dem. Rep.)
CF Central African Rep.
CG Congo (Rep.)
CH Switzerland
CI Cote d'Ivoire
CK Cook Islands
CL Chile
CM Cameroon
CN China
CO Colombia
CR Costa Rica
CU Cuba
CV Cape Verde
CW Curacao
CX Christmas Island
CY Cyprus
CZ Czech Republic
DE Germany
DJ Djibouti
DK Denmark
DM Dominica
DO Dominican Republic
DZ Algeria
EC Ecuador
EE Estonia
EG Egypt
EH Western Sahara
ER Eritrea
ES Spain
ET Ethiopia
FI Finland
FJ Fiji
FK Falkland Islands
FM Micronesia
FO Faroe Islands
FR France
GA Gabon
GB Britain (UK)
GD Grenada
GE Georgia
GF French Guiana
GG Guernsey
GH Ghana
GI Gibraltar
GL Greenland
GM Gambia
GN Guinea
GP Guadeloupe
GQ Equatorial Guinea
GR Greece
GS South Georgia & the South Sandwich Islands
GT Guatemala
GU Guam
GW Guinea-Bissau
GY Guyana
HK Hong Kong
HM Heard Island & McDonald Islands
HN Honduras
HR Croatia
HT Haiti
HU Hungary
ID Indonesia
IE Ireland
IL Israel
IM Isle of Man
IN India
IO British Indian Ocean Territory
IQ Iraq
IR Iran
IS Iceland
IT Italy
JE Jersey
JM Jamaica
JO Jordan
JP Japan
KE Kenya
KG Kyrgyzstan
KH Cambodia
KI Kiribati
KM Comoros
KN St Kitts & Nevis
KP Korea (North)
KR Korea (South)
KW Kuwait
KY Cayman Islands
KZ Kazakhstan
LA Laos
LB Lebanon
LC St Lucia
LI Liechtenstein
LK Sri Lanka
LR Liberia
LS Lesotho
LT Lithuania
LU Luxembourg
LV Latvia
LY Libya
MA Morocco
MC Monaco
MD Moldova
ME Montenegro
MF St Martin (French part)
MG Madagascar
MH Marshall Islands
MK Macedonia
ML Mali
MM Myanmar (Burma)
MN Mongolia
MO Macau
MP Northern Mariana Islands
MQ Martinique
MR Mauritania
MS Montserrat
MT Malta
MU Mauritius
MV Maldives
MW Malawi
MX Mexico
MY Malaysia
MZ Mozambique
NA Namibia
NC New Caledonia
NE Niger
NF Norfolk Island
NG Nigeria
NI Nicaragua
NL Netherlands
NO Norway
NP Nepal
NR Nauru
NU Niue
NZ New Zealand
OM Oman
PA Panama
PE Peru
PF French Polynesia
PG Papua New Guinea
PH Philippines
PK Pakistan
PL Poland
PM St Pierre & Miquelon
PN Pitcairn
PR Puerto Rico
PS Palestine
PT Portugal
PW Palau
PY Paraguay
QA Qatar
RE Reunion
RO Romania
RS Serbia
RU Russia
RW Rwanda
SA Saudi Arabia
SB Solomon Islands
SC Seychelles
SD Sudan
SE Sweden
SG Singapore
SH St Helena
SI Slovenia
SJ Svalbard & Jan Mayen
SK Slovakia
SL Sierra Leone
SM San Marino
SN Senegal
SO Somalia
SR Suriname
SS South Sudan
ST Sao Tome & Principe
SV El Salvador
SX St Maarten (Dutch part)
SY Syria
SZ Swaziland
TC Turks & Caicos Is
TD Chad
TF French Southern & Antarctic Lands
TG Togo
TH Thailand
TJ Tajikistan
TK Tokelau
TL East Timor
TM Turkmenistan
TN Tunisia
TO Tonga
TR Turkey
TT Trinidad & Tobago
TV Tuvalu
TW Taiwan
TZ Tanzania
UA Ukraine
UG Uganda
UM US minor outlying islands
US United States
UY Uruguay
UZ Uzbekistan
VA Vatican City
VC St Vincent
VE Venezuela
VG Virgin Islands (UK)
VI Virgin Islands (US)
VN Vietnam
VU Vanuatu
WF Wallis & Futuna
WS Samoa (western)
YE Yemen
YT Mayotte
ZA South Africa
ZM Zambia
ZW Zimbabwe

View File

@ -0,0 +1,239 @@
#
# In the following text, the symbol '#' introduces
# a comment, which continues from that symbol until
# the end of the line. A plain comment line has a
# whitespace character following the comment indicator.
# There are also special comment lines defined below.
# A special comment will always have a non-whitespace
# character in column 2.
#
# A blank line should be ignored.
#
# The following table shows the corrections that must
# be applied to compute International Atomic Time (TAI)
# from the Coordinated Universal Time (UTC) values that
# are transmitted by almost all time services.
#
# The first column shows an epoch as a number of seconds
# since 1 January 1900, 00:00:00 (1900.0 is also used to
# indicate the same epoch.) Both of these time stamp formats
# ignore the complexities of the time scales that were
# used before the current definition of UTC at the start
# of 1972. (See note 3 below.)
# The second column shows the number of seconds that
# must be added to UTC to compute TAI for any timestamp
# at or after that epoch. The value on each line is
# valid from the indicated initial instant until the
# epoch given on the next one or indefinitely into the
# future if there is no next line.
# (The comment on each line shows the representation of
# the corresponding initial epoch in the usual
# day-month-year format. The epoch always begins at
# 00:00:00 UTC on the indicated day. See Note 5 below.)
#
# Important notes:
#
# 1. Coordinated Universal Time (UTC) is often referred to
# as Greenwich Mean Time (GMT). The GMT time scale is no
# longer used, and the use of GMT to designate UTC is
# discouraged.
#
# 2. The UTC time scale is realized by many national
# laboratories and timing centers. Each laboratory
# identifies its realization with its name: Thus
# UTC(NIST), UTC(USNO), etc. The differences among
# these different realizations are typically on the
# order of a few nanoseconds (i.e., 0.000 000 00x s)
# and can be ignored for many purposes. These differences
# are tabulated in Circular T, which is published monthly
# by the International Bureau of Weights and Measures
# (BIPM). See www.bipm.fr for more information.
#
# 3. The current definition of the relationship between UTC
# and TAI dates from 1 January 1972. A number of different
# time scales were in use before that epoch, and it can be
# quite difficult to compute precise timestamps and time
# intervals in those "prehistoric" days. For more information,
# consult:
#
# The Explanatory Supplement to the Astronomical
# Ephemeris.
# or
# Terry Quinn, "The BIPM and the Accurate Measurement
# of Time," Proc. of the IEEE, Vol. 79, pp. 894-905,
# July, 1991.
#
# 4. The decision to insert a leap second into UTC is currently
# the responsibility of the International Earth Rotation and
# Reference Systems Service. (The name was changed from the
# International Earth Rotation Service, but the acronym IERS
# is still used.)
#
# Leap seconds are announced by the IERS in its Bulletin C.
#
# See www.iers.org for more details.
#
# Every national laboratory and timing center uses the
# data from the BIPM and the IERS to construct UTC(lab),
# their local realization of UTC.
#
# Although the definition also includes the possibility
# of dropping seconds ("negative" leap seconds), this has
# never been done and is unlikely to be necessary in the
# foreseeable future.
#
# 5. If your system keeps time as the number of seconds since
# some epoch (e.g., NTP timestamps), then the algorithm for
# assigning a UTC time stamp to an event that happens during a positive
# leap second is not well defined. The official name of that leap
# second is 23:59:60, but there is no way of representing that time
# in these systems.
# Many systems of this type effectively stop the system clock for
# one second during the leap second and use a time that is equivalent
# to 23:59:59 UTC twice. For these systems, the corresponding TAI
# timestamp would be obtained by advancing to the next entry in the
# following table when the time equivalent to 23:59:59 UTC
# is used for the second time. Thus the leap second which
# occurred on 30 June 1972 at 23:59:59 UTC would have TAI
# timestamps computed as follows:
#
# ...
# 30 June 1972 23:59:59 (2287785599, first time): TAI= UTC + 10 seconds
# 30 June 1972 23:59:60 (2287785599,second time): TAI= UTC + 11 seconds
# 1 July 1972 00:00:00 (2287785600) TAI= UTC + 11 seconds
# ...
#
# If your system realizes the leap second by repeating 00:00:00 UTC twice
# (this is possible but not usual), then the advance to the next entry
# in the table must occur the second time that a time equivalent to
# 00:00:00 UTC is used. Thus, using the same example as above:
#
# ...
# 30 June 1972 23:59:59 (2287785599): TAI= UTC + 10 seconds
# 30 June 1972 23:59:60 (2287785600, first time): TAI= UTC + 10 seconds
# 1 July 1972 00:00:00 (2287785600,second time): TAI= UTC + 11 seconds
# ...
#
# in both cases the use of timestamps based on TAI produces a smooth
# time scale with no discontinuity in the time interval. However,
# although the long-term behavior of the time scale is correct in both
# methods, the second method is technically not correct because it adds
# the extra second to the wrong day.
#
# This complexity would not be needed for negative leap seconds (if they
# are ever used). The UTC time would skip 23:59:59 and advance from
# 23:59:58 to 00:00:00 in that case. The TAI offset would decrease by
# 1 second at the same instant. This is a much easier situation to deal
# with, since the difficulty of unambiguously representing the epoch
# during the leap second does not arise.
#
# Questions or comments to:
# Judah Levine
# Time and Frequency Division
# NIST
# Boulder, Colorado
# Judah.Levine@nist.gov
#
# Last Update of leap second values: 11 January 2012
#
# The following line shows this last update date in NTP timestamp
# format. This is the date on which the most recent change to
# the leap second data was added to the file. This line can
# be identified by the unique pair of characters in the first two
# columns as shown below.
#
#$ 3535228800
#
# The NTP timestamps are in units of seconds since the NTP epoch,
# which is 1 January 1900, 00:00:00. The Modified Julian Day number
# corresponding to the NTP time stamp, X, can be computed as
#
# X/86400 + 15020
#
# where the first term converts seconds to days and the second
# term adds the MJD corresponding to the time origin defined above.
# The integer portion of the result is the integer MJD for that
# day, and any remainder is the time of day, expressed as the
# fraction of the day since 0 hours UTC. The conversion from day
# fraction to seconds or to hours, minutes, and seconds may involve
# rounding or truncation, depending on the method used in the
# computation.
#
# The data in this file will be updated periodically as new leap
# seconds are announced. In addition to being entered on the line
# above, the update time (in NTP format) will be added to the basic
# file name leap-seconds to form the name leap-seconds.<NTP TIME>.
# In addition, the generic name leap-seconds.list will always point to
# the most recent version of the file.
#
# This update procedure will be performed only when a new leap second
# is announced.
#
# The following entry specifies the expiration date of the data
# in this file in units of seconds since the origin at the instant
# 1 January 1900, 00:00:00. This expiration date will be changed
# at least twice per year whether or not a new leap second is
# announced. These semi-annual changes will be made no later
# than 1 June and 1 December of each year to indicate what
# action (if any) is to be taken on 30 June and 31 December,
# respectively. (These are the customary effective dates for new
# leap seconds.) This expiration date will be identified by a
# unique pair of characters in columns 1 and 2 as shown below.
# In the unlikely event that a leap second is announced with an
# effective date other than 30 June or 31 December, then this
# file will be edited to include that leap second as soon as it is
# announced or at least one month before the effective date
# (whichever is later).
# If an announcement by the IERS specifies that no leap second is
# scheduled, then only the expiration date of the file will
# be advanced to show that the information in the file is still
# current -- the update time stamp, the data and the name of the file
# will not change.
#
# Updated through IERS Bulletin C48
# File expires on: 28 June 2015
#
#@ 3644438400
#
2272060800 10 # 1 Jan 1972
2287785600 11 # 1 Jul 1972
2303683200 12 # 1 Jan 1973
2335219200 13 # 1 Jan 1974
2366755200 14 # 1 Jan 1975
2398291200 15 # 1 Jan 1976
2429913600 16 # 1 Jan 1977
2461449600 17 # 1 Jan 1978
2492985600 18 # 1 Jan 1979
2524521600 19 # 1 Jan 1980
2571782400 20 # 1 Jul 1981
2603318400 21 # 1 Jul 1982
2634854400 22 # 1 Jul 1983
2698012800 23 # 1 Jul 1985
2776982400 24 # 1 Jan 1988
2840140800 25 # 1 Jan 1990
2871676800 26 # 1 Jan 1991
2918937600 27 # 1 Jul 1992
2950473600 28 # 1 Jul 1993
2982009600 29 # 1 Jul 1994
3029443200 30 # 1 Jan 1996
3076704000 31 # 1 Jul 1997
3124137600 32 # 1 Jan 1999
3345062400 33 # 1 Jan 2006
3439756800 34 # 1 Jan 2009
3550089600 35 # 1 Jul 2012
#
# the following special comment contains the
# hash value of the data in this file computed
# use the secure hash algorithm as specified
# by FIPS 180-1. See the files in ~/pub/sha for
# the details of how this hash value is
# computed. Note that the hash computation
# ignores comments and whitespace characters
# in data lines. It includes the NTP values
# of both the last modification time and the
# expiration time of the file, but not the
# white space on those lines.
# the hash line is also ignored in the
# computation.
#
#h a4862ccd c6f43c6 964f3604 85944a26 b5cfad4e

View File

@ -0,0 +1,56 @@
# Allowance for leapseconds added to each timezone file.
# This file is in the public domain.
# This file is generated automatically from the data in the public-domain
# leap-seconds.list file available from most NIST time servers.
# If the URL <ftp://time.nist.gov/pub/leap-seconds.list> does not work,
# you should be able to pick up leap-seconds.list from a secondary NIST server.
# For more about leap-seconds.list, please see
# The NTP Timescale and Leap Seconds
# <http://www.eecis.udel.edu/~mills/leap.html>.
# The International Earth Rotation Service periodically uses leap seconds
# to keep UTC to within 0.9 s of UT1
# (which measures the true angular orientation of the earth in space); see
# Terry J Quinn, The BIPM and the accurate measure of time,
# Proc IEEE 79, 7 (July 1991), 894-905 <http://dx.doi.org/10.1109/5.84965>.
# There were no leap seconds before 1972, because the official mechanism
# accounting for the discrepancy between atomic time and the earth's rotation
# did not exist until the early 1970s.
# The correction (+ or -) is made at the given time, so lines
# will typically look like:
# Leap YEAR MON DAY 23:59:60 + R/S
# or
# Leap YEAR MON DAY 23:59:59 - R/S
# If the leapsecond is Rolling (R) the given time is local time.
# If the leapsecond is Stationary (S) the given time is UTC.
# Leap YEAR MONTH DAY HH:MM:SS CORR R/S
Leap 1972 Jun 30 23:59:60 + S
Leap 1972 Dec 31 23:59:60 + S
Leap 1973 Dec 31 23:59:60 + S
Leap 1974 Dec 31 23:59:60 + S
Leap 1975 Dec 31 23:59:60 + S
Leap 1976 Dec 31 23:59:60 + S
Leap 1977 Dec 31 23:59:60 + S
Leap 1978 Dec 31 23:59:60 + S
Leap 1979 Dec 31 23:59:60 + S
Leap 1981 Jun 30 23:59:60 + S
Leap 1982 Jun 30 23:59:60 + S
Leap 1983 Jun 30 23:59:60 + S
Leap 1985 Jun 30 23:59:60 + S
Leap 1987 Dec 31 23:59:60 + S
Leap 1989 Dec 31 23:59:60 + S
Leap 1990 Dec 31 23:59:60 + S
Leap 1992 Jun 30 23:59:60 + S
Leap 1993 Jun 30 23:59:60 + S
Leap 1994 Jun 30 23:59:60 + S
Leap 1995 Dec 31 23:59:60 + S
Leap 1997 Jun 30 23:59:60 + S
Leap 1998 Dec 31 23:59:60 + S
Leap 2005 Dec 31 23:59:60 + S
Leap 2008 Dec 31 23:59:60 + S
Leap 2012 Jun 30 23:59:60 + S

View File

@ -0,0 +1,66 @@
# Generate the 'leapseconds' file from 'leap-seconds.list'.
# This file is in the public domain.
BEGIN {
print "# Allowance for leapseconds added to each timezone file."
print ""
print "# This file is in the public domain."
print ""
print "# This file is generated automatically from the data in the public-domain"
print "# leap-seconds.list file available from most NIST time servers."
print "# If the URL <ftp://time.nist.gov/pub/leap-seconds.list> does not work,"
print "# you should be able to pick up leap-seconds.list from a secondary NIST server."
print "# For more about leap-seconds.list, please see"
print "# The NTP Timescale and Leap Seconds"
print "# <http://www.eecis.udel.edu/~mills/leap.html>."
print ""
print "# The International Earth Rotation Service periodically uses leap seconds"
print "# to keep UTC to within 0.9 s of UT1"
print "# (which measures the true angular orientation of the earth in space); see"
print "# Terry J Quinn, The BIPM and the accurate measure of time,"
print "# Proc IEEE 79, 7 (July 1991), 894-905 <http://dx.doi.org/10.1109/5.84965>."
print "# There were no leap seconds before 1972, because the official mechanism"
print "# accounting for the discrepancy between atomic time and the earth's rotation"
print "# did not exist until the early 1970s."
print ""
print "# The correction (+ or -) is made at the given time, so lines"
print "# will typically look like:"
print "# Leap YEAR MON DAY 23:59:60 + R/S"
print "# or"
print "# Leap YEAR MON DAY 23:59:59 - R/S"
print ""
print "# If the leapsecond is Rolling (R) the given time is local time."
print "# If the leapsecond is Stationary (S) the given time is UTC."
print ""
print "# Leap YEAR MONTH DAY HH:MM:SS CORR R/S"
}
/^ *$/ { next }
/^#/ { next }
{
NTP_timestamp = $1
TAI_minus_UTC = $2
hash_mark = $3
one = $4
month = $5
year = $6
if (old_TAI_minus_UTC) {
if (old_TAI_minus_UTC < TAI_minus_UTC) {
sign = "23:59:60\t+"
} else {
sign = "23:59:59\t-"
}
if (month == "Jan") {
year--;
month = "Dec";
day = 31
} else if (month == "Jul") {
month = "Jun";
day = 30
}
printf "Leap\t%s\t%s\t%s\t%s\tS\n", year, month, day, sign
}
old_TAI_minus_UTC = TAI_minus_UTC
}

3148
share/zoneinfo/northamerica Normal file

File diff suppressed because it is too large Load Diff

27
share/zoneinfo/pacificnew Normal file
View File

@ -0,0 +1,27 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# From Arthur David Olson (1989-04-05):
# On 1989-04-05, the U. S. House of Representatives passed (238-154) a bill
# establishing "Pacific Presidential Election Time"; it was not acted on
# by the Senate or signed into law by the President.
# You might want to change the "PE" (Presidential Election) below to
# "Q" (Quadrennial) to maintain three-character zone abbreviations.
# If you're really conservative, you might want to change it to "D".
# Avoid "L" (Leap Year), which won't be true in 2100.
# If Presidential Election Time is ever established, replace "XXXX" below
# with the year the law takes effect and uncomment the "##" lines.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
## Rule Twilite XXXX max - Apr Sun>=1 2:00 1:00 D
## Rule Twilite XXXX max uspres Oct lastSun 2:00 1:00 PE
## Rule Twilite XXXX max uspres Nov Sun>=7 2:00 0 S
## Rule Twilite XXXX max nonpres Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
## Zone America/Los_Angeles-PET -8:00 US P%sT XXXX
## -8:00 Twilite P%sT
# For now...
Link America/Los_Angeles US/Pacific-New ##

390
share/zoneinfo/solar87 Normal file
View File

@ -0,0 +1,390 @@
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# So much for footnotes about Saudi Arabia.
# Apparent noon times below are for Riyadh; your mileage will vary.
# Times were computed using formulas in the U.S. Naval Observatory's
# Almanac for Computers 1987; the formulas "will give EqT to an accuracy of
# [plus or minus two] seconds during the current year."
#
# Rounding to the nearest five seconds results in fewer than
# 256 different "time types"--a limit that's faced because time types are
# stored on disk as unsigned chars.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule sol87 1987 only - Jan 1 12:03:20s -0:03:20 -
Rule sol87 1987 only - Jan 2 12:03:50s -0:03:50 -
Rule sol87 1987 only - Jan 3 12:04:15s -0:04:15 -
Rule sol87 1987 only - Jan 4 12:04:45s -0:04:45 -
Rule sol87 1987 only - Jan 5 12:05:10s -0:05:10 -
Rule sol87 1987 only - Jan 6 12:05:40s -0:05:40 -
Rule sol87 1987 only - Jan 7 12:06:05s -0:06:05 -
Rule sol87 1987 only - Jan 8 12:06:30s -0:06:30 -
Rule sol87 1987 only - Jan 9 12:06:55s -0:06:55 -
Rule sol87 1987 only - Jan 10 12:07:20s -0:07:20 -
Rule sol87 1987 only - Jan 11 12:07:45s -0:07:45 -
Rule sol87 1987 only - Jan 12 12:08:10s -0:08:10 -
Rule sol87 1987 only - Jan 13 12:08:30s -0:08:30 -
Rule sol87 1987 only - Jan 14 12:08:55s -0:08:55 -
Rule sol87 1987 only - Jan 15 12:09:15s -0:09:15 -
Rule sol87 1987 only - Jan 16 12:09:35s -0:09:35 -
Rule sol87 1987 only - Jan 17 12:09:55s -0:09:55 -
Rule sol87 1987 only - Jan 18 12:10:15s -0:10:15 -
Rule sol87 1987 only - Jan 19 12:10:35s -0:10:35 -
Rule sol87 1987 only - Jan 20 12:10:55s -0:10:55 -
Rule sol87 1987 only - Jan 21 12:11:10s -0:11:10 -
Rule sol87 1987 only - Jan 22 12:11:30s -0:11:30 -
Rule sol87 1987 only - Jan 23 12:11:45s -0:11:45 -
Rule sol87 1987 only - Jan 24 12:12:00s -0:12:00 -
Rule sol87 1987 only - Jan 25 12:12:15s -0:12:15 -
Rule sol87 1987 only - Jan 26 12:12:30s -0:12:30 -
Rule sol87 1987 only - Jan 27 12:12:40s -0:12:40 -
Rule sol87 1987 only - Jan 28 12:12:55s -0:12:55 -
Rule sol87 1987 only - Jan 29 12:13:05s -0:13:05 -
Rule sol87 1987 only - Jan 30 12:13:15s -0:13:15 -
Rule sol87 1987 only - Jan 31 12:13:25s -0:13:25 -
Rule sol87 1987 only - Feb 1 12:13:35s -0:13:35 -
Rule sol87 1987 only - Feb 2 12:13:40s -0:13:40 -
Rule sol87 1987 only - Feb 3 12:13:50s -0:13:50 -
Rule sol87 1987 only - Feb 4 12:13:55s -0:13:55 -
Rule sol87 1987 only - Feb 5 12:14:00s -0:14:00 -
Rule sol87 1987 only - Feb 6 12:14:05s -0:14:05 -
Rule sol87 1987 only - Feb 7 12:14:10s -0:14:10 -
Rule sol87 1987 only - Feb 8 12:14:10s -0:14:10 -
Rule sol87 1987 only - Feb 9 12:14:15s -0:14:15 -
Rule sol87 1987 only - Feb 10 12:14:15s -0:14:15 -
Rule sol87 1987 only - Feb 11 12:14:15s -0:14:15 -
Rule sol87 1987 only - Feb 12 12:14:15s -0:14:15 -
Rule sol87 1987 only - Feb 13 12:14:15s -0:14:15 -
Rule sol87 1987 only - Feb 14 12:14:15s -0:14:15 -
Rule sol87 1987 only - Feb 15 12:14:10s -0:14:10 -
Rule sol87 1987 only - Feb 16 12:14:10s -0:14:10 -
Rule sol87 1987 only - Feb 17 12:14:05s -0:14:05 -
Rule sol87 1987 only - Feb 18 12:14:00s -0:14:00 -
Rule sol87 1987 only - Feb 19 12:13:55s -0:13:55 -
Rule sol87 1987 only - Feb 20 12:13:50s -0:13:50 -
Rule sol87 1987 only - Feb 21 12:13:45s -0:13:45 -
Rule sol87 1987 only - Feb 22 12:13:35s -0:13:35 -
Rule sol87 1987 only - Feb 23 12:13:30s -0:13:30 -
Rule sol87 1987 only - Feb 24 12:13:20s -0:13:20 -
Rule sol87 1987 only - Feb 25 12:13:10s -0:13:10 -
Rule sol87 1987 only - Feb 26 12:13:00s -0:13:00 -
Rule sol87 1987 only - Feb 27 12:12:50s -0:12:50 -
Rule sol87 1987 only - Feb 28 12:12:40s -0:12:40 -
Rule sol87 1987 only - Mar 1 12:12:30s -0:12:30 -
Rule sol87 1987 only - Mar 2 12:12:20s -0:12:20 -
Rule sol87 1987 only - Mar 3 12:12:05s -0:12:05 -
Rule sol87 1987 only - Mar 4 12:11:55s -0:11:55 -
Rule sol87 1987 only - Mar 5 12:11:40s -0:11:40 -
Rule sol87 1987 only - Mar 6 12:11:25s -0:11:25 -
Rule sol87 1987 only - Mar 7 12:11:15s -0:11:15 -
Rule sol87 1987 only - Mar 8 12:11:00s -0:11:00 -
Rule sol87 1987 only - Mar 9 12:10:45s -0:10:45 -
Rule sol87 1987 only - Mar 10 12:10:30s -0:10:30 -
Rule sol87 1987 only - Mar 11 12:10:15s -0:10:15 -
Rule sol87 1987 only - Mar 12 12:09:55s -0:09:55 -
Rule sol87 1987 only - Mar 13 12:09:40s -0:09:40 -
Rule sol87 1987 only - Mar 14 12:09:25s -0:09:25 -
Rule sol87 1987 only - Mar 15 12:09:10s -0:09:10 -
Rule sol87 1987 only - Mar 16 12:08:50s -0:08:50 -
Rule sol87 1987 only - Mar 17 12:08:35s -0:08:35 -
Rule sol87 1987 only - Mar 18 12:08:15s -0:08:15 -
Rule sol87 1987 only - Mar 19 12:08:00s -0:08:00 -
Rule sol87 1987 only - Mar 20 12:07:40s -0:07:40 -
Rule sol87 1987 only - Mar 21 12:07:25s -0:07:25 -
Rule sol87 1987 only - Mar 22 12:07:05s -0:07:05 -
Rule sol87 1987 only - Mar 23 12:06:50s -0:06:50 -
Rule sol87 1987 only - Mar 24 12:06:30s -0:06:30 -
Rule sol87 1987 only - Mar 25 12:06:10s -0:06:10 -
Rule sol87 1987 only - Mar 26 12:05:55s -0:05:55 -
Rule sol87 1987 only - Mar 27 12:05:35s -0:05:35 -
Rule sol87 1987 only - Mar 28 12:05:15s -0:05:15 -
Rule sol87 1987 only - Mar 29 12:05:00s -0:05:00 -
Rule sol87 1987 only - Mar 30 12:04:40s -0:04:40 -
Rule sol87 1987 only - Mar 31 12:04:25s -0:04:25 -
Rule sol87 1987 only - Apr 1 12:04:05s -0:04:05 -
Rule sol87 1987 only - Apr 2 12:03:45s -0:03:45 -
Rule sol87 1987 only - Apr 3 12:03:30s -0:03:30 -
Rule sol87 1987 only - Apr 4 12:03:10s -0:03:10 -
Rule sol87 1987 only - Apr 5 12:02:55s -0:02:55 -
Rule sol87 1987 only - Apr 6 12:02:35s -0:02:35 -
Rule sol87 1987 only - Apr 7 12:02:20s -0:02:20 -
Rule sol87 1987 only - Apr 8 12:02:05s -0:02:05 -
Rule sol87 1987 only - Apr 9 12:01:45s -0:01:45 -
Rule sol87 1987 only - Apr 10 12:01:30s -0:01:30 -
Rule sol87 1987 only - Apr 11 12:01:15s -0:01:15 -
Rule sol87 1987 only - Apr 12 12:00:55s -0:00:55 -
Rule sol87 1987 only - Apr 13 12:00:40s -0:00:40 -
Rule sol87 1987 only - Apr 14 12:00:25s -0:00:25 -
Rule sol87 1987 only - Apr 15 12:00:10s -0:00:10 -
Rule sol87 1987 only - Apr 16 11:59:55s 0:00:05 -
Rule sol87 1987 only - Apr 17 11:59:45s 0:00:15 -
Rule sol87 1987 only - Apr 18 11:59:30s 0:00:30 -
Rule sol87 1987 only - Apr 19 11:59:15s 0:00:45 -
Rule sol87 1987 only - Apr 20 11:59:05s 0:00:55 -
Rule sol87 1987 only - Apr 21 11:58:50s 0:01:10 -
Rule sol87 1987 only - Apr 22 11:58:40s 0:01:20 -
Rule sol87 1987 only - Apr 23 11:58:25s 0:01:35 -
Rule sol87 1987 only - Apr 24 11:58:15s 0:01:45 -
Rule sol87 1987 only - Apr 25 11:58:05s 0:01:55 -
Rule sol87 1987 only - Apr 26 11:57:55s 0:02:05 -
Rule sol87 1987 only - Apr 27 11:57:45s 0:02:15 -
Rule sol87 1987 only - Apr 28 11:57:35s 0:02:25 -
Rule sol87 1987 only - Apr 29 11:57:25s 0:02:35 -
Rule sol87 1987 only - Apr 30 11:57:15s 0:02:45 -
Rule sol87 1987 only - May 1 11:57:10s 0:02:50 -
Rule sol87 1987 only - May 2 11:57:00s 0:03:00 -
Rule sol87 1987 only - May 3 11:56:55s 0:03:05 -
Rule sol87 1987 only - May 4 11:56:50s 0:03:10 -
Rule sol87 1987 only - May 5 11:56:45s 0:03:15 -
Rule sol87 1987 only - May 6 11:56:40s 0:03:20 -
Rule sol87 1987 only - May 7 11:56:35s 0:03:25 -
Rule sol87 1987 only - May 8 11:56:30s 0:03:30 -
Rule sol87 1987 only - May 9 11:56:25s 0:03:35 -
Rule sol87 1987 only - May 10 11:56:25s 0:03:35 -
Rule sol87 1987 only - May 11 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 12 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 13 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 14 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 15 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 16 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 17 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 18 11:56:20s 0:03:40 -
Rule sol87 1987 only - May 19 11:56:25s 0:03:35 -
Rule sol87 1987 only - May 20 11:56:25s 0:03:35 -
Rule sol87 1987 only - May 21 11:56:30s 0:03:30 -
Rule sol87 1987 only - May 22 11:56:35s 0:03:25 -
Rule sol87 1987 only - May 23 11:56:40s 0:03:20 -
Rule sol87 1987 only - May 24 11:56:45s 0:03:15 -
Rule sol87 1987 only - May 25 11:56:50s 0:03:10 -
Rule sol87 1987 only - May 26 11:56:55s 0:03:05 -
Rule sol87 1987 only - May 27 11:57:00s 0:03:00 -
Rule sol87 1987 only - May 28 11:57:10s 0:02:50 -
Rule sol87 1987 only - May 29 11:57:15s 0:02:45 -
Rule sol87 1987 only - May 30 11:57:25s 0:02:35 -
Rule sol87 1987 only - May 31 11:57:30s 0:02:30 -
Rule sol87 1987 only - Jun 1 11:57:40s 0:02:20 -
Rule sol87 1987 only - Jun 2 11:57:50s 0:02:10 -
Rule sol87 1987 only - Jun 3 11:58:00s 0:02:00 -
Rule sol87 1987 only - Jun 4 11:58:10s 0:01:50 -
Rule sol87 1987 only - Jun 5 11:58:20s 0:01:40 -
Rule sol87 1987 only - Jun 6 11:58:30s 0:01:30 -
Rule sol87 1987 only - Jun 7 11:58:40s 0:01:20 -
Rule sol87 1987 only - Jun 8 11:58:50s 0:01:10 -
Rule sol87 1987 only - Jun 9 11:59:05s 0:00:55 -
Rule sol87 1987 only - Jun 10 11:59:15s 0:00:45 -
Rule sol87 1987 only - Jun 11 11:59:30s 0:00:30 -
Rule sol87 1987 only - Jun 12 11:59:40s 0:00:20 -
Rule sol87 1987 only - Jun 13 11:59:50s 0:00:10 -
Rule sol87 1987 only - Jun 14 12:00:05s -0:00:05 -
Rule sol87 1987 only - Jun 15 12:00:15s -0:00:15 -
Rule sol87 1987 only - Jun 16 12:00:30s -0:00:30 -
Rule sol87 1987 only - Jun 17 12:00:45s -0:00:45 -
Rule sol87 1987 only - Jun 18 12:00:55s -0:00:55 -
Rule sol87 1987 only - Jun 19 12:01:10s -0:01:10 -
Rule sol87 1987 only - Jun 20 12:01:20s -0:01:20 -
Rule sol87 1987 only - Jun 21 12:01:35s -0:01:35 -
Rule sol87 1987 only - Jun 22 12:01:50s -0:01:50 -
Rule sol87 1987 only - Jun 23 12:02:00s -0:02:00 -
Rule sol87 1987 only - Jun 24 12:02:15s -0:02:15 -
Rule sol87 1987 only - Jun 25 12:02:25s -0:02:25 -
Rule sol87 1987 only - Jun 26 12:02:40s -0:02:40 -
Rule sol87 1987 only - Jun 27 12:02:50s -0:02:50 -
Rule sol87 1987 only - Jun 28 12:03:05s -0:03:05 -
Rule sol87 1987 only - Jun 29 12:03:15s -0:03:15 -
Rule sol87 1987 only - Jun 30 12:03:30s -0:03:30 -
Rule sol87 1987 only - Jul 1 12:03:40s -0:03:40 -
Rule sol87 1987 only - Jul 2 12:03:50s -0:03:50 -
Rule sol87 1987 only - Jul 3 12:04:05s -0:04:05 -
Rule sol87 1987 only - Jul 4 12:04:15s -0:04:15 -
Rule sol87 1987 only - Jul 5 12:04:25s -0:04:25 -
Rule sol87 1987 only - Jul 6 12:04:35s -0:04:35 -
Rule sol87 1987 only - Jul 7 12:04:45s -0:04:45 -
Rule sol87 1987 only - Jul 8 12:04:55s -0:04:55 -
Rule sol87 1987 only - Jul 9 12:05:05s -0:05:05 -
Rule sol87 1987 only - Jul 10 12:05:15s -0:05:15 -
Rule sol87 1987 only - Jul 11 12:05:20s -0:05:20 -
Rule sol87 1987 only - Jul 12 12:05:30s -0:05:30 -
Rule sol87 1987 only - Jul 13 12:05:40s -0:05:40 -
Rule sol87 1987 only - Jul 14 12:05:45s -0:05:45 -
Rule sol87 1987 only - Jul 15 12:05:50s -0:05:50 -
Rule sol87 1987 only - Jul 16 12:06:00s -0:06:00 -
Rule sol87 1987 only - Jul 17 12:06:05s -0:06:05 -
Rule sol87 1987 only - Jul 18 12:06:10s -0:06:10 -
Rule sol87 1987 only - Jul 19 12:06:15s -0:06:15 -
Rule sol87 1987 only - Jul 20 12:06:15s -0:06:15 -
Rule sol87 1987 only - Jul 21 12:06:20s -0:06:20 -
Rule sol87 1987 only - Jul 22 12:06:25s -0:06:25 -
Rule sol87 1987 only - Jul 23 12:06:25s -0:06:25 -
Rule sol87 1987 only - Jul 24 12:06:25s -0:06:25 -
Rule sol87 1987 only - Jul 25 12:06:30s -0:06:30 -
Rule sol87 1987 only - Jul 26 12:06:30s -0:06:30 -
Rule sol87 1987 only - Jul 27 12:06:30s -0:06:30 -
Rule sol87 1987 only - Jul 28 12:06:30s -0:06:30 -
Rule sol87 1987 only - Jul 29 12:06:25s -0:06:25 -
Rule sol87 1987 only - Jul 30 12:06:25s -0:06:25 -
Rule sol87 1987 only - Jul 31 12:06:25s -0:06:25 -
Rule sol87 1987 only - Aug 1 12:06:20s -0:06:20 -
Rule sol87 1987 only - Aug 2 12:06:15s -0:06:15 -
Rule sol87 1987 only - Aug 3 12:06:10s -0:06:10 -
Rule sol87 1987 only - Aug 4 12:06:05s -0:06:05 -
Rule sol87 1987 only - Aug 5 12:06:00s -0:06:00 -
Rule sol87 1987 only - Aug 6 12:05:55s -0:05:55 -
Rule sol87 1987 only - Aug 7 12:05:50s -0:05:50 -
Rule sol87 1987 only - Aug 8 12:05:40s -0:05:40 -
Rule sol87 1987 only - Aug 9 12:05:35s -0:05:35 -
Rule sol87 1987 only - Aug 10 12:05:25s -0:05:25 -
Rule sol87 1987 only - Aug 11 12:05:15s -0:05:15 -
Rule sol87 1987 only - Aug 12 12:05:05s -0:05:05 -
Rule sol87 1987 only - Aug 13 12:04:55s -0:04:55 -
Rule sol87 1987 only - Aug 14 12:04:45s -0:04:45 -
Rule sol87 1987 only - Aug 15 12:04:35s -0:04:35 -
Rule sol87 1987 only - Aug 16 12:04:25s -0:04:25 -
Rule sol87 1987 only - Aug 17 12:04:10s -0:04:10 -
Rule sol87 1987 only - Aug 18 12:04:00s -0:04:00 -
Rule sol87 1987 only - Aug 19 12:03:45s -0:03:45 -
Rule sol87 1987 only - Aug 20 12:03:30s -0:03:30 -
Rule sol87 1987 only - Aug 21 12:03:15s -0:03:15 -
Rule sol87 1987 only - Aug 22 12:03:00s -0:03:00 -
Rule sol87 1987 only - Aug 23 12:02:45s -0:02:45 -
Rule sol87 1987 only - Aug 24 12:02:30s -0:02:30 -
Rule sol87 1987 only - Aug 25 12:02:15s -0:02:15 -
Rule sol87 1987 only - Aug 26 12:02:00s -0:02:00 -
Rule sol87 1987 only - Aug 27 12:01:40s -0:01:40 -
Rule sol87 1987 only - Aug 28 12:01:25s -0:01:25 -
Rule sol87 1987 only - Aug 29 12:01:05s -0:01:05 -
Rule sol87 1987 only - Aug 30 12:00:50s -0:00:50 -
Rule sol87 1987 only - Aug 31 12:00:30s -0:00:30 -
Rule sol87 1987 only - Sep 1 12:00:10s -0:00:10 -
Rule sol87 1987 only - Sep 2 11:59:50s 0:00:10 -
Rule sol87 1987 only - Sep 3 11:59:35s 0:00:25 -
Rule sol87 1987 only - Sep 4 11:59:15s 0:00:45 -
Rule sol87 1987 only - Sep 5 11:58:55s 0:01:05 -
Rule sol87 1987 only - Sep 6 11:58:35s 0:01:25 -
Rule sol87 1987 only - Sep 7 11:58:15s 0:01:45 -
Rule sol87 1987 only - Sep 8 11:57:55s 0:02:05 -
Rule sol87 1987 only - Sep 9 11:57:30s 0:02:30 -
Rule sol87 1987 only - Sep 10 11:57:10s 0:02:50 -
Rule sol87 1987 only - Sep 11 11:56:50s 0:03:10 -
Rule sol87 1987 only - Sep 12 11:56:30s 0:03:30 -
Rule sol87 1987 only - Sep 13 11:56:10s 0:03:50 -
Rule sol87 1987 only - Sep 14 11:55:45s 0:04:15 -
Rule sol87 1987 only - Sep 15 11:55:25s 0:04:35 -
Rule sol87 1987 only - Sep 16 11:55:05s 0:04:55 -
Rule sol87 1987 only - Sep 17 11:54:45s 0:05:15 -
Rule sol87 1987 only - Sep 18 11:54:20s 0:05:40 -
Rule sol87 1987 only - Sep 19 11:54:00s 0:06:00 -
Rule sol87 1987 only - Sep 20 11:53:40s 0:06:20 -
Rule sol87 1987 only - Sep 21 11:53:15s 0:06:45 -
Rule sol87 1987 only - Sep 22 11:52:55s 0:07:05 -
Rule sol87 1987 only - Sep 23 11:52:35s 0:07:25 -
Rule sol87 1987 only - Sep 24 11:52:15s 0:07:45 -
Rule sol87 1987 only - Sep 25 11:51:55s 0:08:05 -
Rule sol87 1987 only - Sep 26 11:51:35s 0:08:25 -
Rule sol87 1987 only - Sep 27 11:51:10s 0:08:50 -
Rule sol87 1987 only - Sep 28 11:50:50s 0:09:10 -
Rule sol87 1987 only - Sep 29 11:50:30s 0:09:30 -
Rule sol87 1987 only - Sep 30 11:50:10s 0:09:50 -
Rule sol87 1987 only - Oct 1 11:49:50s 0:10:10 -
Rule sol87 1987 only - Oct 2 11:49:35s 0:10:25 -
Rule sol87 1987 only - Oct 3 11:49:15s 0:10:45 -
Rule sol87 1987 only - Oct 4 11:48:55s 0:11:05 -
Rule sol87 1987 only - Oct 5 11:48:35s 0:11:25 -
Rule sol87 1987 only - Oct 6 11:48:20s 0:11:40 -
Rule sol87 1987 only - Oct 7 11:48:00s 0:12:00 -
Rule sol87 1987 only - Oct 8 11:47:45s 0:12:15 -
Rule sol87 1987 only - Oct 9 11:47:25s 0:12:35 -
Rule sol87 1987 only - Oct 10 11:47:10s 0:12:50 -
Rule sol87 1987 only - Oct 11 11:46:55s 0:13:05 -
Rule sol87 1987 only - Oct 12 11:46:40s 0:13:20 -
Rule sol87 1987 only - Oct 13 11:46:25s 0:13:35 -
Rule sol87 1987 only - Oct 14 11:46:10s 0:13:50 -
Rule sol87 1987 only - Oct 15 11:45:55s 0:14:05 -
Rule sol87 1987 only - Oct 16 11:45:45s 0:14:15 -
Rule sol87 1987 only - Oct 17 11:45:30s 0:14:30 -
Rule sol87 1987 only - Oct 18 11:45:20s 0:14:40 -
Rule sol87 1987 only - Oct 19 11:45:05s 0:14:55 -
Rule sol87 1987 only - Oct 20 11:44:55s 0:15:05 -
Rule sol87 1987 only - Oct 21 11:44:45s 0:15:15 -
Rule sol87 1987 only - Oct 22 11:44:35s 0:15:25 -
Rule sol87 1987 only - Oct 23 11:44:25s 0:15:35 -
Rule sol87 1987 only - Oct 24 11:44:20s 0:15:40 -
Rule sol87 1987 only - Oct 25 11:44:10s 0:15:50 -
Rule sol87 1987 only - Oct 26 11:44:05s 0:15:55 -
Rule sol87 1987 only - Oct 27 11:43:55s 0:16:05 -
Rule sol87 1987 only - Oct 28 11:43:50s 0:16:10 -
Rule sol87 1987 only - Oct 29 11:43:45s 0:16:15 -
Rule sol87 1987 only - Oct 30 11:43:45s 0:16:15 -
Rule sol87 1987 only - Oct 31 11:43:40s 0:16:20 -
Rule sol87 1987 only - Nov 1 11:43:40s 0:16:20 -
Rule sol87 1987 only - Nov 2 11:43:35s 0:16:25 -
Rule sol87 1987 only - Nov 3 11:43:35s 0:16:25 -
Rule sol87 1987 only - Nov 4 11:43:35s 0:16:25 -
Rule sol87 1987 only - Nov 5 11:43:35s 0:16:25 -
Rule sol87 1987 only - Nov 6 11:43:40s 0:16:20 -
Rule sol87 1987 only - Nov 7 11:43:40s 0:16:20 -
Rule sol87 1987 only - Nov 8 11:43:45s 0:16:15 -
Rule sol87 1987 only - Nov 9 11:43:50s 0:16:10 -
Rule sol87 1987 only - Nov 10 11:43:55s 0:16:05 -
Rule sol87 1987 only - Nov 11 11:44:00s 0:16:00 -
Rule sol87 1987 only - Nov 12 11:44:05s 0:15:55 -
Rule sol87 1987 only - Nov 13 11:44:15s 0:15:45 -
Rule sol87 1987 only - Nov 14 11:44:20s 0:15:40 -
Rule sol87 1987 only - Nov 15 11:44:30s 0:15:30 -
Rule sol87 1987 only - Nov 16 11:44:40s 0:15:20 -
Rule sol87 1987 only - Nov 17 11:44:50s 0:15:10 -
Rule sol87 1987 only - Nov 18 11:45:05s 0:14:55 -
Rule sol87 1987 only - Nov 19 11:45:15s 0:14:45 -
Rule sol87 1987 only - Nov 20 11:45:30s 0:14:30 -
Rule sol87 1987 only - Nov 21 11:45:45s 0:14:15 -
Rule sol87 1987 only - Nov 22 11:46:00s 0:14:00 -
Rule sol87 1987 only - Nov 23 11:46:15s 0:13:45 -
Rule sol87 1987 only - Nov 24 11:46:30s 0:13:30 -
Rule sol87 1987 only - Nov 25 11:46:50s 0:13:10 -
Rule sol87 1987 only - Nov 26 11:47:10s 0:12:50 -
Rule sol87 1987 only - Nov 27 11:47:25s 0:12:35 -
Rule sol87 1987 only - Nov 28 11:47:45s 0:12:15 -
Rule sol87 1987 only - Nov 29 11:48:05s 0:11:55 -
Rule sol87 1987 only - Nov 30 11:48:30s 0:11:30 -
Rule sol87 1987 only - Dec 1 11:48:50s 0:11:10 -
Rule sol87 1987 only - Dec 2 11:49:10s 0:10:50 -
Rule sol87 1987 only - Dec 3 11:49:35s 0:10:25 -
Rule sol87 1987 only - Dec 4 11:50:00s 0:10:00 -
Rule sol87 1987 only - Dec 5 11:50:25s 0:09:35 -
Rule sol87 1987 only - Dec 6 11:50:50s 0:09:10 -
Rule sol87 1987 only - Dec 7 11:51:15s 0:08:45 -
Rule sol87 1987 only - Dec 8 11:51:40s 0:08:20 -
Rule sol87 1987 only - Dec 9 11:52:05s 0:07:55 -
Rule sol87 1987 only - Dec 10 11:52:30s 0:07:30 -
Rule sol87 1987 only - Dec 11 11:53:00s 0:07:00 -
Rule sol87 1987 only - Dec 12 11:53:25s 0:06:35 -
Rule sol87 1987 only - Dec 13 11:53:55s 0:06:05 -
Rule sol87 1987 only - Dec 14 11:54:25s 0:05:35 -
Rule sol87 1987 only - Dec 15 11:54:50s 0:05:10 -
Rule sol87 1987 only - Dec 16 11:55:20s 0:04:40 -
Rule sol87 1987 only - Dec 17 11:55:50s 0:04:10 -
Rule sol87 1987 only - Dec 18 11:56:20s 0:03:40 -
Rule sol87 1987 only - Dec 19 11:56:50s 0:03:10 -
Rule sol87 1987 only - Dec 20 11:57:20s 0:02:40 -
Rule sol87 1987 only - Dec 21 11:57:50s 0:02:10 -
Rule sol87 1987 only - Dec 22 11:58:20s 0:01:40 -
Rule sol87 1987 only - Dec 23 11:58:50s 0:01:10 -
Rule sol87 1987 only - Dec 24 11:59:20s 0:00:40 -
Rule sol87 1987 only - Dec 25 11:59:50s 0:00:10 -
Rule sol87 1987 only - Dec 26 12:00:20s -0:00:20 -
Rule sol87 1987 only - Dec 27 12:00:45s -0:00:45 -
Rule sol87 1987 only - Dec 28 12:01:15s -0:01:15 -
Rule sol87 1987 only - Dec 29 12:01:45s -0:01:45 -
Rule sol87 1987 only - Dec 30 12:02:15s -0:02:15 -
Rule sol87 1987 only - Dec 31 12:02:45s -0:02:45 -
# Riyadh is at about 46 degrees 46 minutes East: 3 hrs, 7 mins, 4 secs
# Before and after 1987, we'll operate on local mean solar time.
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone Asia/Riyadh87 3:07:04 - zzz 1987
3:07:04 sol87 zzz 1988
3:07:04 - zzz
# For backward compatibility...
Link Asia/Riyadh87 Mideast/Riyadh87

390
share/zoneinfo/solar88 Normal file
View File

@ -0,0 +1,390 @@
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# Apparent noon times below are for Riyadh; they're a bit off for other places.
# Times were computed using formulas in the U.S. Naval Observatory's
# Almanac for Computers 1988; the formulas "will give EqT to an accuracy of
# [plus or minus two] seconds during the current year."
#
# Rounding to the nearest five seconds results in fewer than
# 256 different "time types"--a limit that's faced because time types are
# stored on disk as unsigned chars.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule sol88 1988 only - Jan 1 12:03:15s -0:03:15 -
Rule sol88 1988 only - Jan 2 12:03:40s -0:03:40 -
Rule sol88 1988 only - Jan 3 12:04:10s -0:04:10 -
Rule sol88 1988 only - Jan 4 12:04:40s -0:04:40 -
Rule sol88 1988 only - Jan 5 12:05:05s -0:05:05 -
Rule sol88 1988 only - Jan 6 12:05:30s -0:05:30 -
Rule sol88 1988 only - Jan 7 12:06:00s -0:06:00 -
Rule sol88 1988 only - Jan 8 12:06:25s -0:06:25 -
Rule sol88 1988 only - Jan 9 12:06:50s -0:06:50 -
Rule sol88 1988 only - Jan 10 12:07:15s -0:07:15 -
Rule sol88 1988 only - Jan 11 12:07:40s -0:07:40 -
Rule sol88 1988 only - Jan 12 12:08:05s -0:08:05 -
Rule sol88 1988 only - Jan 13 12:08:25s -0:08:25 -
Rule sol88 1988 only - Jan 14 12:08:50s -0:08:50 -
Rule sol88 1988 only - Jan 15 12:09:10s -0:09:10 -
Rule sol88 1988 only - Jan 16 12:09:30s -0:09:30 -
Rule sol88 1988 only - Jan 17 12:09:50s -0:09:50 -
Rule sol88 1988 only - Jan 18 12:10:10s -0:10:10 -
Rule sol88 1988 only - Jan 19 12:10:30s -0:10:30 -
Rule sol88 1988 only - Jan 20 12:10:50s -0:10:50 -
Rule sol88 1988 only - Jan 21 12:11:05s -0:11:05 -
Rule sol88 1988 only - Jan 22 12:11:25s -0:11:25 -
Rule sol88 1988 only - Jan 23 12:11:40s -0:11:40 -
Rule sol88 1988 only - Jan 24 12:11:55s -0:11:55 -
Rule sol88 1988 only - Jan 25 12:12:10s -0:12:10 -
Rule sol88 1988 only - Jan 26 12:12:25s -0:12:25 -
Rule sol88 1988 only - Jan 27 12:12:40s -0:12:40 -
Rule sol88 1988 only - Jan 28 12:12:50s -0:12:50 -
Rule sol88 1988 only - Jan 29 12:13:00s -0:13:00 -
Rule sol88 1988 only - Jan 30 12:13:10s -0:13:10 -
Rule sol88 1988 only - Jan 31 12:13:20s -0:13:20 -
Rule sol88 1988 only - Feb 1 12:13:30s -0:13:30 -
Rule sol88 1988 only - Feb 2 12:13:40s -0:13:40 -
Rule sol88 1988 only - Feb 3 12:13:45s -0:13:45 -
Rule sol88 1988 only - Feb 4 12:13:55s -0:13:55 -
Rule sol88 1988 only - Feb 5 12:14:00s -0:14:00 -
Rule sol88 1988 only - Feb 6 12:14:05s -0:14:05 -
Rule sol88 1988 only - Feb 7 12:14:10s -0:14:10 -
Rule sol88 1988 only - Feb 8 12:14:10s -0:14:10 -
Rule sol88 1988 only - Feb 9 12:14:15s -0:14:15 -
Rule sol88 1988 only - Feb 10 12:14:15s -0:14:15 -
Rule sol88 1988 only - Feb 11 12:14:15s -0:14:15 -
Rule sol88 1988 only - Feb 12 12:14:15s -0:14:15 -
Rule sol88 1988 only - Feb 13 12:14:15s -0:14:15 -
Rule sol88 1988 only - Feb 14 12:14:15s -0:14:15 -
Rule sol88 1988 only - Feb 15 12:14:10s -0:14:10 -
Rule sol88 1988 only - Feb 16 12:14:10s -0:14:10 -
Rule sol88 1988 only - Feb 17 12:14:05s -0:14:05 -
Rule sol88 1988 only - Feb 18 12:14:00s -0:14:00 -
Rule sol88 1988 only - Feb 19 12:13:55s -0:13:55 -
Rule sol88 1988 only - Feb 20 12:13:50s -0:13:50 -
Rule sol88 1988 only - Feb 21 12:13:45s -0:13:45 -
Rule sol88 1988 only - Feb 22 12:13:40s -0:13:40 -
Rule sol88 1988 only - Feb 23 12:13:30s -0:13:30 -
Rule sol88 1988 only - Feb 24 12:13:20s -0:13:20 -
Rule sol88 1988 only - Feb 25 12:13:15s -0:13:15 -
Rule sol88 1988 only - Feb 26 12:13:05s -0:13:05 -
Rule sol88 1988 only - Feb 27 12:12:55s -0:12:55 -
Rule sol88 1988 only - Feb 28 12:12:45s -0:12:45 -
Rule sol88 1988 only - Feb 29 12:12:30s -0:12:30 -
Rule sol88 1988 only - Mar 1 12:12:20s -0:12:20 -
Rule sol88 1988 only - Mar 2 12:12:10s -0:12:10 -
Rule sol88 1988 only - Mar 3 12:11:55s -0:11:55 -
Rule sol88 1988 only - Mar 4 12:11:45s -0:11:45 -
Rule sol88 1988 only - Mar 5 12:11:30s -0:11:30 -
Rule sol88 1988 only - Mar 6 12:11:15s -0:11:15 -
Rule sol88 1988 only - Mar 7 12:11:00s -0:11:00 -
Rule sol88 1988 only - Mar 8 12:10:45s -0:10:45 -
Rule sol88 1988 only - Mar 9 12:10:30s -0:10:30 -
Rule sol88 1988 only - Mar 10 12:10:15s -0:10:15 -
Rule sol88 1988 only - Mar 11 12:10:00s -0:10:00 -
Rule sol88 1988 only - Mar 12 12:09:45s -0:09:45 -
Rule sol88 1988 only - Mar 13 12:09:30s -0:09:30 -
Rule sol88 1988 only - Mar 14 12:09:10s -0:09:10 -
Rule sol88 1988 only - Mar 15 12:08:55s -0:08:55 -
Rule sol88 1988 only - Mar 16 12:08:40s -0:08:40 -
Rule sol88 1988 only - Mar 17 12:08:20s -0:08:20 -
Rule sol88 1988 only - Mar 18 12:08:05s -0:08:05 -
Rule sol88 1988 only - Mar 19 12:07:45s -0:07:45 -
Rule sol88 1988 only - Mar 20 12:07:30s -0:07:30 -
Rule sol88 1988 only - Mar 21 12:07:10s -0:07:10 -
Rule sol88 1988 only - Mar 22 12:06:50s -0:06:50 -
Rule sol88 1988 only - Mar 23 12:06:35s -0:06:35 -
Rule sol88 1988 only - Mar 24 12:06:15s -0:06:15 -
Rule sol88 1988 only - Mar 25 12:06:00s -0:06:00 -
Rule sol88 1988 only - Mar 26 12:05:40s -0:05:40 -
Rule sol88 1988 only - Mar 27 12:05:20s -0:05:20 -
Rule sol88 1988 only - Mar 28 12:05:05s -0:05:05 -
Rule sol88 1988 only - Mar 29 12:04:45s -0:04:45 -
Rule sol88 1988 only - Mar 30 12:04:25s -0:04:25 -
Rule sol88 1988 only - Mar 31 12:04:10s -0:04:10 -
Rule sol88 1988 only - Apr 1 12:03:50s -0:03:50 -
Rule sol88 1988 only - Apr 2 12:03:35s -0:03:35 -
Rule sol88 1988 only - Apr 3 12:03:15s -0:03:15 -
Rule sol88 1988 only - Apr 4 12:03:00s -0:03:00 -
Rule sol88 1988 only - Apr 5 12:02:40s -0:02:40 -
Rule sol88 1988 only - Apr 6 12:02:25s -0:02:25 -
Rule sol88 1988 only - Apr 7 12:02:05s -0:02:05 -
Rule sol88 1988 only - Apr 8 12:01:50s -0:01:50 -
Rule sol88 1988 only - Apr 9 12:01:35s -0:01:35 -
Rule sol88 1988 only - Apr 10 12:01:15s -0:01:15 -
Rule sol88 1988 only - Apr 11 12:01:00s -0:01:00 -
Rule sol88 1988 only - Apr 12 12:00:45s -0:00:45 -
Rule sol88 1988 only - Apr 13 12:00:30s -0:00:30 -
Rule sol88 1988 only - Apr 14 12:00:15s -0:00:15 -
Rule sol88 1988 only - Apr 15 12:00:00s 0:00:00 -
Rule sol88 1988 only - Apr 16 11:59:45s 0:00:15 -
Rule sol88 1988 only - Apr 17 11:59:30s 0:00:30 -
Rule sol88 1988 only - Apr 18 11:59:20s 0:00:40 -
Rule sol88 1988 only - Apr 19 11:59:05s 0:00:55 -
Rule sol88 1988 only - Apr 20 11:58:55s 0:01:05 -
Rule sol88 1988 only - Apr 21 11:58:40s 0:01:20 -
Rule sol88 1988 only - Apr 22 11:58:30s 0:01:30 -
Rule sol88 1988 only - Apr 23 11:58:15s 0:01:45 -
Rule sol88 1988 only - Apr 24 11:58:05s 0:01:55 -
Rule sol88 1988 only - Apr 25 11:57:55s 0:02:05 -
Rule sol88 1988 only - Apr 26 11:57:45s 0:02:15 -
Rule sol88 1988 only - Apr 27 11:57:35s 0:02:25 -
Rule sol88 1988 only - Apr 28 11:57:30s 0:02:30 -
Rule sol88 1988 only - Apr 29 11:57:20s 0:02:40 -
Rule sol88 1988 only - Apr 30 11:57:10s 0:02:50 -
Rule sol88 1988 only - May 1 11:57:05s 0:02:55 -
Rule sol88 1988 only - May 2 11:56:55s 0:03:05 -
Rule sol88 1988 only - May 3 11:56:50s 0:03:10 -
Rule sol88 1988 only - May 4 11:56:45s 0:03:15 -
Rule sol88 1988 only - May 5 11:56:40s 0:03:20 -
Rule sol88 1988 only - May 6 11:56:35s 0:03:25 -
Rule sol88 1988 only - May 7 11:56:30s 0:03:30 -
Rule sol88 1988 only - May 8 11:56:25s 0:03:35 -
Rule sol88 1988 only - May 9 11:56:25s 0:03:35 -
Rule sol88 1988 only - May 10 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 11 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 12 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 13 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 14 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 15 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 16 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 17 11:56:20s 0:03:40 -
Rule sol88 1988 only - May 18 11:56:25s 0:03:35 -
Rule sol88 1988 only - May 19 11:56:25s 0:03:35 -
Rule sol88 1988 only - May 20 11:56:30s 0:03:30 -
Rule sol88 1988 only - May 21 11:56:35s 0:03:25 -
Rule sol88 1988 only - May 22 11:56:40s 0:03:20 -
Rule sol88 1988 only - May 23 11:56:45s 0:03:15 -
Rule sol88 1988 only - May 24 11:56:50s 0:03:10 -
Rule sol88 1988 only - May 25 11:56:55s 0:03:05 -
Rule sol88 1988 only - May 26 11:57:00s 0:03:00 -
Rule sol88 1988 only - May 27 11:57:05s 0:02:55 -
Rule sol88 1988 only - May 28 11:57:15s 0:02:45 -
Rule sol88 1988 only - May 29 11:57:20s 0:02:40 -
Rule sol88 1988 only - May 30 11:57:30s 0:02:30 -
Rule sol88 1988 only - May 31 11:57:40s 0:02:20 -
Rule sol88 1988 only - Jun 1 11:57:50s 0:02:10 -
Rule sol88 1988 only - Jun 2 11:57:55s 0:02:05 -
Rule sol88 1988 only - Jun 3 11:58:05s 0:01:55 -
Rule sol88 1988 only - Jun 4 11:58:15s 0:01:45 -
Rule sol88 1988 only - Jun 5 11:58:30s 0:01:30 -
Rule sol88 1988 only - Jun 6 11:58:40s 0:01:20 -
Rule sol88 1988 only - Jun 7 11:58:50s 0:01:10 -
Rule sol88 1988 only - Jun 8 11:59:00s 0:01:00 -
Rule sol88 1988 only - Jun 9 11:59:15s 0:00:45 -
Rule sol88 1988 only - Jun 10 11:59:25s 0:00:35 -
Rule sol88 1988 only - Jun 11 11:59:35s 0:00:25 -
Rule sol88 1988 only - Jun 12 11:59:50s 0:00:10 -
Rule sol88 1988 only - Jun 13 12:00:00s 0:00:00 -
Rule sol88 1988 only - Jun 14 12:00:15s -0:00:15 -
Rule sol88 1988 only - Jun 15 12:00:25s -0:00:25 -
Rule sol88 1988 only - Jun 16 12:00:40s -0:00:40 -
Rule sol88 1988 only - Jun 17 12:00:55s -0:00:55 -
Rule sol88 1988 only - Jun 18 12:01:05s -0:01:05 -
Rule sol88 1988 only - Jun 19 12:01:20s -0:01:20 -
Rule sol88 1988 only - Jun 20 12:01:30s -0:01:30 -
Rule sol88 1988 only - Jun 21 12:01:45s -0:01:45 -
Rule sol88 1988 only - Jun 22 12:02:00s -0:02:00 -
Rule sol88 1988 only - Jun 23 12:02:10s -0:02:10 -
Rule sol88 1988 only - Jun 24 12:02:25s -0:02:25 -
Rule sol88 1988 only - Jun 25 12:02:35s -0:02:35 -
Rule sol88 1988 only - Jun 26 12:02:50s -0:02:50 -
Rule sol88 1988 only - Jun 27 12:03:00s -0:03:00 -
Rule sol88 1988 only - Jun 28 12:03:15s -0:03:15 -
Rule sol88 1988 only - Jun 29 12:03:25s -0:03:25 -
Rule sol88 1988 only - Jun 30 12:03:40s -0:03:40 -
Rule sol88 1988 only - Jul 1 12:03:50s -0:03:50 -
Rule sol88 1988 only - Jul 2 12:04:00s -0:04:00 -
Rule sol88 1988 only - Jul 3 12:04:10s -0:04:10 -
Rule sol88 1988 only - Jul 4 12:04:25s -0:04:25 -
Rule sol88 1988 only - Jul 5 12:04:35s -0:04:35 -
Rule sol88 1988 only - Jul 6 12:04:45s -0:04:45 -
Rule sol88 1988 only - Jul 7 12:04:55s -0:04:55 -
Rule sol88 1988 only - Jul 8 12:05:05s -0:05:05 -
Rule sol88 1988 only - Jul 9 12:05:10s -0:05:10 -
Rule sol88 1988 only - Jul 10 12:05:20s -0:05:20 -
Rule sol88 1988 only - Jul 11 12:05:30s -0:05:30 -
Rule sol88 1988 only - Jul 12 12:05:35s -0:05:35 -
Rule sol88 1988 only - Jul 13 12:05:45s -0:05:45 -
Rule sol88 1988 only - Jul 14 12:05:50s -0:05:50 -
Rule sol88 1988 only - Jul 15 12:05:55s -0:05:55 -
Rule sol88 1988 only - Jul 16 12:06:00s -0:06:00 -
Rule sol88 1988 only - Jul 17 12:06:05s -0:06:05 -
Rule sol88 1988 only - Jul 18 12:06:10s -0:06:10 -
Rule sol88 1988 only - Jul 19 12:06:15s -0:06:15 -
Rule sol88 1988 only - Jul 20 12:06:20s -0:06:20 -
Rule sol88 1988 only - Jul 21 12:06:25s -0:06:25 -
Rule sol88 1988 only - Jul 22 12:06:25s -0:06:25 -
Rule sol88 1988 only - Jul 23 12:06:25s -0:06:25 -
Rule sol88 1988 only - Jul 24 12:06:30s -0:06:30 -
Rule sol88 1988 only - Jul 25 12:06:30s -0:06:30 -
Rule sol88 1988 only - Jul 26 12:06:30s -0:06:30 -
Rule sol88 1988 only - Jul 27 12:06:30s -0:06:30 -
Rule sol88 1988 only - Jul 28 12:06:30s -0:06:30 -
Rule sol88 1988 only - Jul 29 12:06:25s -0:06:25 -
Rule sol88 1988 only - Jul 30 12:06:25s -0:06:25 -
Rule sol88 1988 only - Jul 31 12:06:20s -0:06:20 -
Rule sol88 1988 only - Aug 1 12:06:15s -0:06:15 -
Rule sol88 1988 only - Aug 2 12:06:15s -0:06:15 -
Rule sol88 1988 only - Aug 3 12:06:10s -0:06:10 -
Rule sol88 1988 only - Aug 4 12:06:05s -0:06:05 -
Rule sol88 1988 only - Aug 5 12:05:55s -0:05:55 -
Rule sol88 1988 only - Aug 6 12:05:50s -0:05:50 -
Rule sol88 1988 only - Aug 7 12:05:45s -0:05:45 -
Rule sol88 1988 only - Aug 8 12:05:35s -0:05:35 -
Rule sol88 1988 only - Aug 9 12:05:25s -0:05:25 -
Rule sol88 1988 only - Aug 10 12:05:20s -0:05:20 -
Rule sol88 1988 only - Aug 11 12:05:10s -0:05:10 -
Rule sol88 1988 only - Aug 12 12:05:00s -0:05:00 -
Rule sol88 1988 only - Aug 13 12:04:50s -0:04:50 -
Rule sol88 1988 only - Aug 14 12:04:35s -0:04:35 -
Rule sol88 1988 only - Aug 15 12:04:25s -0:04:25 -
Rule sol88 1988 only - Aug 16 12:04:15s -0:04:15 -
Rule sol88 1988 only - Aug 17 12:04:00s -0:04:00 -
Rule sol88 1988 only - Aug 18 12:03:50s -0:03:50 -
Rule sol88 1988 only - Aug 19 12:03:35s -0:03:35 -
Rule sol88 1988 only - Aug 20 12:03:20s -0:03:20 -
Rule sol88 1988 only - Aug 21 12:03:05s -0:03:05 -
Rule sol88 1988 only - Aug 22 12:02:50s -0:02:50 -
Rule sol88 1988 only - Aug 23 12:02:35s -0:02:35 -
Rule sol88 1988 only - Aug 24 12:02:20s -0:02:20 -
Rule sol88 1988 only - Aug 25 12:02:00s -0:02:00 -
Rule sol88 1988 only - Aug 26 12:01:45s -0:01:45 -
Rule sol88 1988 only - Aug 27 12:01:30s -0:01:30 -
Rule sol88 1988 only - Aug 28 12:01:10s -0:01:10 -
Rule sol88 1988 only - Aug 29 12:00:50s -0:00:50 -
Rule sol88 1988 only - Aug 30 12:00:35s -0:00:35 -
Rule sol88 1988 only - Aug 31 12:00:15s -0:00:15 -
Rule sol88 1988 only - Sep 1 11:59:55s 0:00:05 -
Rule sol88 1988 only - Sep 2 11:59:35s 0:00:25 -
Rule sol88 1988 only - Sep 3 11:59:20s 0:00:40 -
Rule sol88 1988 only - Sep 4 11:59:00s 0:01:00 -
Rule sol88 1988 only - Sep 5 11:58:40s 0:01:20 -
Rule sol88 1988 only - Sep 6 11:58:20s 0:01:40 -
Rule sol88 1988 only - Sep 7 11:58:00s 0:02:00 -
Rule sol88 1988 only - Sep 8 11:57:35s 0:02:25 -
Rule sol88 1988 only - Sep 9 11:57:15s 0:02:45 -
Rule sol88 1988 only - Sep 10 11:56:55s 0:03:05 -
Rule sol88 1988 only - Sep 11 11:56:35s 0:03:25 -
Rule sol88 1988 only - Sep 12 11:56:15s 0:03:45 -
Rule sol88 1988 only - Sep 13 11:55:50s 0:04:10 -
Rule sol88 1988 only - Sep 14 11:55:30s 0:04:30 -
Rule sol88 1988 only - Sep 15 11:55:10s 0:04:50 -
Rule sol88 1988 only - Sep 16 11:54:50s 0:05:10 -
Rule sol88 1988 only - Sep 17 11:54:25s 0:05:35 -
Rule sol88 1988 only - Sep 18 11:54:05s 0:05:55 -
Rule sol88 1988 only - Sep 19 11:53:45s 0:06:15 -
Rule sol88 1988 only - Sep 20 11:53:25s 0:06:35 -
Rule sol88 1988 only - Sep 21 11:53:00s 0:07:00 -
Rule sol88 1988 only - Sep 22 11:52:40s 0:07:20 -
Rule sol88 1988 only - Sep 23 11:52:20s 0:07:40 -
Rule sol88 1988 only - Sep 24 11:52:00s 0:08:00 -
Rule sol88 1988 only - Sep 25 11:51:40s 0:08:20 -
Rule sol88 1988 only - Sep 26 11:51:15s 0:08:45 -
Rule sol88 1988 only - Sep 27 11:50:55s 0:09:05 -
Rule sol88 1988 only - Sep 28 11:50:35s 0:09:25 -
Rule sol88 1988 only - Sep 29 11:50:15s 0:09:45 -
Rule sol88 1988 only - Sep 30 11:49:55s 0:10:05 -
Rule sol88 1988 only - Oct 1 11:49:35s 0:10:25 -
Rule sol88 1988 only - Oct 2 11:49:20s 0:10:40 -
Rule sol88 1988 only - Oct 3 11:49:00s 0:11:00 -
Rule sol88 1988 only - Oct 4 11:48:40s 0:11:20 -
Rule sol88 1988 only - Oct 5 11:48:25s 0:11:35 -
Rule sol88 1988 only - Oct 6 11:48:05s 0:11:55 -
Rule sol88 1988 only - Oct 7 11:47:50s 0:12:10 -
Rule sol88 1988 only - Oct 8 11:47:30s 0:12:30 -
Rule sol88 1988 only - Oct 9 11:47:15s 0:12:45 -
Rule sol88 1988 only - Oct 10 11:47:00s 0:13:00 -
Rule sol88 1988 only - Oct 11 11:46:45s 0:13:15 -
Rule sol88 1988 only - Oct 12 11:46:30s 0:13:30 -
Rule sol88 1988 only - Oct 13 11:46:15s 0:13:45 -
Rule sol88 1988 only - Oct 14 11:46:00s 0:14:00 -
Rule sol88 1988 only - Oct 15 11:45:45s 0:14:15 -
Rule sol88 1988 only - Oct 16 11:45:35s 0:14:25 -
Rule sol88 1988 only - Oct 17 11:45:20s 0:14:40 -
Rule sol88 1988 only - Oct 18 11:45:10s 0:14:50 -
Rule sol88 1988 only - Oct 19 11:45:00s 0:15:00 -
Rule sol88 1988 only - Oct 20 11:44:45s 0:15:15 -
Rule sol88 1988 only - Oct 21 11:44:40s 0:15:20 -
Rule sol88 1988 only - Oct 22 11:44:30s 0:15:30 -
Rule sol88 1988 only - Oct 23 11:44:20s 0:15:40 -
Rule sol88 1988 only - Oct 24 11:44:10s 0:15:50 -
Rule sol88 1988 only - Oct 25 11:44:05s 0:15:55 -
Rule sol88 1988 only - Oct 26 11:44:00s 0:16:00 -
Rule sol88 1988 only - Oct 27 11:43:55s 0:16:05 -
Rule sol88 1988 only - Oct 28 11:43:50s 0:16:10 -
Rule sol88 1988 only - Oct 29 11:43:45s 0:16:15 -
Rule sol88 1988 only - Oct 30 11:43:40s 0:16:20 -
Rule sol88 1988 only - Oct 31 11:43:40s 0:16:20 -
Rule sol88 1988 only - Nov 1 11:43:35s 0:16:25 -
Rule sol88 1988 only - Nov 2 11:43:35s 0:16:25 -
Rule sol88 1988 only - Nov 3 11:43:35s 0:16:25 -
Rule sol88 1988 only - Nov 4 11:43:35s 0:16:25 -
Rule sol88 1988 only - Nov 5 11:43:40s 0:16:20 -
Rule sol88 1988 only - Nov 6 11:43:40s 0:16:20 -
Rule sol88 1988 only - Nov 7 11:43:45s 0:16:15 -
Rule sol88 1988 only - Nov 8 11:43:45s 0:16:15 -
Rule sol88 1988 only - Nov 9 11:43:50s 0:16:10 -
Rule sol88 1988 only - Nov 10 11:44:00s 0:16:00 -
Rule sol88 1988 only - Nov 11 11:44:05s 0:15:55 -
Rule sol88 1988 only - Nov 12 11:44:10s 0:15:50 -
Rule sol88 1988 only - Nov 13 11:44:20s 0:15:40 -
Rule sol88 1988 only - Nov 14 11:44:30s 0:15:30 -
Rule sol88 1988 only - Nov 15 11:44:40s 0:15:20 -
Rule sol88 1988 only - Nov 16 11:44:50s 0:15:10 -
Rule sol88 1988 only - Nov 17 11:45:00s 0:15:00 -
Rule sol88 1988 only - Nov 18 11:45:15s 0:14:45 -
Rule sol88 1988 only - Nov 19 11:45:25s 0:14:35 -
Rule sol88 1988 only - Nov 20 11:45:40s 0:14:20 -
Rule sol88 1988 only - Nov 21 11:45:55s 0:14:05 -
Rule sol88 1988 only - Nov 22 11:46:10s 0:13:50 -
Rule sol88 1988 only - Nov 23 11:46:30s 0:13:30 -
Rule sol88 1988 only - Nov 24 11:46:45s 0:13:15 -
Rule sol88 1988 only - Nov 25 11:47:05s 0:12:55 -
Rule sol88 1988 only - Nov 26 11:47:20s 0:12:40 -
Rule sol88 1988 only - Nov 27 11:47:40s 0:12:20 -
Rule sol88 1988 only - Nov 28 11:48:00s 0:12:00 -
Rule sol88 1988 only - Nov 29 11:48:25s 0:11:35 -
Rule sol88 1988 only - Nov 30 11:48:45s 0:11:15 -
Rule sol88 1988 only - Dec 1 11:49:05s 0:10:55 -
Rule sol88 1988 only - Dec 2 11:49:30s 0:10:30 -
Rule sol88 1988 only - Dec 3 11:49:55s 0:10:05 -
Rule sol88 1988 only - Dec 4 11:50:15s 0:09:45 -
Rule sol88 1988 only - Dec 5 11:50:40s 0:09:20 -
Rule sol88 1988 only - Dec 6 11:51:05s 0:08:55 -
Rule sol88 1988 only - Dec 7 11:51:35s 0:08:25 -
Rule sol88 1988 only - Dec 8 11:52:00s 0:08:00 -
Rule sol88 1988 only - Dec 9 11:52:25s 0:07:35 -
Rule sol88 1988 only - Dec 10 11:52:55s 0:07:05 -
Rule sol88 1988 only - Dec 11 11:53:20s 0:06:40 -
Rule sol88 1988 only - Dec 12 11:53:50s 0:06:10 -
Rule sol88 1988 only - Dec 13 11:54:15s 0:05:45 -
Rule sol88 1988 only - Dec 14 11:54:45s 0:05:15 -
Rule sol88 1988 only - Dec 15 11:55:15s 0:04:45 -
Rule sol88 1988 only - Dec 16 11:55:45s 0:04:15 -
Rule sol88 1988 only - Dec 17 11:56:15s 0:03:45 -
Rule sol88 1988 only - Dec 18 11:56:40s 0:03:20 -
Rule sol88 1988 only - Dec 19 11:57:10s 0:02:50 -
Rule sol88 1988 only - Dec 20 11:57:40s 0:02:20 -
Rule sol88 1988 only - Dec 21 11:58:10s 0:01:50 -
Rule sol88 1988 only - Dec 22 11:58:40s 0:01:20 -
Rule sol88 1988 only - Dec 23 11:59:10s 0:00:50 -
Rule sol88 1988 only - Dec 24 11:59:40s 0:00:20 -
Rule sol88 1988 only - Dec 25 12:00:10s -0:00:10 -
Rule sol88 1988 only - Dec 26 12:00:40s -0:00:40 -
Rule sol88 1988 only - Dec 27 12:01:10s -0:01:10 -
Rule sol88 1988 only - Dec 28 12:01:40s -0:01:40 -
Rule sol88 1988 only - Dec 29 12:02:10s -0:02:10 -
Rule sol88 1988 only - Dec 30 12:02:35s -0:02:35 -
Rule sol88 1988 only - Dec 31 12:03:05s -0:03:05 -
# Riyadh is at about 46 degrees 46 minutes East: 3 hrs, 7 mins, 4 secs
# Before and after 1988, we'll operate on local mean solar time.
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone Asia/Riyadh88 3:07:04 - zzz 1988
3:07:04 sol88 zzz 1989
3:07:04 - zzz
# For backward compatibility...
Link Asia/Riyadh88 Mideast/Riyadh88

395
share/zoneinfo/solar89 Normal file
View File

@ -0,0 +1,395 @@
# <pre>
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# Apparent noon times below are for Riyadh; they're a bit off for other places.
# Times were computed using a formula provided by the U. S. Naval Observatory:
# eqt = -105.8 * sin(l) + 596.2 * sin(2 * l) + 4.4 * sin(3 * l)
# -12.7 * sin(4 * l) - 429.0 * cos(l) - 2.1 * cos (2 * l)
# + 19.3 * cos(3 * l);
# where l is the "mean longitude of the Sun" given by
# l = 279.642 degrees + 0.985647 * d
# and d is the interval in days from January 0, 0 hours Universal Time
# (equaling the day of the year plus the fraction of a day from zero hours).
# The accuracy of the formula is plus or minus three seconds.
#
# Rounding to the nearest five seconds results in fewer than
# 256 different "time types"--a limit that's faced because time types are
# stored on disk as unsigned chars.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule sol89 1989 only - Jan 1 12:03:35s -0:03:35 -
Rule sol89 1989 only - Jan 2 12:04:05s -0:04:05 -
Rule sol89 1989 only - Jan 3 12:04:30s -0:04:30 -
Rule sol89 1989 only - Jan 4 12:05:00s -0:05:00 -
Rule sol89 1989 only - Jan 5 12:05:25s -0:05:25 -
Rule sol89 1989 only - Jan 6 12:05:50s -0:05:50 -
Rule sol89 1989 only - Jan 7 12:06:15s -0:06:15 -
Rule sol89 1989 only - Jan 8 12:06:45s -0:06:45 -
Rule sol89 1989 only - Jan 9 12:07:10s -0:07:10 -
Rule sol89 1989 only - Jan 10 12:07:35s -0:07:35 -
Rule sol89 1989 only - Jan 11 12:07:55s -0:07:55 -
Rule sol89 1989 only - Jan 12 12:08:20s -0:08:20 -
Rule sol89 1989 only - Jan 13 12:08:45s -0:08:45 -
Rule sol89 1989 only - Jan 14 12:09:05s -0:09:05 -
Rule sol89 1989 only - Jan 15 12:09:25s -0:09:25 -
Rule sol89 1989 only - Jan 16 12:09:45s -0:09:45 -
Rule sol89 1989 only - Jan 17 12:10:05s -0:10:05 -
Rule sol89 1989 only - Jan 18 12:10:25s -0:10:25 -
Rule sol89 1989 only - Jan 19 12:10:45s -0:10:45 -
Rule sol89 1989 only - Jan 20 12:11:05s -0:11:05 -
Rule sol89 1989 only - Jan 21 12:11:20s -0:11:20 -
Rule sol89 1989 only - Jan 22 12:11:35s -0:11:35 -
Rule sol89 1989 only - Jan 23 12:11:55s -0:11:55 -
Rule sol89 1989 only - Jan 24 12:12:10s -0:12:10 -
Rule sol89 1989 only - Jan 25 12:12:20s -0:12:20 -
Rule sol89 1989 only - Jan 26 12:12:35s -0:12:35 -
Rule sol89 1989 only - Jan 27 12:12:50s -0:12:50 -
Rule sol89 1989 only - Jan 28 12:13:00s -0:13:00 -
Rule sol89 1989 only - Jan 29 12:13:10s -0:13:10 -
Rule sol89 1989 only - Jan 30 12:13:20s -0:13:20 -
Rule sol89 1989 only - Jan 31 12:13:30s -0:13:30 -
Rule sol89 1989 only - Feb 1 12:13:40s -0:13:40 -
Rule sol89 1989 only - Feb 2 12:13:45s -0:13:45 -
Rule sol89 1989 only - Feb 3 12:13:55s -0:13:55 -
Rule sol89 1989 only - Feb 4 12:14:00s -0:14:00 -
Rule sol89 1989 only - Feb 5 12:14:05s -0:14:05 -
Rule sol89 1989 only - Feb 6 12:14:10s -0:14:10 -
Rule sol89 1989 only - Feb 7 12:14:10s -0:14:10 -
Rule sol89 1989 only - Feb 8 12:14:15s -0:14:15 -
Rule sol89 1989 only - Feb 9 12:14:15s -0:14:15 -
Rule sol89 1989 only - Feb 10 12:14:20s -0:14:20 -
Rule sol89 1989 only - Feb 11 12:14:20s -0:14:20 -
Rule sol89 1989 only - Feb 12 12:14:20s -0:14:20 -
Rule sol89 1989 only - Feb 13 12:14:15s -0:14:15 -
Rule sol89 1989 only - Feb 14 12:14:15s -0:14:15 -
Rule sol89 1989 only - Feb 15 12:14:10s -0:14:10 -
Rule sol89 1989 only - Feb 16 12:14:10s -0:14:10 -
Rule sol89 1989 only - Feb 17 12:14:05s -0:14:05 -
Rule sol89 1989 only - Feb 18 12:14:00s -0:14:00 -
Rule sol89 1989 only - Feb 19 12:13:55s -0:13:55 -
Rule sol89 1989 only - Feb 20 12:13:50s -0:13:50 -
Rule sol89 1989 only - Feb 21 12:13:40s -0:13:40 -
Rule sol89 1989 only - Feb 22 12:13:35s -0:13:35 -
Rule sol89 1989 only - Feb 23 12:13:25s -0:13:25 -
Rule sol89 1989 only - Feb 24 12:13:15s -0:13:15 -
Rule sol89 1989 only - Feb 25 12:13:05s -0:13:05 -
Rule sol89 1989 only - Feb 26 12:12:55s -0:12:55 -
Rule sol89 1989 only - Feb 27 12:12:45s -0:12:45 -
Rule sol89 1989 only - Feb 28 12:12:35s -0:12:35 -
Rule sol89 1989 only - Mar 1 12:12:25s -0:12:25 -
Rule sol89 1989 only - Mar 2 12:12:10s -0:12:10 -
Rule sol89 1989 only - Mar 3 12:12:00s -0:12:00 -
Rule sol89 1989 only - Mar 4 12:11:45s -0:11:45 -
Rule sol89 1989 only - Mar 5 12:11:35s -0:11:35 -
Rule sol89 1989 only - Mar 6 12:11:20s -0:11:20 -
Rule sol89 1989 only - Mar 7 12:11:05s -0:11:05 -
Rule sol89 1989 only - Mar 8 12:10:50s -0:10:50 -
Rule sol89 1989 only - Mar 9 12:10:35s -0:10:35 -
Rule sol89 1989 only - Mar 10 12:10:20s -0:10:20 -
Rule sol89 1989 only - Mar 11 12:10:05s -0:10:05 -
Rule sol89 1989 only - Mar 12 12:09:50s -0:09:50 -
Rule sol89 1989 only - Mar 13 12:09:30s -0:09:30 -
Rule sol89 1989 only - Mar 14 12:09:15s -0:09:15 -
Rule sol89 1989 only - Mar 15 12:09:00s -0:09:00 -
Rule sol89 1989 only - Mar 16 12:08:40s -0:08:40 -
Rule sol89 1989 only - Mar 17 12:08:25s -0:08:25 -
Rule sol89 1989 only - Mar 18 12:08:05s -0:08:05 -
Rule sol89 1989 only - Mar 19 12:07:50s -0:07:50 -
Rule sol89 1989 only - Mar 20 12:07:30s -0:07:30 -
Rule sol89 1989 only - Mar 21 12:07:15s -0:07:15 -
Rule sol89 1989 only - Mar 22 12:06:55s -0:06:55 -
Rule sol89 1989 only - Mar 23 12:06:35s -0:06:35 -
Rule sol89 1989 only - Mar 24 12:06:20s -0:06:20 -
Rule sol89 1989 only - Mar 25 12:06:00s -0:06:00 -
Rule sol89 1989 only - Mar 26 12:05:40s -0:05:40 -
Rule sol89 1989 only - Mar 27 12:05:25s -0:05:25 -
Rule sol89 1989 only - Mar 28 12:05:05s -0:05:05 -
Rule sol89 1989 only - Mar 29 12:04:50s -0:04:50 -
Rule sol89 1989 only - Mar 30 12:04:30s -0:04:30 -
Rule sol89 1989 only - Mar 31 12:04:10s -0:04:10 -
Rule sol89 1989 only - Apr 1 12:03:55s -0:03:55 -
Rule sol89 1989 only - Apr 2 12:03:35s -0:03:35 -
Rule sol89 1989 only - Apr 3 12:03:20s -0:03:20 -
Rule sol89 1989 only - Apr 4 12:03:00s -0:03:00 -
Rule sol89 1989 only - Apr 5 12:02:45s -0:02:45 -
Rule sol89 1989 only - Apr 6 12:02:25s -0:02:25 -
Rule sol89 1989 only - Apr 7 12:02:10s -0:02:10 -
Rule sol89 1989 only - Apr 8 12:01:50s -0:01:50 -
Rule sol89 1989 only - Apr 9 12:01:35s -0:01:35 -
Rule sol89 1989 only - Apr 10 12:01:20s -0:01:20 -
Rule sol89 1989 only - Apr 11 12:01:05s -0:01:05 -
Rule sol89 1989 only - Apr 12 12:00:50s -0:00:50 -
Rule sol89 1989 only - Apr 13 12:00:35s -0:00:35 -
Rule sol89 1989 only - Apr 14 12:00:20s -0:00:20 -
Rule sol89 1989 only - Apr 15 12:00:05s -0:00:05 -
Rule sol89 1989 only - Apr 16 11:59:50s 0:00:10 -
Rule sol89 1989 only - Apr 17 11:59:35s 0:00:25 -
Rule sol89 1989 only - Apr 18 11:59:20s 0:00:40 -
Rule sol89 1989 only - Apr 19 11:59:10s 0:00:50 -
Rule sol89 1989 only - Apr 20 11:58:55s 0:01:05 -
Rule sol89 1989 only - Apr 21 11:58:45s 0:01:15 -
Rule sol89 1989 only - Apr 22 11:58:30s 0:01:30 -
Rule sol89 1989 only - Apr 23 11:58:20s 0:01:40 -
Rule sol89 1989 only - Apr 24 11:58:10s 0:01:50 -
Rule sol89 1989 only - Apr 25 11:58:00s 0:02:00 -
Rule sol89 1989 only - Apr 26 11:57:50s 0:02:10 -
Rule sol89 1989 only - Apr 27 11:57:40s 0:02:20 -
Rule sol89 1989 only - Apr 28 11:57:30s 0:02:30 -
Rule sol89 1989 only - Apr 29 11:57:20s 0:02:40 -
Rule sol89 1989 only - Apr 30 11:57:15s 0:02:45 -
Rule sol89 1989 only - May 1 11:57:05s 0:02:55 -
Rule sol89 1989 only - May 2 11:57:00s 0:03:00 -
Rule sol89 1989 only - May 3 11:56:50s 0:03:10 -
Rule sol89 1989 only - May 4 11:56:45s 0:03:15 -
Rule sol89 1989 only - May 5 11:56:40s 0:03:20 -
Rule sol89 1989 only - May 6 11:56:35s 0:03:25 -
Rule sol89 1989 only - May 7 11:56:30s 0:03:30 -
Rule sol89 1989 only - May 8 11:56:30s 0:03:30 -
Rule sol89 1989 only - May 9 11:56:25s 0:03:35 -
Rule sol89 1989 only - May 10 11:56:25s 0:03:35 -
Rule sol89 1989 only - May 11 11:56:20s 0:03:40 -
Rule sol89 1989 only - May 12 11:56:20s 0:03:40 -
Rule sol89 1989 only - May 13 11:56:20s 0:03:40 -
Rule sol89 1989 only - May 14 11:56:20s 0:03:40 -
Rule sol89 1989 only - May 15 11:56:20s 0:03:40 -
Rule sol89 1989 only - May 16 11:56:20s 0:03:40 -
Rule sol89 1989 only - May 17 11:56:20s 0:03:40 -
Rule sol89 1989 only - May 18 11:56:25s 0:03:35 -
Rule sol89 1989 only - May 19 11:56:25s 0:03:35 -
Rule sol89 1989 only - May 20 11:56:30s 0:03:30 -
Rule sol89 1989 only - May 21 11:56:35s 0:03:25 -
Rule sol89 1989 only - May 22 11:56:35s 0:03:25 -
Rule sol89 1989 only - May 23 11:56:40s 0:03:20 -
Rule sol89 1989 only - May 24 11:56:45s 0:03:15 -
Rule sol89 1989 only - May 25 11:56:55s 0:03:05 -
Rule sol89 1989 only - May 26 11:57:00s 0:03:00 -
Rule sol89 1989 only - May 27 11:57:05s 0:02:55 -
Rule sol89 1989 only - May 28 11:57:15s 0:02:45 -
Rule sol89 1989 only - May 29 11:57:20s 0:02:40 -
Rule sol89 1989 only - May 30 11:57:30s 0:02:30 -
Rule sol89 1989 only - May 31 11:57:35s 0:02:25 -
Rule sol89 1989 only - Jun 1 11:57:45s 0:02:15 -
Rule sol89 1989 only - Jun 2 11:57:55s 0:02:05 -
Rule sol89 1989 only - Jun 3 11:58:05s 0:01:55 -
Rule sol89 1989 only - Jun 4 11:58:15s 0:01:45 -
Rule sol89 1989 only - Jun 5 11:58:25s 0:01:35 -
Rule sol89 1989 only - Jun 6 11:58:35s 0:01:25 -
Rule sol89 1989 only - Jun 7 11:58:45s 0:01:15 -
Rule sol89 1989 only - Jun 8 11:59:00s 0:01:00 -
Rule sol89 1989 only - Jun 9 11:59:10s 0:00:50 -
Rule sol89 1989 only - Jun 10 11:59:20s 0:00:40 -
Rule sol89 1989 only - Jun 11 11:59:35s 0:00:25 -
Rule sol89 1989 only - Jun 12 11:59:45s 0:00:15 -
Rule sol89 1989 only - Jun 13 12:00:00s 0:00:00 -
Rule sol89 1989 only - Jun 14 12:00:10s -0:00:10 -
Rule sol89 1989 only - Jun 15 12:00:25s -0:00:25 -
Rule sol89 1989 only - Jun 16 12:00:35s -0:00:35 -
Rule sol89 1989 only - Jun 17 12:00:50s -0:00:50 -
Rule sol89 1989 only - Jun 18 12:01:05s -0:01:05 -
Rule sol89 1989 only - Jun 19 12:01:15s -0:01:15 -
Rule sol89 1989 only - Jun 20 12:01:30s -0:01:30 -
Rule sol89 1989 only - Jun 21 12:01:40s -0:01:40 -
Rule sol89 1989 only - Jun 22 12:01:55s -0:01:55 -
Rule sol89 1989 only - Jun 23 12:02:10s -0:02:10 -
Rule sol89 1989 only - Jun 24 12:02:20s -0:02:20 -
Rule sol89 1989 only - Jun 25 12:02:35s -0:02:35 -
Rule sol89 1989 only - Jun 26 12:02:45s -0:02:45 -
Rule sol89 1989 only - Jun 27 12:03:00s -0:03:00 -
Rule sol89 1989 only - Jun 28 12:03:10s -0:03:10 -
Rule sol89 1989 only - Jun 29 12:03:25s -0:03:25 -
Rule sol89 1989 only - Jun 30 12:03:35s -0:03:35 -
Rule sol89 1989 only - Jul 1 12:03:45s -0:03:45 -
Rule sol89 1989 only - Jul 2 12:04:00s -0:04:00 -
Rule sol89 1989 only - Jul 3 12:04:10s -0:04:10 -
Rule sol89 1989 only - Jul 4 12:04:20s -0:04:20 -
Rule sol89 1989 only - Jul 5 12:04:30s -0:04:30 -
Rule sol89 1989 only - Jul 6 12:04:40s -0:04:40 -
Rule sol89 1989 only - Jul 7 12:04:50s -0:04:50 -
Rule sol89 1989 only - Jul 8 12:05:00s -0:05:00 -
Rule sol89 1989 only - Jul 9 12:05:10s -0:05:10 -
Rule sol89 1989 only - Jul 10 12:05:20s -0:05:20 -
Rule sol89 1989 only - Jul 11 12:05:25s -0:05:25 -
Rule sol89 1989 only - Jul 12 12:05:35s -0:05:35 -
Rule sol89 1989 only - Jul 13 12:05:40s -0:05:40 -
Rule sol89 1989 only - Jul 14 12:05:50s -0:05:50 -
Rule sol89 1989 only - Jul 15 12:05:55s -0:05:55 -
Rule sol89 1989 only - Jul 16 12:06:00s -0:06:00 -
Rule sol89 1989 only - Jul 17 12:06:05s -0:06:05 -
Rule sol89 1989 only - Jul 18 12:06:10s -0:06:10 -
Rule sol89 1989 only - Jul 19 12:06:15s -0:06:15 -
Rule sol89 1989 only - Jul 20 12:06:20s -0:06:20 -
Rule sol89 1989 only - Jul 21 12:06:20s -0:06:20 -
Rule sol89 1989 only - Jul 22 12:06:25s -0:06:25 -
Rule sol89 1989 only - Jul 23 12:06:25s -0:06:25 -
Rule sol89 1989 only - Jul 24 12:06:30s -0:06:30 -
Rule sol89 1989 only - Jul 25 12:06:30s -0:06:30 -
Rule sol89 1989 only - Jul 26 12:06:30s -0:06:30 -
Rule sol89 1989 only - Jul 27 12:06:30s -0:06:30 -
Rule sol89 1989 only - Jul 28 12:06:30s -0:06:30 -
Rule sol89 1989 only - Jul 29 12:06:25s -0:06:25 -
Rule sol89 1989 only - Jul 30 12:06:25s -0:06:25 -
Rule sol89 1989 only - Jul 31 12:06:20s -0:06:20 -
Rule sol89 1989 only - Aug 1 12:06:20s -0:06:20 -
Rule sol89 1989 only - Aug 2 12:06:15s -0:06:15 -
Rule sol89 1989 only - Aug 3 12:06:10s -0:06:10 -
Rule sol89 1989 only - Aug 4 12:06:05s -0:06:05 -
Rule sol89 1989 only - Aug 5 12:06:00s -0:06:00 -
Rule sol89 1989 only - Aug 6 12:05:50s -0:05:50 -
Rule sol89 1989 only - Aug 7 12:05:45s -0:05:45 -
Rule sol89 1989 only - Aug 8 12:05:35s -0:05:35 -
Rule sol89 1989 only - Aug 9 12:05:30s -0:05:30 -
Rule sol89 1989 only - Aug 10 12:05:20s -0:05:20 -
Rule sol89 1989 only - Aug 11 12:05:10s -0:05:10 -
Rule sol89 1989 only - Aug 12 12:05:00s -0:05:00 -
Rule sol89 1989 only - Aug 13 12:04:50s -0:04:50 -
Rule sol89 1989 only - Aug 14 12:04:40s -0:04:40 -
Rule sol89 1989 only - Aug 15 12:04:30s -0:04:30 -
Rule sol89 1989 only - Aug 16 12:04:15s -0:04:15 -
Rule sol89 1989 only - Aug 17 12:04:05s -0:04:05 -
Rule sol89 1989 only - Aug 18 12:03:50s -0:03:50 -
Rule sol89 1989 only - Aug 19 12:03:35s -0:03:35 -
Rule sol89 1989 only - Aug 20 12:03:25s -0:03:25 -
Rule sol89 1989 only - Aug 21 12:03:10s -0:03:10 -
Rule sol89 1989 only - Aug 22 12:02:55s -0:02:55 -
Rule sol89 1989 only - Aug 23 12:02:40s -0:02:40 -
Rule sol89 1989 only - Aug 24 12:02:20s -0:02:20 -
Rule sol89 1989 only - Aug 25 12:02:05s -0:02:05 -
Rule sol89 1989 only - Aug 26 12:01:50s -0:01:50 -
Rule sol89 1989 only - Aug 27 12:01:30s -0:01:30 -
Rule sol89 1989 only - Aug 28 12:01:15s -0:01:15 -
Rule sol89 1989 only - Aug 29 12:00:55s -0:00:55 -
Rule sol89 1989 only - Aug 30 12:00:40s -0:00:40 -
Rule sol89 1989 only - Aug 31 12:00:20s -0:00:20 -
Rule sol89 1989 only - Sep 1 12:00:00s 0:00:00 -
Rule sol89 1989 only - Sep 2 11:59:45s 0:00:15 -
Rule sol89 1989 only - Sep 3 11:59:25s 0:00:35 -
Rule sol89 1989 only - Sep 4 11:59:05s 0:00:55 -
Rule sol89 1989 only - Sep 5 11:58:45s 0:01:15 -
Rule sol89 1989 only - Sep 6 11:58:25s 0:01:35 -
Rule sol89 1989 only - Sep 7 11:58:05s 0:01:55 -
Rule sol89 1989 only - Sep 8 11:57:45s 0:02:15 -
Rule sol89 1989 only - Sep 9 11:57:20s 0:02:40 -
Rule sol89 1989 only - Sep 10 11:57:00s 0:03:00 -
Rule sol89 1989 only - Sep 11 11:56:40s 0:03:20 -
Rule sol89 1989 only - Sep 12 11:56:20s 0:03:40 -
Rule sol89 1989 only - Sep 13 11:56:00s 0:04:00 -
Rule sol89 1989 only - Sep 14 11:55:35s 0:04:25 -
Rule sol89 1989 only - Sep 15 11:55:15s 0:04:45 -
Rule sol89 1989 only - Sep 16 11:54:55s 0:05:05 -
Rule sol89 1989 only - Sep 17 11:54:35s 0:05:25 -
Rule sol89 1989 only - Sep 18 11:54:10s 0:05:50 -
Rule sol89 1989 only - Sep 19 11:53:50s 0:06:10 -
Rule sol89 1989 only - Sep 20 11:53:30s 0:06:30 -
Rule sol89 1989 only - Sep 21 11:53:10s 0:06:50 -
Rule sol89 1989 only - Sep 22 11:52:45s 0:07:15 -
Rule sol89 1989 only - Sep 23 11:52:25s 0:07:35 -
Rule sol89 1989 only - Sep 24 11:52:05s 0:07:55 -
Rule sol89 1989 only - Sep 25 11:51:45s 0:08:15 -
Rule sol89 1989 only - Sep 26 11:51:25s 0:08:35 -
Rule sol89 1989 only - Sep 27 11:51:05s 0:08:55 -
Rule sol89 1989 only - Sep 28 11:50:40s 0:09:20 -
Rule sol89 1989 only - Sep 29 11:50:20s 0:09:40 -
Rule sol89 1989 only - Sep 30 11:50:00s 0:10:00 -
Rule sol89 1989 only - Oct 1 11:49:45s 0:10:15 -
Rule sol89 1989 only - Oct 2 11:49:25s 0:10:35 -
Rule sol89 1989 only - Oct 3 11:49:05s 0:10:55 -
Rule sol89 1989 only - Oct 4 11:48:45s 0:11:15 -
Rule sol89 1989 only - Oct 5 11:48:30s 0:11:30 -
Rule sol89 1989 only - Oct 6 11:48:10s 0:11:50 -
Rule sol89 1989 only - Oct 7 11:47:50s 0:12:10 -
Rule sol89 1989 only - Oct 8 11:47:35s 0:12:25 -
Rule sol89 1989 only - Oct 9 11:47:20s 0:12:40 -
Rule sol89 1989 only - Oct 10 11:47:00s 0:13:00 -
Rule sol89 1989 only - Oct 11 11:46:45s 0:13:15 -
Rule sol89 1989 only - Oct 12 11:46:30s 0:13:30 -
Rule sol89 1989 only - Oct 13 11:46:15s 0:13:45 -
Rule sol89 1989 only - Oct 14 11:46:00s 0:14:00 -
Rule sol89 1989 only - Oct 15 11:45:50s 0:14:10 -
Rule sol89 1989 only - Oct 16 11:45:35s 0:14:25 -
Rule sol89 1989 only - Oct 17 11:45:20s 0:14:40 -
Rule sol89 1989 only - Oct 18 11:45:10s 0:14:50 -
Rule sol89 1989 only - Oct 19 11:45:00s 0:15:00 -
Rule sol89 1989 only - Oct 20 11:44:50s 0:15:10 -
Rule sol89 1989 only - Oct 21 11:44:40s 0:15:20 -
Rule sol89 1989 only - Oct 22 11:44:30s 0:15:30 -
Rule sol89 1989 only - Oct 23 11:44:20s 0:15:40 -
Rule sol89 1989 only - Oct 24 11:44:10s 0:15:50 -
Rule sol89 1989 only - Oct 25 11:44:05s 0:15:55 -
Rule sol89 1989 only - Oct 26 11:44:00s 0:16:00 -
Rule sol89 1989 only - Oct 27 11:43:50s 0:16:10 -
Rule sol89 1989 only - Oct 28 11:43:45s 0:16:15 -
Rule sol89 1989 only - Oct 29 11:43:40s 0:16:20 -
Rule sol89 1989 only - Oct 30 11:43:40s 0:16:20 -
Rule sol89 1989 only - Oct 31 11:43:35s 0:16:25 -
Rule sol89 1989 only - Nov 1 11:43:35s 0:16:25 -
Rule sol89 1989 only - Nov 2 11:43:35s 0:16:25 -
Rule sol89 1989 only - Nov 3 11:43:30s 0:16:30 -
Rule sol89 1989 only - Nov 4 11:43:35s 0:16:25 -
Rule sol89 1989 only - Nov 5 11:43:35s 0:16:25 -
Rule sol89 1989 only - Nov 6 11:43:35s 0:16:25 -
Rule sol89 1989 only - Nov 7 11:43:40s 0:16:20 -
Rule sol89 1989 only - Nov 8 11:43:45s 0:16:15 -
Rule sol89 1989 only - Nov 9 11:43:50s 0:16:10 -
Rule sol89 1989 only - Nov 10 11:43:55s 0:16:05 -
Rule sol89 1989 only - Nov 11 11:44:00s 0:16:00 -
Rule sol89 1989 only - Nov 12 11:44:05s 0:15:55 -
Rule sol89 1989 only - Nov 13 11:44:15s 0:15:45 -
Rule sol89 1989 only - Nov 14 11:44:25s 0:15:35 -
Rule sol89 1989 only - Nov 15 11:44:35s 0:15:25 -
Rule sol89 1989 only - Nov 16 11:44:45s 0:15:15 -
Rule sol89 1989 only - Nov 17 11:44:55s 0:15:05 -
Rule sol89 1989 only - Nov 18 11:45:10s 0:14:50 -
Rule sol89 1989 only - Nov 19 11:45:20s 0:14:40 -
Rule sol89 1989 only - Nov 20 11:45:35s 0:14:25 -
Rule sol89 1989 only - Nov 21 11:45:50s 0:14:10 -
Rule sol89 1989 only - Nov 22 11:46:05s 0:13:55 -
Rule sol89 1989 only - Nov 23 11:46:25s 0:13:35 -
Rule sol89 1989 only - Nov 24 11:46:40s 0:13:20 -
Rule sol89 1989 only - Nov 25 11:47:00s 0:13:00 -
Rule sol89 1989 only - Nov 26 11:47:20s 0:12:40 -
Rule sol89 1989 only - Nov 27 11:47:35s 0:12:25 -
Rule sol89 1989 only - Nov 28 11:47:55s 0:12:05 -
Rule sol89 1989 only - Nov 29 11:48:20s 0:11:40 -
Rule sol89 1989 only - Nov 30 11:48:40s 0:11:20 -
Rule sol89 1989 only - Dec 1 11:49:00s 0:11:00 -
Rule sol89 1989 only - Dec 2 11:49:25s 0:10:35 -
Rule sol89 1989 only - Dec 3 11:49:50s 0:10:10 -
Rule sol89 1989 only - Dec 4 11:50:15s 0:09:45 -
Rule sol89 1989 only - Dec 5 11:50:35s 0:09:25 -
Rule sol89 1989 only - Dec 6 11:51:00s 0:09:00 -
Rule sol89 1989 only - Dec 7 11:51:30s 0:08:30 -
Rule sol89 1989 only - Dec 8 11:51:55s 0:08:05 -
Rule sol89 1989 only - Dec 9 11:52:20s 0:07:40 -
Rule sol89 1989 only - Dec 10 11:52:50s 0:07:10 -
Rule sol89 1989 only - Dec 11 11:53:15s 0:06:45 -
Rule sol89 1989 only - Dec 12 11:53:45s 0:06:15 -
Rule sol89 1989 only - Dec 13 11:54:10s 0:05:50 -
Rule sol89 1989 only - Dec 14 11:54:40s 0:05:20 -
Rule sol89 1989 only - Dec 15 11:55:10s 0:04:50 -
Rule sol89 1989 only - Dec 16 11:55:40s 0:04:20 -
Rule sol89 1989 only - Dec 17 11:56:05s 0:03:55 -
Rule sol89 1989 only - Dec 18 11:56:35s 0:03:25 -
Rule sol89 1989 only - Dec 19 11:57:05s 0:02:55 -
Rule sol89 1989 only - Dec 20 11:57:35s 0:02:25 -
Rule sol89 1989 only - Dec 21 11:58:05s 0:01:55 -
Rule sol89 1989 only - Dec 22 11:58:35s 0:01:25 -
Rule sol89 1989 only - Dec 23 11:59:05s 0:00:55 -
Rule sol89 1989 only - Dec 24 11:59:35s 0:00:25 -
Rule sol89 1989 only - Dec 25 12:00:05s -0:00:05 -
Rule sol89 1989 only - Dec 26 12:00:35s -0:00:35 -
Rule sol89 1989 only - Dec 27 12:01:05s -0:01:05 -
Rule sol89 1989 only - Dec 28 12:01:35s -0:01:35 -
Rule sol89 1989 only - Dec 29 12:02:00s -0:02:00 -
Rule sol89 1989 only - Dec 30 12:02:30s -0:02:30 -
Rule sol89 1989 only - Dec 31 12:03:00s -0:03:00 -
# Riyadh is at about 46 degrees 46 minutes East: 3 hrs, 7 mins, 4 secs
# Before and after 1989, we'll operate on local mean solar time.
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone Asia/Riyadh89 3:07:04 - zzz 1989
3:07:04 sol89 zzz 1990
3:07:04 - zzz
# For backward compatibility...
Link Asia/Riyadh89 Mideast/Riyadh89

1699
share/zoneinfo/southamerica Normal file

File diff suppressed because it is too large Load Diff

37
share/zoneinfo/systemv Normal file
View File

@ -0,0 +1,37 @@
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
# Old rules, should the need arise.
# No attempt is made to handle Newfoundland, since it cannot be expressed
# using the System V "TZ" scheme (half-hour offset), or anything outside
# North America (no support for non-standard DST start/end dates), nor
# the changes in the DST rules in the US after 1976 (which occurred after
# the old rules were written).
#
# If you need the old rules, uncomment ## lines.
# Compile this *without* leap second correction for true conformance.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule SystemV min 1973 - Apr lastSun 2:00 1:00 D
Rule SystemV min 1973 - Oct lastSun 2:00 0 S
Rule SystemV 1974 only - Jan 6 2:00 1:00 D
Rule SystemV 1974 only - Nov lastSun 2:00 0 S
Rule SystemV 1975 only - Feb 23 2:00 1:00 D
Rule SystemV 1975 only - Oct lastSun 2:00 0 S
Rule SystemV 1976 max - Apr lastSun 2:00 1:00 D
Rule SystemV 1976 max - Oct lastSun 2:00 0 S
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
## Zone SystemV/AST4ADT -4:00 SystemV A%sT
## Zone SystemV/EST5EDT -5:00 SystemV E%sT
## Zone SystemV/CST6CDT -6:00 SystemV C%sT
## Zone SystemV/MST7MDT -7:00 SystemV M%sT
## Zone SystemV/PST8PDT -8:00 SystemV P%sT
## Zone SystemV/YST9YDT -9:00 SystemV Y%sT
## Zone SystemV/AST4 -4:00 - AST
## Zone SystemV/EST5 -5:00 - EST
## Zone SystemV/CST6 -6:00 - CST
## Zone SystemV/MST7 -7:00 - MST
## Zone SystemV/PST8 -8:00 - PST
## Zone SystemV/YST9 -9:00 - YST
## Zone SystemV/HST10 -10:00 - HST

38
share/zoneinfo/yearistype.sh Executable file
View File

@ -0,0 +1,38 @@
#! /bin/sh
: 'This file is in the public domain, so clarified as of'
: '2006-07-17 by Arthur David Olson.'
case $#-$1 in
2-|2-0*|2-*[!0-9]*)
echo "$0: wild year: $1" >&2
exit 1 ;;
esac
case $#-$2 in
2-even)
case $1 in
*[24680]) exit 0 ;;
*) exit 1 ;;
esac ;;
2-nonpres|2-nonuspres)
case $1 in
*[02468][048]|*[13579][26]) exit 1 ;;
*) exit 0 ;;
esac ;;
2-odd)
case $1 in
*[13579]) exit 0 ;;
*) exit 1 ;;
esac ;;
2-uspres)
case $1 in
*[02468][048]|*[13579][26]) exit 0 ;;
*) exit 1 ;;
esac ;;
2-*)
echo "$0: wild type: $2" >&2 ;;
esac
echo "$0: usage is $0 year even|odd|uspres|nonpres|nonuspres" >&2
exit 1

439
share/zoneinfo/zone.tab Normal file
View File

@ -0,0 +1,439 @@
# tz zone descriptions (deprecated version)
#
# This file is in the public domain, so clarified as of
# 2009-05-17 by Arthur David Olson.
#
# From Paul Eggert (2014-07-31):
# This file is intended as a backward-compatibility aid for older programs.
# New programs should use zone1970.tab. This file is like zone1970.tab (see
# zone1970.tab's comments), but with the following additional restrictions:
#
# 1. This file contains only ASCII characters.
# 2. The first data column contains exactly one country code.
#
# Because of (2), each row stands for an area that is the intersection
# of a region identified by a country code and of a zone where civil
# clocks have agreed since 1970; this is a narrower definition than
# that of zone1970.tab.
#
# This table is intended as an aid for users, to help them select time
# zone data appropriate for their practical needs. It is not intended
# to take or endorse any position on legal or territorial claims.
#
#country-
#code coordinates TZ comments
AD +4230+00131 Europe/Andorra
AE +2518+05518 Asia/Dubai
AF +3431+06912 Asia/Kabul
AG +1703-06148 America/Antigua
AI +1812-06304 America/Anguilla
AL +4120+01950 Europe/Tirane
AM +4011+04430 Asia/Yerevan
AO -0848+01314 Africa/Luanda
AQ -7750+16636 Antarctica/McMurdo McMurdo, South Pole, Scott (New Zealand time)
AQ -6734-06808 Antarctica/Rothera Rothera Station, Adelaide Island
AQ -6448-06406 Antarctica/Palmer Palmer Station, Anvers Island
AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay
AQ -6835+07758 Antarctica/Davis Davis Station, Vestfold Hills
AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula
AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie
AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I
AQ -720041+0023206 Antarctica/Troll Troll Station, Queen Maud Land
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF)
AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN)
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
AR -2649-06513 America/Argentina/Tucuman Tucuman (TM)
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
AR -3319-06621 America/Argentina/San_Luis San Luis (SL)
AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC)
AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF)
AS -1416-17042 Pacific/Pago_Pago
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
AU -5430+15857 Antarctica/Macquarie Macquarie Island
AU -4253+14719 Australia/Hobart Tasmania - most locations
AU -3956+14352 Australia/Currie Tasmania - King Island
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales - most locations
AU -3157+14127 Australia/Broken_Hill New South Wales - Yancowinna
AU -2728+15302 Australia/Brisbane Queensland - most locations
AU -2016+14900 Australia/Lindeman Queensland - Holiday Islands
AU -3455+13835 Australia/Adelaide South Australia
AU -1228+13050 Australia/Darwin Northern Territory
AU -3157+11551 Australia/Perth Western Australia - most locations
AU -3143+12852 Australia/Eucla Western Australia - Eucla area
AW +1230-06958 America/Aruba
AX +6006+01957 Europe/Mariehamn
AZ +4023+04951 Asia/Baku
BA +4352+01825 Europe/Sarajevo
BB +1306-05937 America/Barbados
BD +2343+09025 Asia/Dhaka
BE +5050+00420 Europe/Brussels
BF +1222-00131 Africa/Ouagadougou
BG +4241+02319 Europe/Sofia
BH +2623+05035 Asia/Bahrain
BI -0323+02922 Africa/Bujumbura
BJ +0629+00237 Africa/Porto-Novo
BL +1753-06251 America/St_Barthelemy
BM +3217-06446 Atlantic/Bermuda
BN +0456+11455 Asia/Brunei
BO -1630-06809 America/La_Paz
BQ +120903-0681636 America/Kralendijk
BR -0351-03225 America/Noronha Atlantic islands
BR -0127-04829 America/Belem Amapa, E Para
BR -0343-03830 America/Fortaleza NE Brazil (MA, PI, CE, RN, PB)
BR -0803-03454 America/Recife Pernambuco
BR -0712-04812 America/Araguaina Tocantins
BR -0940-03543 America/Maceio Alagoas, Sergipe
BR -1259-03831 America/Bahia Bahia
BR -2332-04637 America/Sao_Paulo S & SE Brazil (GO, DF, MG, ES, RJ, SP, PR, SC, RS)
BR -2027-05437 America/Campo_Grande Mato Grosso do Sul
BR -1535-05605 America/Cuiaba Mato Grosso
BR -0226-05452 America/Santarem W Para
BR -0846-06354 America/Porto_Velho Rondonia
BR +0249-06040 America/Boa_Vista Roraima
BR -0308-06001 America/Manaus E Amazonas
BR -0640-06952 America/Eirunepe W Amazonas
BR -0958-06748 America/Rio_Branco Acre
BS +2505-07721 America/Nassau
BT +2728+08939 Asia/Thimphu
BW -2439+02555 Africa/Gaborone
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
CA +4734-05243 America/St_Johns Newfoundland Time, including SE Labrador
CA +4439-06336 America/Halifax Atlantic Time - Nova Scotia (most places), PEI
CA +4612-05957 America/Glace_Bay Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971
CA +4606-06447 America/Moncton Atlantic Time - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic Time - Labrador - most locations
CA +5125-05707 America/Blanc-Sablon Atlantic Standard Time - Quebec - Lower North Shore
CA +4339-07923 America/Toronto Eastern Time - Ontario & Quebec - most locations
CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut
CA +744144-0944945 America/Resolute Central Time - Resolute, Nunavut
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
CA +4843-09434 America/Rainy_River Central Time - Rainy River & Fort Frances, Ontario
CA +5024-10439 America/Regina Central Standard Time - Saskatchewan - most locations
CA +5017-10750 America/Swift_Current Central Standard Time - Saskatchewan - midwest
CA +5333-11328 America/Edmonton Mountain Time - Alberta, east British Columbia & west Saskatchewan
CA +690650-1050310 America/Cambridge_Bay Mountain Time - west Nunavut
CA +6227-11421 America/Yellowknife Mountain Time - central Northwest Territories
CA +682059-1334300 America/Inuvik Mountain Time - west Northwest Territories
CA +4906-11631 America/Creston Mountain Standard Time - Creston, British Columbia
CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
CA +4916-12307 America/Vancouver Pacific Time - west British Columbia
CA +6043-13503 America/Whitehorse Pacific Time - south Yukon
CA +6404-13925 America/Dawson Pacific Time - north Yukon
CC -1210+09655 Indian/Cocos
CD -0418+01518 Africa/Kinshasa west Dem. Rep. of Congo
CD -1140+02728 Africa/Lubumbashi east Dem. Rep. of Congo
CF +0422+01835 Africa/Bangui
CG -0416+01517 Africa/Brazzaville
CH +4723+00832 Europe/Zurich
CI +0519-00402 Africa/Abidjan
CK -2114-15946 Pacific/Rarotonga
CL -3327-07040 America/Santiago most locations
CL -2709-10926 Pacific/Easter Easter Island
CM +0403+00942 Africa/Douala
CN +3114+12128 Asia/Shanghai Beijing Time
CN +4348+08735 Asia/Urumqi Xinjiang Time
CO +0436-07405 America/Bogota
CR +0956-08405 America/Costa_Rica
CU +2308-08222 America/Havana
CV +1455-02331 Atlantic/Cape_Verde
CW +1211-06900 America/Curacao
CX -1025+10543 Indian/Christmas
CY +3510+03322 Asia/Nicosia
CZ +5005+01426 Europe/Prague
DE +5230+01322 Europe/Berlin most locations
DE +4742+00841 Europe/Busingen Busingen
DJ +1136+04309 Africa/Djibouti
DK +5540+01235 Europe/Copenhagen
DM +1518-06124 America/Dominica
DO +1828-06954 America/Santo_Domingo
DZ +3647+00303 Africa/Algiers
EC -0210-07950 America/Guayaquil mainland
EC -0054-08936 Pacific/Galapagos Galapagos Islands
EE +5925+02445 Europe/Tallinn
EG +3003+03115 Africa/Cairo
EH +2709-01312 Africa/El_Aaiun
ER +1520+03853 Africa/Asmara
ES +4024-00341 Europe/Madrid mainland
ES +3553-00519 Africa/Ceuta Ceuta & Melilla
ES +2806-01524 Atlantic/Canary Canary Islands
ET +0902+03842 Africa/Addis_Ababa
FI +6010+02458 Europe/Helsinki
FJ -1808+17825 Pacific/Fiji
FK -5142-05751 Atlantic/Stanley
FM +0725+15147 Pacific/Chuuk Chuuk (Truk) and Yap
FM +0658+15813 Pacific/Pohnpei Pohnpei (Ponape)
FM +0519+16259 Pacific/Kosrae Kosrae
FO +6201-00646 Atlantic/Faroe
FR +4852+00220 Europe/Paris
GA +0023+00927 Africa/Libreville
GB +513030-0000731 Europe/London
GD +1203-06145 America/Grenada
GE +4143+04449 Asia/Tbilisi
GF +0456-05220 America/Cayenne
GG +4927-00232 Europe/Guernsey
GH +0533-00013 Africa/Accra
GI +3608-00521 Europe/Gibraltar
GL +6411-05144 America/Godthab most locations
GL +7646-01840 America/Danmarkshavn east coast, north of Scoresbysund
GL +7029-02158 America/Scoresbysund Scoresbysund / Ittoqqortoormiit
GL +7634-06847 America/Thule Thule / Pituffik
GM +1328-01639 Africa/Banjul
GN +0931-01343 Africa/Conakry
GP +1614-06132 America/Guadeloupe
GQ +0345+00847 Africa/Malabo
GR +3758+02343 Europe/Athens
GS -5416-03632 Atlantic/South_Georgia
GT +1438-09031 America/Guatemala
GU +1328+14445 Pacific/Guam
GW +1151-01535 Africa/Bissau
GY +0648-05810 America/Guyana
HK +2217+11409 Asia/Hong_Kong
HN +1406-08713 America/Tegucigalpa
HR +4548+01558 Europe/Zagreb
HT +1832-07220 America/Port-au-Prince
HU +4730+01905 Europe/Budapest
ID -0610+10648 Asia/Jakarta Java & Sumatra
ID -0002+10920 Asia/Pontianak west & central Borneo
ID -0507+11924 Asia/Makassar east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tengarra, west Timor
ID -0232+14042 Asia/Jayapura west New Guinea (Irian Jaya) & Malukus (Moluccas)
IE +5320-00615 Europe/Dublin
IL +314650+0351326 Asia/Jerusalem
IM +5409-00428 Europe/Isle_of_Man
IN +2232+08822 Asia/Kolkata
IO -0720+07225 Indian/Chagos
IQ +3321+04425 Asia/Baghdad
IR +3540+05126 Asia/Tehran
IS +6409-02151 Atlantic/Reykjavik
IT +4154+01229 Europe/Rome
JE +4912-00207 Europe/Jersey
JM +175805-0764736 America/Jamaica
JO +3157+03556 Asia/Amman
JP +353916+1394441 Asia/Tokyo
KE -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KH +1133+10455 Asia/Phnom_Penh
KI +0125+17300 Pacific/Tarawa Gilbert Islands
KI -0308-17105 Pacific/Enderbury Phoenix Islands
KI +0152-15720 Pacific/Kiritimati Line Islands
KM -1141+04316 Indian/Comoro
KN +1718-06243 America/St_Kitts
KP +3901+12545 Asia/Pyongyang
KR +3733+12658 Asia/Seoul
KW +2920+04759 Asia/Kuwait
KY +1918-08123 America/Cayman
KZ +4315+07657 Asia/Almaty most locations
KZ +4448+06528 Asia/Qyzylorda Qyzylorda (Kyzylorda, Kzyl-Orda)
KZ +5017+05710 Asia/Aqtobe Aqtobe (Aktobe)
KZ +4431+05016 Asia/Aqtau Atyrau (Atirau, Gur'yev), Mangghystau (Mankistau)
KZ +5113+05121 Asia/Oral West Kazakhstan
LA +1758+10236 Asia/Vientiane
LB +3353+03530 Asia/Beirut
LC +1401-06100 America/St_Lucia
LI +4709+00931 Europe/Vaduz
LK +0656+07951 Asia/Colombo
LR +0618-01047 Africa/Monrovia
LS -2928+02730 Africa/Maseru
LT +5441+02519 Europe/Vilnius
LU +4936+00609 Europe/Luxembourg
LV +5657+02406 Europe/Riga
LY +3254+01311 Africa/Tripoli
MA +3339-00735 Africa/Casablanca
MC +4342+00723 Europe/Monaco
MD +4700+02850 Europe/Chisinau
ME +4226+01916 Europe/Podgorica
MF +1804-06305 America/Marigot
MG -1855+04731 Indian/Antananarivo
MH +0709+17112 Pacific/Majuro most locations
MH +0905+16720 Pacific/Kwajalein Kwajalein
MK +4159+02126 Europe/Skopje
ML +1239-00800 Africa/Bamako
MM +1647+09610 Asia/Rangoon
MN +4755+10653 Asia/Ulaanbaatar most locations
MN +4801+09139 Asia/Hovd Bayan-Olgiy, Govi-Altai, Hovd, Uvs, Zavkhan
MN +4804+11430 Asia/Choibalsan Dornod, Sukhbaatar
MO +2214+11335 Asia/Macau
MP +1512+14545 Pacific/Saipan
MQ +1436-06105 America/Martinique
MR +1806-01557 Africa/Nouakchott
MS +1643-06213 America/Montserrat
MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MW -1547+03500 Africa/Blantyre
MX +1924-09909 America/Mexico_City Central Time - most locations
MX +2105-08646 America/Cancun Central Time - Quintana Roo
MX +2058-08937 America/Merida Central Time - Campeche, Yucatan
MX +2540-10019 America/Monterrey Mexican Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas away from US border
MX +2550-09730 America/Matamoros US Central Time - Coahuila, Durango, Nuevo Leon, Tamaulipas near US border
MX +2313-10625 America/Mazatlan Mountain Time - S Baja, Nayarit, Sinaloa
MX +2838-10605 America/Chihuahua Mexican Mountain Time - Chihuahua away from US border
MX +2934-10425 America/Ojinaga US Mountain Time - Chihuahua near US border
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora
MX +3232-11701 America/Tijuana US Pacific Time - Baja California near US border
MX +3018-11452 America/Santa_Isabel Mexican Pacific Time - Baja California away from US border
MX +2048-10515 America/Bahia_Banderas Mexican Central Time - Bahia de Banderas
MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia
MY +0133+11020 Asia/Kuching Sabah & Sarawak
MZ -2558+03235 Africa/Maputo
NA -2234+01706 Africa/Windhoek
NC -2216+16627 Pacific/Noumea
NE +1331+00207 Africa/Niamey
NF -2903+16758 Pacific/Norfolk
NG +0627+00324 Africa/Lagos
NI +1209-08617 America/Managua
NL +5222+00454 Europe/Amsterdam
NO +5955+01045 Europe/Oslo
NP +2743+08519 Asia/Kathmandu
NR -0031+16655 Pacific/Nauru
NU -1901-16955 Pacific/Niue
NZ -3652+17446 Pacific/Auckland most locations
NZ -4357-17633 Pacific/Chatham Chatham Islands
OM +2336+05835 Asia/Muscat
PA +0858-07932 America/Panama
PE -1203-07703 America/Lima
PF -1732-14934 Pacific/Tahiti Society Islands
PF -0900-13930 Pacific/Marquesas Marquesas Islands
PF -2308-13457 Pacific/Gambier Gambier Islands
PG -0930+14710 Pacific/Port_Moresby
PH +1435+12100 Asia/Manila
PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
PN -2504-13005 Pacific/Pitcairn
PR +182806-0660622 America/Puerto_Rico
PS +3130+03428 Asia/Gaza Gaza Strip
PS +313200+0350542 Asia/Hebron West Bank
PT +3843-00908 Europe/Lisbon mainland
PT +3238-01654 Atlantic/Madeira Madeira Islands
PT +3744-02540 Atlantic/Azores Azores
PW +0720+13429 Pacific/Palau
PY -2516-05740 America/Asuncion
QA +2517+05132 Asia/Qatar
RE -2052+05528 Indian/Reunion
RO +4426+02606 Europe/Bucharest
RS +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad
RU +554521+0373704 Europe/Moscow Moscow+00 - west Russia
RU +4457+03406 Europe/Simferopol Moscow+00 - Crimea
RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea
RU +5312+05009 Europe/Samara Moscow+00 (Moscow+01 after 2014-10-26) - Samara, Udmurtia
RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals
RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia
RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk
RU +5345+08707 Asia/Novokuznetsk Moscow+03 (Moscow+04 after 2014-10-26) - Kemerovo
RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River
RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal
RU +5203+11328 Asia/Chita Moscow+06 (Moscow+05 after 2014-10-26) - Zabaykalsky
RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River
RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky
RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River
RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island
RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky
RU +5934+15048 Asia/Magadan Moscow+08 (Moscow+07 after 2014-10-26) - Magadan
RU +6728+15343 Asia/Srednekolymsk Moscow+08 - E Sakha, N Kuril Is
RU +5301+15839 Asia/Kamchatka Moscow+08 (Moscow+09 after 2014-10-26) - Kamchatka
RU +6445+17729 Asia/Anadyr Moscow+08 (Moscow+09 after 2014-10-26) - Bering Sea
RW -0157+03004 Africa/Kigali
SA +2438+04643 Asia/Riyadh
SB -0932+16012 Pacific/Guadalcanal
SC -0440+05528 Indian/Mahe
SD +1536+03232 Africa/Khartoum
SE +5920+01803 Europe/Stockholm
SG +0117+10351 Asia/Singapore
SH -1555-00542 Atlantic/St_Helena
SI +4603+01431 Europe/Ljubljana
SJ +7800+01600 Arctic/Longyearbyen
SK +4809+01707 Europe/Bratislava
SL +0830-01315 Africa/Freetown
SM +4355+01228 Europe/San_Marino
SN +1440-01726 Africa/Dakar
SO +0204+04522 Africa/Mogadishu
SR +0550-05510 America/Paramaribo
SS +0451+03136 Africa/Juba
ST +0020+00644 Africa/Sao_Tome
SV +1342-08912 America/El_Salvador
SX +180305-0630250 America/Lower_Princes
SY +3330+03618 Asia/Damascus
SZ -2618+03106 Africa/Mbabane
TC +2128-07108 America/Grand_Turk
TD +1207+01503 Africa/Ndjamena
TF -492110+0701303 Indian/Kerguelen
TG +0608+00113 Africa/Lome
TH +1345+10031 Asia/Bangkok
TJ +3835+06848 Asia/Dushanbe
TK -0922-17114 Pacific/Fakaofo
TL -0833+12535 Asia/Dili
TM +3757+05823 Asia/Ashgabat
TN +3648+01011 Africa/Tunis
TO -2110-17510 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
TT +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti
TW +2503+12130 Asia/Taipei
TZ -0648+03917 Africa/Dar_es_Salaam
UA +5026+03031 Europe/Kiev most locations
UA +4837+02218 Europe/Uzhgorod Ruthenia
UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk
UG +0019+03225 Africa/Kampala
UM +1645-16931 Pacific/Johnston Johnston Atoll
UM +2813-17722 Pacific/Midway Midway Islands
UM +1917+16637 Pacific/Wake Wake Island
US +404251-0740023 America/New_York Eastern Time
US +421953-0830245 America/Detroit Eastern Time - Michigan - most locations
US +381515-0854534 America/Kentucky/Louisville Eastern Time - Kentucky - Louisville area
US +364947-0845057 America/Kentucky/Monticello Eastern Time - Kentucky - Wayne County
US +394606-0860929 America/Indiana/Indianapolis Eastern Time - Indiana - most locations
US +384038-0873143 America/Indiana/Vincennes Eastern Time - Indiana - Daviess, Dubois, Knox & Martin Counties
US +410305-0863611 America/Indiana/Winamac Eastern Time - Indiana - Pulaski County
US +382232-0862041 America/Indiana/Marengo Eastern Time - Indiana - Crawford County
US +382931-0871643 America/Indiana/Petersburg Eastern Time - Indiana - Pike County
US +384452-0850402 America/Indiana/Vevay Eastern Time - Indiana - Switzerland County
US +415100-0873900 America/Chicago Central Time
US +375711-0864541 America/Indiana/Tell_City Central Time - Indiana - Perry County
US +411745-0863730 America/Indiana/Knox Central Time - Indiana - Starke County
US +450628-0873651 America/Menominee Central Time - Michigan - Dickinson, Gogebic, Iron & Menominee Counties
US +470659-1011757 America/North_Dakota/Center Central Time - North Dakota - Oliver County
US +465042-1012439 America/North_Dakota/New_Salem Central Time - North Dakota - Morton County (except Mandan area)
US +471551-1014640 America/North_Dakota/Beulah Central Time - North Dakota - Mercer County
US +394421-1045903 America/Denver Mountain Time
US +433649-1161209 America/Boise Mountain Time - south Idaho & east Oregon
US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona (except Navajo)
US +340308-1181434 America/Los_Angeles Pacific Time
US +550737-1313435 America/Metlakatla Pacific Standard Time - Annette Island, Alaska
US +611305-1495401 America/Anchorage Alaska Time
US +581807-1342511 America/Juneau Alaska Time - Alaska panhandle
US +571035-1351807 America/Sitka Alaska Time - southeast Alaska panhandle
US +593249-1394338 America/Yakutat Alaska Time - Alaska panhandle neck
US +643004-1652423 America/Nome Alaska Time - west Alaska
US +515248-1763929 America/Adak Aleutian Islands
US +211825-1575130 Pacific/Honolulu Hawaii
UY -3453-05611 America/Montevideo
UZ +3940+06648 Asia/Samarkand west Uzbekistan
UZ +4120+06918 Asia/Tashkent east Uzbekistan
VA +415408+0122711 Europe/Vatican
VC +1309-06114 America/St_Vincent
VE +1030-06656 America/Caracas
VG +1827-06437 America/Tortola
VI +1821-06456 America/St_Thomas
VN +1045+10640 Asia/Ho_Chi_Minh
VU -1740+16825 Pacific/Efate
WF -1318-17610 Pacific/Wallis
WS -1350-17144 Pacific/Apia
YE +1245+04512 Asia/Aden
YT -1247+04514 Indian/Mayotte
ZA -2615+02800 Africa/Johannesburg
ZM -1525+02817 Africa/Lusaka
ZW -1750+03103 Africa/Harare

369
share/zoneinfo/zone1970.tab Normal file
View File

@ -0,0 +1,369 @@
# tz zone descriptions
#
# This file is in the public domain.
#
# From Paul Eggert (2014-07-31):
# This file contains a table where each row stands for a zone where
# civil time stamps have agreed since 1970. Columns are separated by
# a single tab. Lines beginning with '#' are comments. All text uses
# UTF-8 encoding. The columns of the table are as follows:
#
# 1. The countries that overlap the zone, as a comma-separated list
# of ISO 3166 2-character country codes. See the file 'iso3166.tab'.
# 2. Latitude and longitude of the zone's principal location
# in ISO 6709 sign-degrees-minutes-seconds format,
# either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
# first latitude (+ is north), then longitude (+ is east).
# 3. Zone name used in value of TZ environment variable.
# Please see the 'Theory' file for how zone names are chosen.
# If multiple zones overlap a country, each has a row in the
# table, with each column 1 containing the country code.
# 4. Comments; present if and only if a country has multiple zones.
#
# If a zone covers multiple countries, the most-populous city is used,
# and that country is listed first in column 1; any other countries
# are listed alphabetically by country code. The table is sorted
# first by country code, then (if possible) by an order within the
# country that (1) makes some geographical sense, and (2) puts the
# most populous zones first, where that does not contradict (1).
#
# This table is intended as an aid for users, to help them select time
# zone data appropriate for their practical needs. It is not intended
# to take or endorse any position on legal or territorial claims.
#
#country-
#codes coordinates TZ comments
AD +4230+00131 Europe/Andorra
AE,OM +2518+05518 Asia/Dubai
AF +3431+06912 Asia/Kabul
AL +4120+01950 Europe/Tirane
AM +4011+04430 Asia/Yerevan
AQ -6734-06808 Antarctica/Rothera Rothera Station, Adelaide Island
AQ -6448-06406 Antarctica/Palmer Palmer Station, Anvers Island
AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay
AQ -6835+07758 Antarctica/Davis Davis Station, Vestfold Hills
AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula
AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok
AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie
AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I
AQ -720041+0023206 Antarctica/Troll Troll Station, Queen Maud Land
AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF)
AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF)
AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN)
AR -2411-06518 America/Argentina/Jujuy Jujuy (JY)
AR -2649-06513 America/Argentina/Tucuman Tucumán (TM)
AR -2828-06547 America/Argentina/Catamarca Catamarca (CT), Chubut (CH)
AR -2926-06651 America/Argentina/La_Rioja La Rioja (LR)
AR -3132-06831 America/Argentina/San_Juan San Juan (SJ)
AR -3253-06849 America/Argentina/Mendoza Mendoza (MZ)
AR -3319-06621 America/Argentina/San_Luis San Luis (SL)
AR -5138-06913 America/Argentina/Rio_Gallegos Santa Cruz (SC)
AR -5448-06818 America/Argentina/Ushuaia Tierra del Fuego (TF)
AS,UM -1416-17042 Pacific/Pago_Pago Samoa, Midway
AT +4813+01620 Europe/Vienna
AU -3133+15905 Australia/Lord_Howe Lord Howe Island
AU -5430+15857 Antarctica/Macquarie Macquarie Island
AU -4253+14719 Australia/Hobart Tasmania - most locations
AU -3956+14352 Australia/Currie Tasmania - King Island
AU -3749+14458 Australia/Melbourne Victoria
AU -3352+15113 Australia/Sydney New South Wales - most locations
AU -3157+14127 Australia/Broken_Hill New South Wales - Yancowinna
AU -2728+15302 Australia/Brisbane Queensland - most locations
AU -2016+14900 Australia/Lindeman Queensland - Holiday Islands
AU -3455+13835 Australia/Adelaide South Australia
AU -1228+13050 Australia/Darwin Northern Territory
AU -3157+11551 Australia/Perth Western Australia - most locations
AU -3143+12852 Australia/Eucla Western Australia - Eucla area
AZ +4023+04951 Asia/Baku
BB +1306-05937 America/Barbados
BD +2343+09025 Asia/Dhaka
BE +5050+00420 Europe/Brussels
BG +4241+02319 Europe/Sofia
BM +3217-06446 Atlantic/Bermuda
BN +0456+11455 Asia/Brunei
BO -1630-06809 America/La_Paz
BR -0351-03225 America/Noronha Atlantic islands
BR -0127-04829 America/Belem Amapá, E Pará
BR -0343-03830 America/Fortaleza NE Brazil (MA, PI, CE, RN, PB)
BR -0803-03454 America/Recife Pernambuco
BR -0712-04812 America/Araguaina Tocantins
BR -0940-03543 America/Maceio Alagoas, Sergipe
BR -1259-03831 America/Bahia Bahia
BR -2332-04637 America/Sao_Paulo S & SE Brazil (GO, DF, MG, ES, RJ, SP, PR, SC, RS)
BR -2027-05437 America/Campo_Grande Mato Grosso do Sul
BR -1535-05605 America/Cuiaba Mato Grosso
BR -0226-05452 America/Santarem W Pará
BR -0846-06354 America/Porto_Velho Rondônia
BR +0249-06040 America/Boa_Vista Roraima
BR -0308-06001 America/Manaus E Amazonas
BR -0640-06952 America/Eirunepe W Amazonas
BR -0958-06748 America/Rio_Branco Acre
BS +2505-07721 America/Nassau
BT +2728+08939 Asia/Thimphu
BY +5354+02734 Europe/Minsk
BZ +1730-08812 America/Belize
CA +4734-05243 America/St_Johns Newfoundland Time, including SE Labrador
CA +4439-06336 America/Halifax Atlantic Time - Nova Scotia (most places), PEI
CA +4612-05957 America/Glace_Bay Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971
CA +4606-06447 America/Moncton Atlantic Time - New Brunswick
CA +5320-06025 America/Goose_Bay Atlantic Time - Labrador - most locations
CA +5125-05707 America/Blanc-Sablon Atlantic Standard Time - Quebec - Lower North Shore
CA +4339-07923 America/Toronto Eastern Time - Ontario & Quebec - most locations
CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut
CA +744144-0944945 America/Resolute Central Time - Resolute, Nunavut
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
CA +4843-09434 America/Rainy_River Central Time - Rainy River & Fort Frances, Ontario
CA +5024-10439 America/Regina Central Standard Time - Saskatchewan - most locations
CA +5017-10750 America/Swift_Current Central Standard Time - Saskatchewan - midwest
CA +5333-11328 America/Edmonton Mountain Time - Alberta, east British Columbia & west Saskatchewan
CA +690650-1050310 America/Cambridge_Bay Mountain Time - west Nunavut
CA +6227-11421 America/Yellowknife Mountain Time - central Northwest Territories
CA +682059-1334300 America/Inuvik Mountain Time - west Northwest Territories
CA +4906-11631 America/Creston Mountain Standard Time - Creston, British Columbia
CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
CA +4916-12307 America/Vancouver Pacific Time - west British Columbia
CA +6043-13503 America/Whitehorse Pacific Time - south Yukon
CA +6404-13925 America/Dawson Pacific Time - north Yukon
CC -1210+09655 Indian/Cocos
CH,DE,LI +4723+00832 Europe/Zurich Swiss time
CI,BF,GM,GN,ML,MR,SH,SL,SN,ST,TG +0519-00402 Africa/Abidjan
CK -2114-15946 Pacific/Rarotonga
CL -3327-07040 America/Santiago most locations
CL -2709-10926 Pacific/Easter Easter Island
CN +3114+12128 Asia/Shanghai Beijing Time
CN +4348+08735 Asia/Urumqi Xinjiang Time
CO +0436-07405 America/Bogota
CR +0956-08405 America/Costa_Rica
CU +2308-08222 America/Havana
CV +1455-02331 Atlantic/Cape_Verde
CW,AW,BQ,SX +1211-06900 America/Curacao
CX -1025+10543 Indian/Christmas
CY +3510+03322 Asia/Nicosia
CZ,SK +5005+01426 Europe/Prague
DE +5230+01322 Europe/Berlin Berlin time
DK +5540+01235 Europe/Copenhagen
DO +1828-06954 America/Santo_Domingo
DZ +3647+00303 Africa/Algiers
EC -0210-07950 America/Guayaquil mainland
EC -0054-08936 Pacific/Galapagos Galápagos Islands
EE +5925+02445 Europe/Tallinn
EG +3003+03115 Africa/Cairo
EH +2709-01312 Africa/El_Aaiun
ES +4024-00341 Europe/Madrid mainland
ES +3553-00519 Africa/Ceuta Ceuta & Melilla
ES +2806-01524 Atlantic/Canary Canary Islands
FI,AX +6010+02458 Europe/Helsinki
FJ -1808+17825 Pacific/Fiji
FK -5142-05751 Atlantic/Stanley
FM +0725+15147 Pacific/Chuuk Chuuk (Truk) and Yap
FM +0658+15813 Pacific/Pohnpei Pohnpei (Ponape)
FM +0519+16259 Pacific/Kosrae Kosrae
FO +6201-00646 Atlantic/Faroe
FR +4852+00220 Europe/Paris
GB,GG,IM,JE +513030-0000731 Europe/London
GE +4143+04449 Asia/Tbilisi
GF +0456-05220 America/Cayenne
GH +0533-00013 Africa/Accra
GI +3608-00521 Europe/Gibraltar
GL +6411-05144 America/Godthab most locations
GL +7646-01840 America/Danmarkshavn east coast, north of Scoresbysund
GL +7029-02158 America/Scoresbysund Scoresbysund / Ittoqqortoormiit
GL +7634-06847 America/Thule Thule / Pituffik
GR +3758+02343 Europe/Athens
GS -5416-03632 Atlantic/South_Georgia
GT +1438-09031 America/Guatemala
GU,MP +1328+14445 Pacific/Guam
GW +1151-01535 Africa/Bissau
GY +0648-05810 America/Guyana
HK +2217+11409 Asia/Hong_Kong
HN +1406-08713 America/Tegucigalpa
HT +1832-07220 America/Port-au-Prince
HU +4730+01905 Europe/Budapest
ID -0610+10648 Asia/Jakarta Java & Sumatra
ID -0002+10920 Asia/Pontianak west & central Borneo
ID -0507+11924 Asia/Makassar east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tengarra, west Timor
ID -0232+14042 Asia/Jayapura west New Guinea (Irian Jaya) & Malukus (Moluccas)
IE +5320-00615 Europe/Dublin
IL +314650+0351326 Asia/Jerusalem
IN +2232+08822 Asia/Kolkata
IO -0720+07225 Indian/Chagos
IQ +3321+04425 Asia/Baghdad
IR +3540+05126 Asia/Tehran
IS +6409-02151 Atlantic/Reykjavik
IT,SM,VA +4154+01229 Europe/Rome
JM +175805-0764736 America/Jamaica
JO +3157+03556 Asia/Amman
JP +353916+1394441 Asia/Tokyo
KE,DJ,ER,ET,KM,MG,SO,TZ,UG,YT -0117+03649 Africa/Nairobi
KG +4254+07436 Asia/Bishkek
KI +0125+17300 Pacific/Tarawa Gilbert Islands
KI -0308-17105 Pacific/Enderbury Phoenix Islands
KI +0152-15720 Pacific/Kiritimati Line Islands
KP +3901+12545 Asia/Pyongyang
KR +3733+12658 Asia/Seoul
KZ +4315+07657 Asia/Almaty most locations
KZ +4448+06528 Asia/Qyzylorda Qyzylorda (Kyzylorda, Kzyl-Orda)
KZ +5017+05710 Asia/Aqtobe Aqtobe (Aktobe)
KZ +4431+05016 Asia/Aqtau Atyrau (Atirau, Gur'yev), Mangghystau (Mankistau)
KZ +5113+05121 Asia/Oral West Kazakhstan
LB +3353+03530 Asia/Beirut
LK +0656+07951 Asia/Colombo
LR +0618-01047 Africa/Monrovia
LT +5441+02519 Europe/Vilnius
LU +4936+00609 Europe/Luxembourg
LV +5657+02406 Europe/Riga
LY +3254+01311 Africa/Tripoli
MA +3339-00735 Africa/Casablanca
MC +4342+00723 Europe/Monaco
MD +4700+02850 Europe/Chisinau
MH +0709+17112 Pacific/Majuro most locations
MH +0905+16720 Pacific/Kwajalein Kwajalein
MM +1647+09610 Asia/Rangoon
MN +4755+10653 Asia/Ulaanbaatar most locations
MN +4801+09139 Asia/Hovd Bayan-Ölgii, Govi-Altai, Hovd, Uvs, Zavkhan
MN +4804+11430 Asia/Choibalsan Dornod, Sükhbaatar
MO +2214+11335 Asia/Macau
MQ +1436-06105 America/Martinique
MT +3554+01431 Europe/Malta
MU -2010+05730 Indian/Mauritius
MV +0410+07330 Indian/Maldives
MX +1924-09909 America/Mexico_City Central Time - most locations
MX +2105-08646 America/Cancun Central Time - Quintana Roo
MX +2058-08937 America/Merida Central Time - Campeche, Yucatán
MX +2540-10019 America/Monterrey Mexican Central Time - Coahuila, Durango, Nuevo León, Tamaulipas away from US border
MX +2550-09730 America/Matamoros US Central Time - Coahuila, Durango, Nuevo León, Tamaulipas near US border
MX +2313-10625 America/Mazatlan Mountain Time - S Baja, Nayarit, Sinaloa
MX +2838-10605 America/Chihuahua Mexican Mountain Time - Chihuahua away from US border
MX +2934-10425 America/Ojinaga US Mountain Time - Chihuahua near US border
MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora
MX +3232-11701 America/Tijuana US Pacific Time - Baja California near US border
MX +3018-11452 America/Santa_Isabel Mexican Pacific Time - Baja California away from US border
MX +2048-10515 America/Bahia_Banderas Mexican Central Time - Bahía de Banderas
MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia
MY +0133+11020 Asia/Kuching Sabah & Sarawak
MZ,BI,BW,CD,MW,RW,ZM,ZW -2558+03235 Africa/Maputo Central Africa Time (UTC+2)
NA -2234+01706 Africa/Windhoek
NC -2216+16627 Pacific/Noumea
NF -2903+16758 Pacific/Norfolk
NG,AO,BJ,CD,CF,CG,CM,GA,GQ,NE +0627+00324 Africa/Lagos West Africa Time (UTC+1)
NI +1209-08617 America/Managua
NL +5222+00454 Europe/Amsterdam
NO,SJ +5955+01045 Europe/Oslo
NP +2743+08519 Asia/Kathmandu
NR -0031+16655 Pacific/Nauru
NU -1901-16955 Pacific/Niue
NZ,AQ -3652+17446 Pacific/Auckland New Zealand time
NZ -4357-17633 Pacific/Chatham Chatham Islands
PA,KY +0858-07932 America/Panama
PE -1203-07703 America/Lima
PF -1732-14934 Pacific/Tahiti Society Islands
PF -0900-13930 Pacific/Marquesas Marquesas Islands
PF -2308-13457 Pacific/Gambier Gambier Islands
PG -0930+14710 Pacific/Port_Moresby
PH +1435+12100 Asia/Manila
PK +2452+06703 Asia/Karachi
PL +5215+02100 Europe/Warsaw
PM +4703-05620 America/Miquelon
PN -2504-13005 Pacific/Pitcairn
PR +182806-0660622 America/Puerto_Rico
PS +3130+03428 Asia/Gaza Gaza Strip
PS +313200+0350542 Asia/Hebron West Bank
PT +3843-00908 Europe/Lisbon mainland
PT +3238-01654 Atlantic/Madeira Madeira Islands
PT +3744-02540 Atlantic/Azores Azores
PW +0720+13429 Pacific/Palau
PY -2516-05740 America/Asuncion
QA,BH +2517+05132 Asia/Qatar
RE,TF -2052+05528 Indian/Reunion Réunion, Crozet Is, Scattered Is
RO +4426+02606 Europe/Bucharest
RS,BA,HR,ME,MK,SI +4450+02030 Europe/Belgrade
RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad
RU +554521+0373704 Europe/Moscow Moscow+00 - west Russia
RU +4457+03406 Europe/Simferopol Moscow+00 - Crimea
RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea
RU +5312+05009 Europe/Samara Moscow+00 (Moscow+01 after 2014-10-26) - Samara, Udmurtia
RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals
RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia
RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk
RU +5345+08707 Asia/Novokuznetsk Moscow+03 (Moscow+04 after 2014-10-26) - Kemerovo
RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River
RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal
RU +5203+11328 Asia/Chita Moscow+06 (Moscow+05 after 2014-10-26) - Zabaykalsky
RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River
RU +623923+1353314 Asia/Khandyga Moscow+06 - Tomponsky, Ust-Maysky
RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River
RU +4658+14242 Asia/Sakhalin Moscow+07 - Sakhalin Island
RU +643337+1431336 Asia/Ust-Nera Moscow+07 - Oymyakonsky
RU +5934+15048 Asia/Magadan Moscow+08 (Moscow+07 after 2014-10-26) - Magadan
RU +6728+15343 Asia/Srednekolymsk Moscow+08 - E Sakha, N Kuril Is
RU +5301+15839 Asia/Kamchatka Moscow+08 (Moscow+09 after 2014-10-26) - Kamchatka
RU +6445+17729 Asia/Anadyr Moscow+08 (Moscow+09 after 2014-10-26) - Bering Sea
SA,KW,YE +2438+04643 Asia/Riyadh
SB -0932+16012 Pacific/Guadalcanal
SC -0440+05528 Indian/Mahe
SD,SS +1536+03232 Africa/Khartoum
SE +5920+01803 Europe/Stockholm
SG +0117+10351 Asia/Singapore
SR +0550-05510 America/Paramaribo
SV +1342-08912 America/El_Salvador
SY +3330+03618 Asia/Damascus
TC +2128-07108 America/Grand_Turk
TD +1207+01503 Africa/Ndjamena
TF -492110+0701303 Indian/Kerguelen Kerguelen, St Paul I, Amsterdam I
TH,KH,LA,VN +1345+10031 Asia/Bangkok
TJ +3835+06848 Asia/Dushanbe
TK -0922-17114 Pacific/Fakaofo
TL -0833+12535 Asia/Dili
TM +3757+05823 Asia/Ashgabat
TN +3648+01011 Africa/Tunis
TO -2110-17510 Pacific/Tongatapu
TR +4101+02858 Europe/Istanbul
TT,AG,AI,BL,DM,GD,GP,MF,LC,KN,MS,VC,VG,VI +1039-06131 America/Port_of_Spain
TV -0831+17913 Pacific/Funafuti
TW +2503+12130 Asia/Taipei
UA +5026+03031 Europe/Kiev most locations
UA +4837+02218 Europe/Uzhgorod Ruthenia
UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk
UM +1917+16637 Pacific/Wake Wake Island
US +404251-0740023 America/New_York Eastern Time
US +421953-0830245 America/Detroit Eastern Time - Michigan - most locations
US +381515-0854534 America/Kentucky/Louisville Eastern Time - Kentucky - Louisville area
US +364947-0845057 America/Kentucky/Monticello Eastern Time - Kentucky - Wayne County
US +394606-0860929 America/Indiana/Indianapolis Eastern Time - Indiana - most locations
US +384038-0873143 America/Indiana/Vincennes Eastern Time - Indiana - Daviess, Dubois, Knox & Martin Counties
US +410305-0863611 America/Indiana/Winamac Eastern Time - Indiana - Pulaski County
US +382232-0862041 America/Indiana/Marengo Eastern Time - Indiana - Crawford County
US +382931-0871643 America/Indiana/Petersburg Eastern Time - Indiana - Pike County
US +384452-0850402 America/Indiana/Vevay Eastern Time - Indiana - Switzerland County
US +415100-0873900 America/Chicago Central Time
US +375711-0864541 America/Indiana/Tell_City Central Time - Indiana - Perry County
US +411745-0863730 America/Indiana/Knox Central Time - Indiana - Starke County
US +450628-0873651 America/Menominee Central Time - Michigan - Dickinson, Gogebic, Iron & Menominee Counties
US +470659-1011757 America/North_Dakota/Center Central Time - North Dakota - Oliver County
US +465042-1012439 America/North_Dakota/New_Salem Central Time - North Dakota - Morton County (except Mandan area)
US +471551-1014640 America/North_Dakota/Beulah Central Time - North Dakota - Mercer County
US +394421-1045903 America/Denver Mountain Time
US +433649-1161209 America/Boise Mountain Time - south Idaho & east Oregon
US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona (except Navajo)
US +340308-1181434 America/Los_Angeles Pacific Time
US +550737-1313435 America/Metlakatla Pacific Standard Time - Annette Island, Alaska
US +611305-1495401 America/Anchorage Alaska Time
US +581807-1342511 America/Juneau Alaska Time - Alaska panhandle
US +571035-1351807 America/Sitka Alaska Time - southeast Alaska panhandle
US +593249-1394338 America/Yakutat Alaska Time - Alaska panhandle neck
US +643004-1652423 America/Nome Alaska Time - west Alaska
US +515248-1763929 America/Adak Aleutian Islands
US,UM +211825-1575130 Pacific/Honolulu Hawaii time
UY -3453-05611 America/Montevideo
UZ +3940+06648 Asia/Samarkand west Uzbekistan
UZ +4120+06918 Asia/Tashkent east Uzbekistan
VE +1030-06656 America/Caracas
VU -1740+16825 Pacific/Efate
WF -1318-17610 Pacific/Wallis
WS -1350-17144 Pacific/Apia
ZA,LS,SZ -2615+02800 Africa/Johannesburg