├── .gitattributes ├── .github └── workflows │ └── deploy-doc.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── containers ├── timere-fuzz │ └── Containerfile └── timere │ └── Containerfile ├── corpus-outputs ├── date-times.txt ├── hmss.txt ├── spans.txt └── timeres.txt ├── corpus ├── date_times.ml ├── dune ├── hmss.ml ├── spans.ml └── timeres.ml ├── debug-parse ├── dune └── main.ml ├── debug ├── dune └── main.ml ├── dune-project ├── examples ├── README.md ├── date_time.ml ├── dst.ml ├── dune └── simple.ml ├── export-js-tzdb-full ├── core.ml ├── dune ├── export.ml └── export_all.ml ├── export-js-tzdb-none └── dune ├── fuzz ├── Dockerfile ├── clean.sh ├── dune ├── fuzz_utils.ml ├── inter_is_sound_and_complete.ml ├── inter_order_does_not_matter.ml ├── list.sh ├── of_sexp_string_does_not_crash.ml ├── pattern_intervals_empty.ml ├── pattern_intervals_is_complete.ml ├── pattern_intervals_is_sound.ml ├── pattern_resolution_is_complete.ml ├── pattern_resolution_is_sound.ml ├── resolver_is_same_as_simple_resolver.ml ├── run.sh ├── run_all.sh ├── setup.sh ├── simple_resolver.ml ├── span_set.ml ├── span_set_utils.ml ├── to_of_sexp.ml ├── union_is_sound_and_complete.ml └── union_order_does_not_matter.ml ├── gen-artifacts ├── available-time-zones.txt ├── time_zone_constants.ml ├── tzdb_compressed_full.ml └── tzdb_full.sexp ├── gen ├── dune └── gen_time_zone_data.ml ├── publish-timedesc.sh ├── publish-timere.sh ├── start-container-timere-fuzz.sh ├── start-container-timere.sh ├── timedesc-js-build-test ├── dune └── timedesc_empty.ml ├── timedesc-json.opam ├── timedesc-json ├── dune ├── timedesc_json.ml └── timedesc_json.mli ├── timedesc-sexp.opam ├── timedesc-sexp ├── dune ├── of_sexp.ml ├── of_sexp_utils.ml ├── timedesc_sexp.ml ├── timedesc_sexp.mli ├── to_sexp.ml └── to_sexp_utils.ml ├── timedesc-tests ├── ISO_week_tests.ml ├── date_tests.ml ├── date_time_tests.ml ├── date_time_util_tests.ml ├── dune ├── int64_set.ml ├── interval_tests.ml ├── main.ml ├── ptime_tests.ml ├── span_tests.ml ├── test_utils.ml ├── time_tests.ml ├── time_zone_tests.ml ├── tzdb_tests.ml └── ym_tests.ml ├── timedesc-tzdb.opam ├── timedesc-tzdb ├── dune ├── full │ ├── dune │ └── timedesc_tzdb.ml ├── none │ ├── dune │ └── timedesc_tzdb.ml └── timedesc_tzdb.mli ├── timedesc-tzlocal-js.opam ├── timedesc-tzlocal.opam ├── timedesc-tzlocal ├── dune ├── js │ ├── dune │ └── timedesc_tzlocal.ml ├── none │ ├── dune │ └── timedesc_tzlocal.ml ├── timedesc_tzlocal.mli ├── unix-or-utc │ ├── dune │ └── timedesc_tzlocal.ml ├── unix │ ├── dune │ └── timedesc_tzlocal.ml └── utc │ ├── dune │ └── timedesc_tzlocal.ml ├── timedesc.opam ├── timedesc ├── ISO8601_parsers.ml ├── ISO8601_printers.ml ├── ISO_week.ml ├── RFC3339.ml ├── RFC9110_parsers.ml ├── RFC9110_printers.ml ├── array_utils.ml ├── bigarray_utils.ml ├── constants.ml ├── date.ml ├── date.mli ├── date_time.ml ├── date_time_utils.ml ├── direct_parser_components.ml ├── dune ├── int64_set.ml ├── int64_utils.ml ├── int_set.ml ├── misc_utils.ml ├── parser_components.ml ├── printers.ml ├── ptime_utils.ml ├── seq_utils_.ml ├── span.ml ├── span.mli ├── string_map.ml ├── string_set.ml ├── time.ml ├── time.mli ├── time_zone.ml ├── time_zone.mli ├── time_zone_info.ml ├── time_zone_utils.ml ├── timedesc.ml ├── timedesc.mli └── ym.ml ├── timere-parse.opam ├── timere-parse ├── cases.txt ├── dune ├── parser.ml ├── parser_components.ml ├── timere_parse.ml └── timere_parse.mli ├── timere-tests ├── builder.ml ├── dune ├── int64_set.ml ├── main.ml ├── range.ml ├── time_intervals_tests.ml └── time_tests.ml ├── timere.opam ├── timere ├── dune ├── infix.ml ├── int_set.ml ├── of_sexp.ml ├── pattern.ml ├── pattern_resolver.ml ├── points.ml ├── printers.ml ├── resolver.ml ├── seq_utils.ml ├── time.ml ├── time_ast.ml ├── timere.ml ├── timere.mli ├── timestamp_utils.ml ├── to_sexp.ml └── weekday_set.ml └── tzdb-json ├── Africa ├── Abidjan.json ├── Accra.json ├── Addis_Ababa.json ├── Algiers.json ├── Asmara.json ├── Asmera.json ├── Bamako.json ├── Bangui.json ├── Banjul.json ├── Bissau.json ├── Blantyre.json ├── Brazzaville.json ├── Bujumbura.json ├── Cairo.json ├── Casablanca.json ├── Ceuta.json ├── Conakry.json ├── Dakar.json ├── Dar_es_Salaam.json ├── Djibouti.json ├── Douala.json ├── El_Aaiun.json ├── Freetown.json ├── Gaborone.json ├── Harare.json ├── Johannesburg.json ├── Juba.json ├── Kampala.json ├── Khartoum.json ├── Kigali.json ├── Kinshasa.json ├── Lagos.json ├── Libreville.json ├── Lome.json ├── Luanda.json ├── Lubumbashi.json ├── Lusaka.json ├── Malabo.json ├── Maputo.json ├── Maseru.json ├── Mbabane.json ├── Mogadishu.json ├── Monrovia.json ├── Nairobi.json ├── Ndjamena.json ├── Niamey.json ├── Nouakchott.json ├── Ouagadougou.json ├── Porto-Novo.json ├── Sao_Tome.json ├── Timbuktu.json ├── Tripoli.json ├── Tunis.json └── Windhoek.json ├── America ├── Adak.json ├── Anchorage.json ├── Anguilla.json ├── Antigua.json ├── Araguaina.json ├── Argentina │ ├── Buenos_Aires.json │ ├── Catamarca.json │ ├── ComodRivadavia.json │ ├── Cordoba.json │ ├── Jujuy.json │ ├── La_Rioja.json │ ├── Mendoza.json │ ├── Rio_Gallegos.json │ ├── Salta.json │ ├── San_Juan.json │ ├── San_Luis.json │ ├── Tucuman.json │ └── Ushuaia.json ├── Aruba.json ├── Asuncion.json ├── Atikokan.json ├── Atka.json ├── Bahia.json ├── Bahia_Banderas.json ├── Barbados.json ├── Belem.json ├── Belize.json ├── Blanc-Sablon.json ├── Boa_Vista.json ├── Bogota.json ├── Boise.json ├── Buenos_Aires.json ├── Cambridge_Bay.json ├── Campo_Grande.json ├── Cancun.json ├── Caracas.json ├── Catamarca.json ├── Cayenne.json ├── Cayman.json ├── Chicago.json ├── Chihuahua.json ├── Ciudad_Juarez.json ├── Coral_Harbour.json ├── Cordoba.json ├── Costa_Rica.json ├── Creston.json ├── Cuiaba.json ├── Curacao.json ├── Danmarkshavn.json ├── Dawson.json ├── Dawson_Creek.json ├── Denver.json ├── Detroit.json ├── Dominica.json ├── Edmonton.json ├── Eirunepe.json ├── El_Salvador.json ├── Ensenada.json ├── Fort_Nelson.json ├── Fort_Wayne.json ├── Fortaleza.json ├── Glace_Bay.json ├── Godthab.json ├── Goose_Bay.json ├── Grand_Turk.json ├── Grenada.json ├── Guadeloupe.json ├── Guatemala.json ├── Guayaquil.json ├── Guyana.json ├── Halifax.json ├── Havana.json ├── Hermosillo.json ├── Indiana │ ├── Indianapolis.json │ ├── Knox.json │ ├── Marengo.json │ ├── Petersburg.json │ ├── Tell_City.json │ ├── Vevay.json │ ├── Vincennes.json │ └── Winamac.json ├── Indianapolis.json ├── Inuvik.json ├── Iqaluit.json ├── Jamaica.json ├── Jujuy.json ├── Juneau.json ├── Kentucky │ ├── Louisville.json │ └── Monticello.json ├── Knox_IN.json ├── Kralendijk.json ├── La_Paz.json ├── Lima.json ├── Los_Angeles.json ├── Louisville.json ├── Lower_Princes.json ├── Maceio.json ├── Managua.json ├── Manaus.json ├── Marigot.json ├── Martinique.json ├── Matamoros.json ├── Mazatlan.json ├── Mendoza.json ├── Menominee.json ├── Merida.json ├── Metlakatla.json ├── Mexico_City.json ├── Miquelon.json ├── Moncton.json ├── Monterrey.json ├── Montevideo.json ├── Montreal.json ├── Montserrat.json ├── Nassau.json ├── New_York.json ├── Nipigon.json ├── Nome.json ├── Noronha.json ├── North_Dakota │ ├── Beulah.json │ ├── Center.json │ └── New_Salem.json ├── Nuuk.json ├── Ojinaga.json ├── Panama.json ├── Pangnirtung.json ├── Paramaribo.json ├── Phoenix.json ├── Port-au-Prince.json ├── Port_of_Spain.json ├── Porto_Acre.json ├── Porto_Velho.json ├── Puerto_Rico.json ├── Punta_Arenas.json ├── Rainy_River.json ├── Rankin_Inlet.json ├── Recife.json ├── Regina.json ├── Resolute.json ├── Rio_Branco.json ├── Rosario.json ├── Santa_Isabel.json ├── Santarem.json ├── Santiago.json ├── Santo_Domingo.json ├── Sao_Paulo.json ├── Scoresbysund.json ├── Shiprock.json ├── Sitka.json ├── St_Barthelemy.json ├── St_Johns.json ├── St_Kitts.json ├── St_Lucia.json ├── St_Thomas.json ├── St_Vincent.json ├── Swift_Current.json ├── Tegucigalpa.json ├── Thule.json ├── Thunder_Bay.json ├── Tijuana.json ├── Toronto.json ├── Tortola.json ├── Vancouver.json ├── Virgin.json ├── Whitehorse.json ├── Winnipeg.json ├── Yakutat.json └── Yellowknife.json ├── Antarctica ├── Casey.json ├── Davis.json ├── DumontDUrville.json ├── Macquarie.json ├── Mawson.json ├── McMurdo.json ├── Palmer.json ├── Rothera.json ├── South_Pole.json ├── Syowa.json ├── Troll.json └── Vostok.json ├── Arctic └── Longyearbyen.json ├── Asia ├── Aden.json ├── Almaty.json ├── Amman.json ├── Anadyr.json ├── Aqtau.json ├── Aqtobe.json ├── Ashgabat.json ├── Ashkhabad.json ├── Atyrau.json ├── Baghdad.json ├── Bahrain.json ├── Baku.json ├── Bangkok.json ├── Barnaul.json ├── Beirut.json ├── Bishkek.json ├── Brunei.json ├── Calcutta.json ├── Chita.json ├── Choibalsan.json ├── Chongqing.json ├── Chungking.json ├── Colombo.json ├── Dacca.json ├── Damascus.json ├── Dhaka.json ├── Dili.json ├── Dubai.json ├── Dushanbe.json ├── Famagusta.json ├── Gaza.json ├── Harbin.json ├── Hebron.json ├── Ho_Chi_Minh.json ├── Hong_Kong.json ├── Hovd.json ├── Irkutsk.json ├── Istanbul.json ├── Jakarta.json ├── Jayapura.json ├── Jerusalem.json ├── Kabul.json ├── Kamchatka.json ├── Karachi.json ├── Kashgar.json ├── Kathmandu.json ├── Katmandu.json ├── Khandyga.json ├── Kolkata.json ├── Krasnoyarsk.json ├── Kuala_Lumpur.json ├── Kuching.json ├── Kuwait.json ├── Macao.json ├── Macau.json ├── Magadan.json ├── Makassar.json ├── Manila.json ├── Muscat.json ├── Nicosia.json ├── Novokuznetsk.json ├── Novosibirsk.json ├── Omsk.json ├── Oral.json ├── Phnom_Penh.json ├── Pontianak.json ├── Pyongyang.json ├── Qatar.json ├── Qostanay.json ├── Qyzylorda.json ├── Rangoon.json ├── Riyadh.json ├── Saigon.json ├── Sakhalin.json ├── Samarkand.json ├── Seoul.json ├── Shanghai.json ├── Singapore.json ├── Srednekolymsk.json ├── Taipei.json ├── Tashkent.json ├── Tbilisi.json ├── Tehran.json ├── Tel_Aviv.json ├── Thimbu.json ├── Thimphu.json ├── Tokyo.json ├── Tomsk.json ├── Ujung_Pandang.json ├── Ulaanbaatar.json ├── Ulan_Bator.json ├── Urumqi.json ├── Ust-Nera.json ├── Vientiane.json ├── Vladivostok.json ├── Yakutsk.json ├── Yangon.json ├── Yekaterinburg.json └── Yerevan.json ├── Atlantic ├── Azores.json ├── Bermuda.json ├── Canary.json ├── Cape_Verde.json ├── Faeroe.json ├── Faroe.json ├── Jan_Mayen.json ├── Madeira.json ├── Reykjavik.json ├── South_Georgia.json ├── St_Helena.json └── Stanley.json ├── Australia ├── ACT.json ├── Adelaide.json ├── Brisbane.json ├── Broken_Hill.json ├── Canberra.json ├── Currie.json ├── Darwin.json ├── Eucla.json ├── Hobart.json ├── LHI.json ├── Lindeman.json ├── Lord_Howe.json ├── Melbourne.json ├── NSW.json ├── North.json ├── Perth.json ├── Queensland.json ├── South.json ├── Sydney.json ├── Tasmania.json ├── Victoria.json ├── West.json └── Yancowinna.json ├── Brazil ├── Acre.json ├── DeNoronha.json ├── East.json └── West.json ├── CET.json ├── CST6CDT.json ├── Canada ├── Atlantic.json ├── Central.json ├── Eastern.json ├── Mountain.json ├── Newfoundland.json ├── Pacific.json ├── Saskatchewan.json └── Yukon.json ├── Chile ├── Continental.json └── EasterIsland.json ├── Cuba.json ├── EET.json ├── EST.json ├── EST5EDT.json ├── Egypt.json ├── Eire.json ├── Etc ├── GMT+0.json ├── GMT+1.json ├── GMT+10.json ├── GMT+11.json ├── GMT+12.json ├── GMT+2.json ├── GMT+3.json ├── GMT+4.json ├── GMT+5.json ├── GMT+6.json ├── GMT+7.json ├── GMT+8.json ├── GMT+9.json ├── GMT-0.json ├── GMT-1.json ├── GMT-10.json ├── GMT-11.json ├── GMT-12.json ├── GMT-13.json ├── GMT-14.json ├── GMT-2.json ├── GMT-3.json ├── GMT-4.json ├── GMT-5.json ├── GMT-6.json ├── GMT-7.json ├── GMT-8.json ├── GMT-9.json ├── GMT.json ├── GMT0.json ├── Greenwich.json ├── UCT.json ├── UTC.json ├── Universal.json └── Zulu.json ├── Europe ├── Amsterdam.json ├── Andorra.json ├── Astrakhan.json ├── Athens.json ├── Belfast.json ├── Belgrade.json ├── Berlin.json ├── Bratislava.json ├── Brussels.json ├── Bucharest.json ├── Budapest.json ├── Busingen.json ├── Chisinau.json ├── Copenhagen.json ├── Dublin.json ├── Gibraltar.json ├── Guernsey.json ├── Helsinki.json ├── Isle_of_Man.json ├── Istanbul.json ├── Jersey.json ├── Kaliningrad.json ├── Kiev.json ├── Kirov.json ├── Kyiv.json ├── Lisbon.json ├── Ljubljana.json ├── London.json ├── Luxembourg.json ├── Madrid.json ├── Malta.json ├── Mariehamn.json ├── Minsk.json ├── Monaco.json ├── Moscow.json ├── Nicosia.json ├── Oslo.json ├── Paris.json ├── Podgorica.json ├── Prague.json ├── Riga.json ├── Rome.json ├── Samara.json ├── San_Marino.json ├── Sarajevo.json ├── Saratov.json ├── Simferopol.json ├── Skopje.json ├── Sofia.json ├── Stockholm.json ├── Tallinn.json ├── Tirane.json ├── Tiraspol.json ├── Ulyanovsk.json ├── Uzhgorod.json ├── Vaduz.json ├── Vatican.json ├── Vienna.json ├── Vilnius.json ├── Volgograd.json ├── Warsaw.json ├── Zagreb.json ├── Zaporozhye.json └── Zurich.json ├── Factory.json ├── GB-Eire.json ├── GB.json ├── GMT+0.json ├── GMT-0.json ├── GMT.json ├── GMT0.json ├── Greenwich.json ├── HST.json ├── Hongkong.json ├── Iceland.json ├── Indian ├── Antananarivo.json ├── Chagos.json ├── Christmas.json ├── Cocos.json ├── Comoro.json ├── Kerguelen.json ├── Mahe.json ├── Maldives.json ├── Mauritius.json ├── Mayotte.json └── Reunion.json ├── Iran.json ├── Israel.json ├── Jamaica.json ├── Japan.json ├── Kwajalein.json ├── Libya.json ├── MET.json ├── MST.json ├── MST7MDT.json ├── Mexico ├── BajaNorte.json ├── BajaSur.json └── General.json ├── NZ-CHAT.json ├── NZ.json ├── Navajo.json ├── PRC.json ├── PST8PDT.json ├── Pacific ├── Apia.json ├── Auckland.json ├── Bougainville.json ├── Chatham.json ├── Chuuk.json ├── Easter.json ├── Efate.json ├── Enderbury.json ├── Fakaofo.json ├── Fiji.json ├── Funafuti.json ├── Galapagos.json ├── Gambier.json ├── Guadalcanal.json ├── Guam.json ├── Honolulu.json ├── Johnston.json ├── Kanton.json ├── Kiritimati.json ├── Kosrae.json ├── Kwajalein.json ├── Majuro.json ├── Marquesas.json ├── Midway.json ├── Nauru.json ├── Niue.json ├── Norfolk.json ├── Noumea.json ├── Pago_Pago.json ├── Palau.json ├── Pitcairn.json ├── Pohnpei.json ├── Ponape.json ├── Port_Moresby.json ├── Rarotonga.json ├── Saipan.json ├── Samoa.json ├── Tahiti.json ├── Tarawa.json ├── Tongatapu.json ├── Truk.json ├── Wake.json ├── Wallis.json └── Yap.json ├── Poland.json ├── Portugal.json ├── ROC.json ├── ROK.json ├── Singapore.json ├── Turkey.json ├── UCT.json ├── US ├── Alaska.json ├── Aleutian.json ├── Arizona.json ├── Central.json ├── East-Indiana.json ├── Eastern.json ├── Hawaii.json ├── Indiana-Starke.json ├── Michigan.json ├── Mountain.json ├── Pacific.json └── Samoa.json ├── UTC.json ├── Universal.json ├── W-SU.json ├── WET.json └── Zulu.json /.gitattributes: -------------------------------------------------------------------------------- 1 | gen-artifacts/* linguist-generated 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _build/ 2 | _coverage/ 3 | .merlin 4 | *.rst~ 5 | *.install 6 | bisect*.out 7 | bisect*.coverage 8 | fuzz-*-input 9 | fuzz-*-output 10 | fuzz-logs/ 11 | fuzz/core.* 12 | *.tar.gz 13 | core.* 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 daypack-dev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /containers/timere-fuzz/Containerfile: -------------------------------------------------------------------------------- 1 | FROM docker.io/ocaml/opam:debian-ocaml-4.14-afl 2 | USER root 3 | RUN apt-get update 4 | RUN apt-get install --yes pkg-config 5 | RUN apt-get install --yes afl 6 | RUN opam install dune containers fmt 7 | RUN opam install re ptime oseq seq diet 8 | RUN opam install yojson fileutils 9 | RUN opam install utop ocp-indent 10 | RUN opam install alcotest crowbar 11 | RUN opam install js_of_ocaml js_of_ocaml-ppx lwt_ppx 12 | RUN opam install js_of_ocaml-lwt qcheck qcheck-alcotest 13 | RUN opam install angstrom 14 | RUN opam install sexplib 15 | RUN opam install mparser 16 | -------------------------------------------------------------------------------- /containers/timere/Containerfile: -------------------------------------------------------------------------------- 1 | FROM docker.io/ocaml/opam 2 | 3 | USER root 4 | RUN apt-get install --yes pkg-config 5 | 6 | USER opam 7 | RUN opam install dune containers fmt 8 | RUN opam install re ptime oseq seq diet 9 | RUN opam install yojson fileutils 10 | RUN opam install utop ocp-indent 11 | RUN opam install alcotest crowbar 12 | RUN opam install js_of_ocaml js_of_ocaml-ppx lwt_ppx 13 | RUN opam install js_of_ocaml-lwt qcheck qcheck-alcotest 14 | RUN opam install angstrom 15 | RUN opam install sexplib 16 | RUN opam install mparser 17 | RUN opam install odoc 18 | -------------------------------------------------------------------------------- /corpus-outputs/hmss.txt: -------------------------------------------------------------------------------- 1 | 0. "10am" 2 | Ok 10:0:0 3 | 4 | 1. "10:15" 5 | Ok 10:15:0 6 | 7 | 2. "20:30" 8 | Ok 20:30:0 9 | 10 | 3. "23:59:59" 11 | Ok 23:59:59 12 | 13 | 4. "10:59:59am" 14 | Ok 10:59:59 15 | 16 | 5. "10:59:59 pm" 17 | Ok 22:59:59 18 | 19 | 6. "24:00:00" 20 | Ok 23:59:59 21 | 22 | -------------------------------------------------------------------------------- /corpus-outputs/spans.txt: -------------------------------------------------------------------------------- 1 | 0. "24h" 2 | Ok 1 days 0 secs 3 | 4 | 1. "16.5 hours" 5 | Ok 16 hours 30 mins 0 secs 6 | 7 | 2. "1h20min" 8 | Ok 1 hours 20 mins 0 secs 9 | 10 | 3. "1 hour 2.5 minutes" 11 | Ok 1 hours 2 mins 30 secs 12 | 13 | 4. "0 seconds" 14 | Ok 0 secs 15 | 16 | 5. "10 seconds" 17 | Ok 10 secs 18 | 19 | 6. "100 seconds" 20 | Ok 1 mins 40 secs 21 | 22 | 7. "2.25 minutes 1 seconds" 23 | Ok 2 mins 16 secs 24 | 25 | 8. "5 days 6.5 hours" 26 | Ok 5 days 6 hours 30 mins 0 secs 27 | 28 | 9. "0.1 hours" 29 | Ok 6 mins 0 secs 30 | 31 | 10. "0.01 hours" 32 | Ok 36 secs 33 | 34 | -------------------------------------------------------------------------------- /corpus/dune: -------------------------------------------------------------------------------- 1 | (executables 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 3 | (names date_times 4 | hmss 5 | timeres 6 | spans 7 | ) 8 | (libraries 9 | containers 10 | timedesc 11 | timere 12 | timere-parse 13 | fmt 14 | ) 15 | ) 16 | -------------------------------------------------------------------------------- /corpus/hmss.ml: -------------------------------------------------------------------------------- 1 | let texts = 2 | [ 3 | "10am"; 4 | "10:15"; 5 | "20:30"; 6 | "23:59:59"; 7 | "10:59:59am"; 8 | "10:59:59 pm"; 9 | "24:00:00"; 10 | ] 11 | 12 | let () = 13 | List.iteri 14 | (fun i text -> 15 | Printf.printf "%d. %S\n" i text; 16 | match Timere_parse.hms text with 17 | | Ok hms -> 18 | let { Timedesc.Time.hour; minute; second; _ } = 19 | Timedesc.Time.view hms 20 | in 21 | Printf.printf " Ok %d:%d:%d\n\n%!" hour minute second 22 | | Error msg -> 23 | Printf.printf " Error %s\n" msg; 24 | print_endline " ^^^^^"; 25 | print_newline ()) 26 | texts 27 | -------------------------------------------------------------------------------- /corpus/spans.ml: -------------------------------------------------------------------------------- 1 | let texts = 2 | [ 3 | "24h"; 4 | "16.5 hours"; 5 | "1h20min"; 6 | "1 hour 2.5 minutes"; 7 | "0 seconds"; 8 | "10 seconds"; 9 | "100 seconds"; 10 | "2.25 minutes 1 seconds"; 11 | "5 days 6.5 hours"; 12 | "0.1 hours"; 13 | "0.01 hours"; 14 | ] 15 | 16 | let () = 17 | List.iteri 18 | (fun i text -> 19 | Printf.printf "%d. %S\n" i text; 20 | match Timere_parse.span text with 21 | | Ok duration -> 22 | Printf.printf " Ok %s\n\n" 23 | (Timedesc.Span.For_human.to_string duration) 24 | | Error msg -> 25 | Printf.printf " Error %s\n" msg; 26 | print_endline " ^^^^^"; 27 | print_newline ()) 28 | texts 29 | -------------------------------------------------------------------------------- /corpus/timeres.ml: -------------------------------------------------------------------------------- 1 | let texts = 2 | [ 3 | "2020 jun"; 4 | "jan"; 5 | "jan 6th"; 6 | "jan 6"; 7 | "jan 6 00:00"; 8 | "jan 6 12pm to 2pm"; 9 | "12pm to 2pm"; 10 | "jun 12, 13th"; 11 | "12th, 13, 20"; 12 | "12th, 13 to 15, 20"; 13 | "10 to 12, 13th to 15, 20"; 14 | "thursday"; 15 | "fri"; 16 | "tue"; 17 | "16th 7:30am"; 18 | "16th 7:30:01am"; 19 | "16th 7:30:01pm"; 20 | "16th 20:30:01"; 21 | "16th 7:30am to 11am"; 22 | "16th 11am to 6am"; 23 | "16th 8am to 10am, 11am to 12pm"; 24 | "16th 6am to 8am, 9am, 10am to 11am"; 25 | "jan or Feb"; 26 | "2020 jun 16th 10am to 12pm"; 27 | "2020 jun 16th 10am to 17th 12pm"; 28 | "2020 jun 16th 10am to jul 1 12pm"; 29 | "2020.06.16"; 30 | "2020.06.16 10am"; 31 | "2021 aug 26th to 27th"; 32 | ] 33 | 34 | let () = 35 | List.iteri 36 | (fun i text -> 37 | Printf.printf "%d. %S\n" i text; 38 | match Timere_parse.timere text with 39 | | Ok timere -> Printf.printf " Ok %s\n\n" (Timere.to_sexp_string timere) 40 | | Error msg -> 41 | Printf.printf " Error %s\n" msg; 42 | print_endline " ^^^^^"; 43 | print_newline ()) 44 | texts 45 | -------------------------------------------------------------------------------- /debug-parse/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets parser.ml) 3 | (deps ../timere-parse/parser.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (executable 8 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70-26@8" -g)) 9 | (name main) 10 | (libraries 11 | unix 12 | ptime 13 | oseq 14 | re 15 | mparser 16 | containers 17 | ptime.clock.os 18 | yojson 19 | timere 20 | timere-parse 21 | ) 22 | ) 23 | -------------------------------------------------------------------------------- /debug-parse/main.ml: -------------------------------------------------------------------------------- 1 | let debug_parsing () = 2 | let expr = "16th 6am to 8am, 9am" in 3 | print_endline expr; 4 | print_newline (); 5 | print_endline "gives"; 6 | print_newline (); 7 | match Timere_parse.timere expr with 8 | | Error msg -> print_endline msg 9 | | Ok timere -> 10 | Fmt.pr "%a@." 11 | Timere.pp_sexp 12 | timere 13 | 14 | let debug_duration () = 15 | let dur = "7d" in 16 | match Timere_parse.span dur with 17 | | Error msg -> print_endline msg 18 | | Ok dur -> 19 | Fmt.pr "%a@." 20 | (Timedesc.Span.For_human.pp ()) 21 | dur 22 | 23 | let () = 24 | debug_parsing () 25 | 26 | (* let () = 27 | * debug_duration () *) 28 | -------------------------------------------------------------------------------- /examples/dst.ml: -------------------------------------------------------------------------------- 1 | let display_intervals ~display_using_tz s = 2 | match s () with 3 | | Seq.Nil -> print_endline "No time intervals" 4 | | Seq.Cons _ -> 5 | s 6 | |> OSeq.take 60 7 | |> OSeq.iter (fun (x, y) -> 8 | let s = Timedesc.Interval.to_string ~display_using_tz (x, y) in 9 | let size = 10 | Timedesc.Span.sub y x 11 | in 12 | let size_str = Timedesc.Span.For_human.to_string size in 13 | Printf.printf "%s - %s\n" s size_str 14 | ) 15 | 16 | let tz = Timedesc.Time_zone.make_exn "Australia/Sydney" 17 | 18 | let timere = 19 | let open Timere in 20 | with_tz tz 21 | ( 22 | years [2020] (* in year 2020 *) 23 | &&& 24 | (pattern ~months:[4] ~day_ranges:[`Range_inc (2, 7)] () (* in April 2 to 7 *) 25 | ||| pattern ~months:[10] ~day_ranges:[`Range_inc (1, 6)] ()) (* or in Oct 1 to 6 *) 26 | &&& 27 | hms_intervals (* 11pm to 3am *) 28 | (Timedesc.Time.make_exn ~hour:23 ~minute:0 ~second:0 ()) 29 | (Timedesc.Time.make_exn ~hour:3 ~minute:0 ~second:0 ()) 30 | ) 31 | 32 | let () = 33 | Timere.resolve timere 34 | |> CCResult.get_exn 35 | |> display_intervals ~display_using_tz:tz 36 | -------------------------------------------------------------------------------- /examples/dune: -------------------------------------------------------------------------------- 1 | (executables 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 3 | (names dst 4 | simple 5 | date_time 6 | ) 7 | (libraries 8 | oseq 9 | re 10 | timere 11 | fmt 12 | ) 13 | ) 14 | -------------------------------------------------------------------------------- /examples/simple.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | let open Timere in 3 | match 4 | resolve ( 5 | after (Timedesc.now ()) 6 | &&& months [12] 7 | &&& days [25] 8 | &&& weekdays [`Wed] 9 | ) 10 | with 11 | | Error msg -> failwith msg 12 | | Ok s -> 13 | Fmt.pr "%a@." (Timedesc.Interval.pp_seq ~sep:(Fmt.any "@.") ()) s 14 | -------------------------------------------------------------------------------- /export-js-tzdb-full/dune: -------------------------------------------------------------------------------- 1 | (executables 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8" -g)) 3 | (names export export_all) 4 | (libraries js_of_ocaml 5 | js_of_ocaml-lwt 6 | timere 7 | timedesc-tzdb.full 8 | timedesc-tzlocal-js 9 | timedesc-json 10 | timere-parse 11 | yojson 12 | ) 13 | (preprocess (pps js_of_ocaml-ppx lwt_ppx)) 14 | ; (js_of_ocaml (flags --source-map --debug-info)) 15 | (modes js)) 16 | -------------------------------------------------------------------------------- /export-js-tzdb-full/export.ml: -------------------------------------------------------------------------------- 1 | let _ = Js_of_ocaml.Js.export "timere" Core.to_be_exported 2 | -------------------------------------------------------------------------------- /export-js-tzdb-full/export_all.ml: -------------------------------------------------------------------------------- 1 | let _ = Js_of_ocaml.Js.export_all Core.to_be_exported 2 | -------------------------------------------------------------------------------- /export-js-tzdb-none/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets core.ml) 3 | (deps ../export-js-tzdb-full/core.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (rule 8 | (targets export.ml) 9 | (deps ../export-js-tzdb-full/export.ml) 10 | (action (copy %{deps} %{targets})) 11 | ) 12 | 13 | (rule 14 | (targets export_all.ml) 15 | (deps ../export-js-tzdb-full/export_all.ml) 16 | (action (copy %{deps} %{targets})) 17 | ) 18 | 19 | (executables 20 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8" -g)) 21 | (names export export_all) 22 | (libraries js_of_ocaml 23 | js_of_ocaml-lwt 24 | timere 25 | timedesc-tzdb.none 26 | timedesc-tzlocal-js 27 | timedesc-json 28 | timere-parse 29 | yojson 30 | ) 31 | (preprocess (pps js_of_ocaml-ppx lwt_ppx)) 32 | ; (js_of_ocaml (flags --source-map --debug-info)) 33 | (modes js)) 34 | -------------------------------------------------------------------------------- /fuzz/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM docker.io/ocaml/opam:debian-11-ocaml-4.14-afl 2 | USER root 3 | RUN apt-get update 4 | RUN apt-get install --yes pkg-config 5 | RUN apt-get install --yes afl 6 | RUN opam install dune containers fmt 7 | RUN opam install mparser re ptime oseq seq diet 8 | RUN opam install yojson fileutils 9 | RUN opam install utop ocp-indent 10 | RUN opam install alcotest crowbar 11 | RUN opam install js_of_ocaml js_of_ocaml-ppx lwt_ppx 12 | RUN opam install js_of_ocaml-lwt qcheck qcheck-alcotest 13 | RUN opam install angstrom 14 | RUN opam install sexplib 15 | -------------------------------------------------------------------------------- /fuzz/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | script_dir=$(dirname $(readlink -f "$0")) 4 | 5 | rm -rf "$script_dir"/../fuzz-*-input 6 | rm -rf "$script_dir"/../fuzz-*-output 7 | rm -f "$script_dir"/core.* 8 | rm -f ./core.* 9 | -------------------------------------------------------------------------------- /fuzz/inter_is_sound_and_complete.ml: -------------------------------------------------------------------------------- 1 | open Fuzz_utils 2 | 3 | let () = 4 | Crowbar.add_test ~name:"inter_is_sound_and_complete" 5 | [ time_zone; Crowbar.list time ] (fun tz l' -> 6 | let l = List.map Resolver.t_of_ast l' in 7 | let s = Resolver.aux_inter tz (CCList.to_seq l) |> Resolver.normalize in 8 | let s' = 9 | l 10 | |> List.map (Resolver.aux tz) 11 | |> CCList.to_seq 12 | |> Time.Intervals.Inter.inter_multi_seq 13 | |> Time.slice_valid_interval 14 | in 15 | let r = OSeq.equal Time.Interval'.equal s s' in 16 | if not r then 17 | Crowbar.fail 18 | (Fmt.str "tz: %s, times: %a\n" 19 | (Timedesc.Time_zone.name tz) 20 | (Fmt.list Printers.pp_sexp) 21 | l')) 22 | -------------------------------------------------------------------------------- /fuzz/inter_order_does_not_matter.ml: -------------------------------------------------------------------------------- 1 | open Fuzz_utils 2 | 3 | let () = 4 | Crowbar.add_test ~name:"inter_order_does_not_matter" 5 | [ Crowbar.int; Crowbar.list time ] (fun rand l1 -> 6 | let l2 = permute rand l1 in 7 | let t1 = Time.inter l1 in 8 | let t2 = Time.inter l2 in 9 | let r1 = CCResult.get_exn @@ Resolver.resolve t1 in 10 | let r2 = CCResult.get_exn @@ Resolver.resolve t2 in 11 | let r = OSeq.equal Time.Interval'.equal r1 r2 in 12 | if not r then 13 | Crowbar.fail 14 | (Fmt.str "rand: %d, l1: %a\nl2: %a\n" rand 15 | (Fmt.list Printers.pp_sexp) 16 | l1 17 | (Fmt.list Printers.pp_sexp) 18 | l2)) 19 | -------------------------------------------------------------------------------- /fuzz/list.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | script_dir=$(dirname $(readlink -f "$0")) 4 | 5 | echo "Building" 6 | 7 | dune build @all 8 | 9 | echo "" 10 | 11 | echo "Fuzzing tests available:" 12 | 13 | for file in "$script_dir"/../_build/default/fuzz/*.exe; do 14 | echo "- "$(basename $file | sed 's/\.exe$//') 15 | done 16 | -------------------------------------------------------------------------------- /fuzz/of_sexp_string_does_not_crash.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | Crowbar.add_test ~name:"of_sexp_string_does_not_crash" [ Crowbar.bytes ] 3 | (fun s -> Of_sexp.of_sexp_string s |> ignore) 4 | -------------------------------------------------------------------------------- /fuzz/resolver_is_same_as_simple_resolver.ml: -------------------------------------------------------------------------------- 1 | open Fuzz_utils 2 | 3 | let search_start_dt = 4 | Timedesc.make_exn ~year:2000 ~month:1 ~day:1 ~hour:0 ~minute:0 ~second:0 5 | ~tz:Timedesc.Time_zone.utc () 6 | 7 | let search_start = 8 | Timedesc.to_timestamp search_start_dt |> Timedesc.min_of_local_date_time_result 9 | 10 | let search_end_exc_dt = 11 | Timedesc.make_exn ~year:2003 ~month:1 ~day:1 ~hour:0 ~minute:0 ~second:0 12 | ~tz:Timedesc.Time_zone.utc () 13 | 14 | let search_end_exc = 15 | Timedesc.to_timestamp search_end_exc_dt |> Timedesc.max_of_local_date_time_result 16 | 17 | let () = 18 | Crowbar.add_test ~name:"resolver_is_same_as_simple_resolver" [ time ] 19 | (fun t -> 20 | let r = 21 | OSeq.equal Time.Interval'.equal 22 | (CCResult.get_exn 23 | @@ Resolver.resolve 24 | Time.(inter [ t; intervals [ (search_start, search_end_exc) ] ]) 25 | ) 26 | (Simple_resolver.resolve ~search_start ~search_end_exc 27 | ~search_using_tz:Timedesc.Time_zone.utc t) 28 | in 29 | if not r then Crowbar.fail (Fmt.str "%a\n" Printers.pp_sexp t)) 30 | -------------------------------------------------------------------------------- /fuzz/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | script_dir=$(dirname $(readlink -f "$0")) 4 | 5 | skip_build=$2 6 | 7 | if [[ "$skip_build" != "skip_build" ]]; then 8 | echo "Building" 9 | 10 | dune build @all 11 | fi 12 | 13 | if [[ "$1" == "" ]]; then 14 | echo "Please enter a fuzzing test to run" 15 | exit 1 16 | fi 17 | 18 | name=$(echo "$1" | sed 's/\.exe$//' | sed 's/\.ml$//') 19 | 20 | echo "Creating input directory" 21 | 22 | input_dir="$script_dir"/../"fuzz-""$name""-input" 23 | 24 | output_dir="$script_dir"/../"fuzz-""$name""-output" 25 | 26 | mkdir -p "$input_dir" 27 | 28 | echo "abcd" > "$input_dir"/dummy 29 | 30 | if [ -d "$output_dir" ]; then 31 | afl-fuzz -t 1000 -i - -o "$output_dir" "$script_dir"/../_build/default/fuzz/"$name".exe @@ 32 | else 33 | mkdir -p "$output_dir" 34 | 35 | afl-fuzz -t 1000 -i "$input_dir" -o "$output_dir" "$script_dir"/../_build/default/fuzz/"$name".exe @@ 36 | fi 37 | 38 | -------------------------------------------------------------------------------- /fuzz/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo core >/proc/sys/kernel/core_pattern 4 | 5 | cd /sys/devices/system/cpu 6 | echo performance | tee cpu*/cpufreq/scaling_governor 7 | -------------------------------------------------------------------------------- /fuzz/span_set.ml: -------------------------------------------------------------------------------- 1 | include Diet.Make (struct 2 | type t = Timedesc.Span.t 3 | 4 | let compare = Timedesc.Span.compare 5 | 6 | let zero = Timedesc.Span.zero 7 | 8 | let pred = Timedesc.Span.pred 9 | 10 | let succ = Timedesc.Span.succ 11 | 12 | let sub = Timedesc.Span.sub 13 | 14 | let add = Timedesc.Span.add 15 | 16 | let to_string = Timedesc.Span.to_string 17 | end) 18 | -------------------------------------------------------------------------------- /fuzz/to_of_sexp.ml: -------------------------------------------------------------------------------- 1 | open Fuzz_utils 2 | 3 | let () = 4 | Crowbar.add_test ~name:"to_of_sexp" [ time ] (fun t -> 5 | let t' = t |> To_sexp.to_sexp |> Of_sexp.of_sexp in 6 | Crowbar.check_eq ~pp:Printers.pp_sexp ~eq:Time.equal t t') 7 | -------------------------------------------------------------------------------- /fuzz/union_is_sound_and_complete.ml: -------------------------------------------------------------------------------- 1 | open Fuzz_utils 2 | 3 | let () = 4 | Crowbar.add_test ~name:"union_is_sound_and_complete" 5 | [ time_zone; Crowbar.list time ] (fun tz l' -> 6 | let l = List.map Resolver.t_of_ast l' in 7 | let s = Resolver.aux_union tz (CCList.to_seq l) |> Resolver.normalize in 8 | let s' = 9 | l 10 | |> List.map (Resolver.aux tz) 11 | |> CCList.to_seq 12 | |> Time.Intervals.Union.union_multi_seq 13 | |> Time.slice_valid_interval 14 | in 15 | let r = OSeq.equal Time.Interval'.equal s s' in 16 | if not r then 17 | Crowbar.fail 18 | (Fmt.str "tz: %s, times: %a\n" 19 | (Timedesc.Time_zone.name tz) 20 | (Fmt.list Printers.pp_sexp) 21 | l')) 22 | -------------------------------------------------------------------------------- /fuzz/union_order_does_not_matter.ml: -------------------------------------------------------------------------------- 1 | open Fuzz_utils 2 | 3 | let () = 4 | Crowbar.add_test ~name:"union_order_does_not_matter" 5 | [ Crowbar.int; Crowbar.list time ] (fun rand l1 -> 6 | let l2 = permute rand l1 in 7 | let t1 = Time.union l1 in 8 | let t2 = Time.union l2 in 9 | let r1 = CCResult.get_exn @@ Resolver.resolve t1 in 10 | let r2 = CCResult.get_exn @@ Resolver.resolve t2 in 11 | let r = OSeq.equal Time.Interval'.equal r1 r2 in 12 | if not r then 13 | Crowbar.fail 14 | (Fmt.str "rand: %d, l1: %a\nl2: %a\n" rand 15 | (Fmt.list Printers.pp_sexp) 16 | l1 17 | (Fmt.list Printers.pp_sexp) 18 | l2)) 19 | -------------------------------------------------------------------------------- /gen-artifacts/time_zone_constants.ml: -------------------------------------------------------------------------------- 1 | 2 | let greatest_neg_tz_offset_s = 50400 3 | let greatest_pos_tz_offset_s = 50400 4 | -------------------------------------------------------------------------------- /gen/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets int64_utils.ml) 3 | (deps ../timedesc/int64_utils.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (rule 8 | (targets parser_components.ml) 9 | (deps ../timedesc/parser_components.ml) 10 | (action (copy %{deps} %{targets})) 11 | ) 12 | 13 | (executables 14 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 15 | (names gen_time_zone_data 16 | ) 17 | (libraries oseq 18 | re 19 | angstrom 20 | containers 21 | fileutils 22 | ptime 23 | timedesc 24 | timedesc-tzdb.none 25 | timedesc-tzlocal.none 26 | timedesc-json 27 | timedesc-sexp 28 | yojson 29 | bigarray 30 | ) 31 | ) 32 | -------------------------------------------------------------------------------- /start-container-timere-fuzz.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | podman run -it \ 3 | -v ~/timere:/home/opam/timere \ 4 | --userns keep-id:uid=1000,gid=1000 \ 5 | --workdir /home/opam/timere \ 6 | --rm \ 7 | localhost/timere-fuzz 8 | -------------------------------------------------------------------------------- /start-container-timere.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | podman run -it \ 3 | -v ~/timere:/home/opam/timere \ 4 | -v $TZDIR:/usr/share/zoneinfo \ 5 | --userns keep-id:uid=1000,gid=1000 \ 6 | --workdir /home/opam/timere \ 7 | --rm \ 8 | localhost/timere 9 | -------------------------------------------------------------------------------- /timedesc-js-build-test/dune: -------------------------------------------------------------------------------- 1 | (executable 2 | (name timedesc_empty) 3 | (libraries timedesc) 4 | (modes js) 5 | ) 6 | -------------------------------------------------------------------------------- /timedesc-js-build-test/timedesc_empty.ml: -------------------------------------------------------------------------------- 1 | let () = print_endline "Hello, World!" 2 | -------------------------------------------------------------------------------- /timedesc-json.opam: -------------------------------------------------------------------------------- 1 | # This file is generated by dune, edit dune-project instead 2 | opam-version: "2.0" 3 | synopsis: "Timedesc JSON backend" 4 | description: """ 5 | 6 | This package provides JSON serialization functions for various Timedesc values 7 | """ 8 | maintainer: ["Darren Ldl "] 9 | authors: ["Daypack developers"] 10 | license: "MIT" 11 | homepage: "https://github.com/daypack-dev/timere" 12 | bug-reports: "https://github.com/daypack-dev/timere/issues" 13 | depends: [ 14 | "ocaml" {>= "4.08"} 15 | "dune" {>= "2.9"} 16 | "timedesc" {= version} 17 | "yojson" {>= "1.6.0"} 18 | "odoc" {with-doc} 19 | ] 20 | build: [ 21 | ["dune" "subst"] {dev} 22 | [ 23 | "dune" 24 | "build" 25 | "-p" 26 | name 27 | "-j" 28 | jobs 29 | "--promote-install-files=false" 30 | "@install" 31 | "@runtest" {with-test} 32 | "@doc" {with-doc} 33 | ] 34 | ["dune" "install" "-p" name "--create-install-files" name] 35 | ] 36 | dev-repo: "git+https://github.com/daypack-dev/timere.git" 37 | -------------------------------------------------------------------------------- /timedesc-json/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets date_time_utils.ml) 3 | (deps ../timedesc/date_time_utils.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (library 8 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 9 | (name timedesc_json) 10 | (public_name timedesc-json) 11 | (instrumentation (backend bisect_ppx)) 12 | (libraries 13 | timedesc 14 | yojson 15 | ) 16 | ) 17 | 18 | -------------------------------------------------------------------------------- /timedesc-json/timedesc_json.mli: -------------------------------------------------------------------------------- 1 | open Timedesc 2 | 3 | module Time_zone : sig 4 | open Time_zone 5 | 6 | val to_json : t -> Yojson.Basic.t 7 | 8 | val of_json : Yojson.Basic.t -> t option 9 | 10 | val of_string : string -> t option 11 | end 12 | -------------------------------------------------------------------------------- /timedesc-sexp.opam: -------------------------------------------------------------------------------- 1 | # This file is generated by dune, edit dune-project instead 2 | opam-version: "2.0" 3 | synopsis: "Timedesc Sexp backend" 4 | description: """ 5 | 6 | This package provides sexp serialization functions for various Timedesc values 7 | """ 8 | maintainer: ["Darren Ldl "] 9 | authors: ["Daypack developers"] 10 | license: "MIT" 11 | homepage: "https://github.com/daypack-dev/timere" 12 | bug-reports: "https://github.com/daypack-dev/timere/issues" 13 | depends: [ 14 | "ocaml" {>= "4.08"} 15 | "dune" {>= "2.9"} 16 | "timedesc" {= version} 17 | "sexplib" {>= "v0.14.0"} 18 | "odoc" {with-doc} 19 | ] 20 | build: [ 21 | ["dune" "subst"] {dev} 22 | [ 23 | "dune" 24 | "build" 25 | "-p" 26 | name 27 | "-j" 28 | jobs 29 | "--promote-install-files=false" 30 | "@install" 31 | "@runtest" {with-test} 32 | "@doc" {with-doc} 33 | ] 34 | ["dune" "install" "-p" name "--create-install-files" name] 35 | ] 36 | dev-repo: "git+https://github.com/daypack-dev/timere.git" 37 | -------------------------------------------------------------------------------- /timedesc-sexp/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets date_time_utils.ml) 3 | (deps ../timedesc/date_time_utils.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (library 8 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 9 | (name timedesc_sexp) 10 | (public_name timedesc-sexp) 11 | (instrumentation (backend bisect_ppx)) 12 | (libraries 13 | timedesc 14 | sexplib 15 | ) 16 | ) 17 | 18 | -------------------------------------------------------------------------------- /timedesc-sexp/of_sexp_utils.ml: -------------------------------------------------------------------------------- 1 | open Sexplib 2 | 3 | exception Invalid_data of string 4 | 5 | let invalid_data s = raise (Invalid_data s) 6 | 7 | let int_of_sexp (x : Sexp.t) = 8 | match x with 9 | | Atom s -> ( 10 | try int_of_string s 11 | with Failure _ -> 12 | invalid_data (Printf.sprintf "failed to parse int: %s" s)) 13 | | List _ -> 14 | invalid_data 15 | (Printf.sprintf "expected atom for int: %s" (Sexplib.Sexp.to_string x)) 16 | 17 | let int64_of_sexp (x : Sexp.t) = 18 | match x with 19 | | Atom s -> ( 20 | try Int64.of_string s 21 | with Failure _ -> 22 | invalid_data (Printf.sprintf "failed to parse int64: %s" s)) 23 | | List _ -> 24 | invalid_data 25 | (Printf.sprintf "expected atom for int64: %s" (Sexplib.Sexp.to_string x)) 26 | 27 | let wrap_of_sexp (f : Sexp.t -> 'a) : Sexp.t -> ('a, string) result = 28 | fun x -> 29 | try Ok (f x) with 30 | | Invalid_data msg -> Error msg 31 | | Invalid_argument msg -> Error msg 32 | 33 | let wrap_of_sexp_into_of_sexp_string (f : Sexplib.Sexp.t -> 'a) : 34 | string -> ('a, string) result = 35 | fun s -> 36 | match Sexplib.Sexp.of_string s with 37 | | exception _ -> Error "failed to parse string into sexp" 38 | | x -> (wrap_of_sexp f) x 39 | -------------------------------------------------------------------------------- /timedesc-sexp/to_sexp_utils.ml: -------------------------------------------------------------------------------- 1 | open Sexplib 2 | 3 | let sexp_of_int64 x = Sexp.Atom (Int64.to_string x) 4 | 5 | let sexp_of_int x = Sexp.Atom (string_of_int x) 6 | 7 | let wrap_to_sexp_into_to_sexp_string (f : 'a -> Sexp.t) x = 8 | Sexp.to_string (f x) 9 | -------------------------------------------------------------------------------- /timedesc-tests/date_time_util_tests.ml: -------------------------------------------------------------------------------- 1 | open Test_utils 2 | 3 | module Alco = struct 4 | let suite = [] 5 | end 6 | 7 | module Qc = struct 8 | let jd_of_ymd_then_ymd_of_jd = 9 | QCheck.Test.make ~count:100_000 ~name:"jd_of_ymd_then_ymd_of_jd" 10 | ymd_date 11 | (fun (year, month, day) -> 12 | let jd = Timedesc.Utils.jd_of_ymd ~year ~month ~day in 13 | let year', month', day' = Timedesc.Utils.ymd_of_jd jd in 14 | year = year' && month = month' && day = day' 15 | ) 16 | 17 | let jd_of_iso_week_date_then_iso_week_date_of_jd = 18 | QCheck.Test.make ~count:100_000 ~name:"jd_of_iso_week_date_then_iso_week_date_of_jd" 19 | iso_week_date 20 | (fun (year, week, weekday) -> 21 | let jd = Timedesc.Utils.jd_of_iso_week_date ~year ~week ~weekday in 22 | let year', week', weekday' = Timedesc.Utils.iso_week_date_of_jd jd in 23 | year = year' && week = week' && weekday = weekday' 24 | ) 25 | 26 | let suite = 27 | [ 28 | jd_of_ymd_then_ymd_of_jd; 29 | jd_of_iso_week_date_then_iso_week_date_of_jd; 30 | ] 31 | end 32 | -------------------------------------------------------------------------------- /timedesc-tests/dune: -------------------------------------------------------------------------------- 1 | (executable 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8" -g)) 3 | (name main) 4 | (libraries qcheck 5 | qcheck-alcotest 6 | alcotest 7 | ptime 8 | ptime.clock.os 9 | oseq 10 | seq 11 | mparser 12 | containers 13 | yojson 14 | fmt 15 | bigarray 16 | diet 17 | timedesc 18 | timedesc-tzdb.full 19 | timedesc-tzlocal.unix-or-utc 20 | timedesc-json 21 | timedesc-sexp 22 | ) 23 | ) 24 | -------------------------------------------------------------------------------- /timedesc-tests/int64_set.ml: -------------------------------------------------------------------------------- 1 | include CCSet.Make (struct 2 | type t = int64 3 | 4 | let compare = compare 5 | end) 6 | 7 | let to_seq x = x |> to_list |> CCList.to_seq 8 | -------------------------------------------------------------------------------- /timedesc-tests/interval_tests.ml: -------------------------------------------------------------------------------- 1 | open Test_utils 2 | 3 | module Alco = struct 4 | let suite = [] 5 | end 6 | 7 | module Qc = struct 8 | let to_string_does_not_crash = 9 | QCheck.Test.make ~count:100_000 ~name:"to_string_does_not_crash" 10 | QCheck.(pair timestamp timestamp) (fun (ts1, ts2) -> 11 | Timedesc.Interval.to_string (ts1, ts2) |> ignore; 12 | true 13 | ) 14 | 15 | let suite = 16 | [ 17 | to_string_does_not_crash; 18 | ] 19 | end 20 | -------------------------------------------------------------------------------- /timedesc-tests/ptime_tests.ml: -------------------------------------------------------------------------------- 1 | open Test_utils 2 | 3 | module Qc = struct 4 | let span_to_of_ptime_span = 5 | QCheck.Test.make ~count:100_000 ~name:"span_to_of_ptime_span" timestamp 6 | (fun s -> 7 | let s' = 8 | s 9 | |> Timedesc.Utils.ptime_span_of_span 10 | |> CCOption.get_exn_or 11 | "Expected successful construction of Ptime.span from span" 12 | |> Timedesc.Utils.span_of_ptime_span 13 | in 14 | Timedesc.Span.equal s s') 15 | 16 | let timestamp_to_of_ptime = 17 | QCheck.Test.make ~count:100_000 ~name:"timestamp_to_of_ptime" timestamp 18 | (fun s -> 19 | let s' = 20 | s 21 | |> Timedesc.Utils.ptime_of_timestamp 22 | |> CCOption.get_exn_or 23 | "Expected successful construction of ptime from timestamp" 24 | |> Timedesc.Utils.timestamp_of_ptime 25 | in 26 | Timedesc.Span.equal s s') 27 | 28 | let suite = [ span_to_of_ptime_span; timestamp_to_of_ptime ] 29 | end 30 | -------------------------------------------------------------------------------- /timedesc-tzdb.opam: -------------------------------------------------------------------------------- 1 | # This file is generated by dune, edit dune-project instead 2 | opam-version: "2.0" 3 | synopsis: "Virtual library for Timedesc time zone database backends" 4 | description: """ 5 | 6 | Concrete implementations available in this package: 7 | 8 | - `timedesc-tzdb.full` 9 | 10 | - `timedesc-tzdb.none` 11 | """ 12 | maintainer: ["Darren Ldl "] 13 | authors: ["Daypack developers"] 14 | license: "MIT" 15 | homepage: "https://github.com/daypack-dev/timere" 16 | bug-reports: "https://github.com/daypack-dev/timere/issues" 17 | depends: [ 18 | "ocaml" {>= "4.08"} 19 | "dune" {>= "2.9"} 20 | "odoc" {with-doc} 21 | ] 22 | build: [ 23 | ["dune" "subst"] {dev} 24 | [ 25 | "dune" 26 | "build" 27 | "-p" 28 | name 29 | "-j" 30 | jobs 31 | "--promote-install-files=false" 32 | "@install" 33 | "@runtest" {with-test} 34 | "@doc" {with-doc} 35 | ] 36 | ["dune" "install" "-p" name "--create-install-files" name] 37 | ] 38 | dev-repo: "git+https://github.com/daypack-dev/timere.git" 39 | -------------------------------------------------------------------------------- /timedesc-tzdb/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name timedesc_tzdb) 3 | (public_name timedesc-tzdb) 4 | (virtual_modules timedesc_tzdb) 5 | (default_implementation timedesc-tzdb.full) 6 | ) 7 | -------------------------------------------------------------------------------- /timedesc-tzdb/full/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets tzdb_compressed.ml) 3 | (deps ../../gen-artifacts/tzdb_compressed_full.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (library 8 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 9 | (name timedesc_tzdb_full) 10 | (public_name timedesc-tzdb.full) 11 | (implements timedesc_tzdb) 12 | (libraries 13 | ) 14 | ) 15 | -------------------------------------------------------------------------------- /timedesc-tzdb/full/timedesc_tzdb.ml: -------------------------------------------------------------------------------- 1 | module M = Map.Make (String) 2 | 3 | type entry = { 4 | is_dst : bool; 5 | offset : int; 6 | } 7 | 8 | type table = 9 | (int64, Bigarray.int64_elt, Bigarray.c_layout) Bigarray.Array1.t * entry array 10 | 11 | let db = None 12 | 13 | let compressed = Some Tzdb_compressed.s 14 | -------------------------------------------------------------------------------- /timedesc-tzdb/none/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 3 | (name timedesc_tzdb_none) 4 | (public_name timedesc-tzdb.none) 5 | (implements timedesc_tzdb) 6 | ) 7 | -------------------------------------------------------------------------------- /timedesc-tzdb/none/timedesc_tzdb.ml: -------------------------------------------------------------------------------- 1 | module M = Map.Make (String) 2 | 3 | type entry = { 4 | is_dst : bool; 5 | offset : int; 6 | } 7 | 8 | type table = 9 | (int64, Bigarray.int64_elt, Bigarray.c_layout) Bigarray.Array1.t * entry array 10 | 11 | let db = None 12 | 13 | let compressed = None 14 | -------------------------------------------------------------------------------- /timedesc-tzdb/timedesc_tzdb.mli: -------------------------------------------------------------------------------- 1 | module M : Map.S with type key = string 2 | 3 | type entry = { 4 | is_dst : bool; 5 | offset : int; 6 | } 7 | 8 | type table = 9 | (int64, Bigarray.int64_elt, Bigarray.c_layout) Bigarray.Array1.t * entry array 10 | 11 | val db : table M.t option 12 | 13 | val compressed : string option 14 | -------------------------------------------------------------------------------- /timedesc-tzlocal-js.opam: -------------------------------------------------------------------------------- 1 | # This file is generated by dune, edit dune-project instead 2 | opam-version: "2.0" 3 | synopsis: "JS implementation for timedesc-tzlocal" 4 | description: """ 5 | 6 | JavaScript implementation of timedesc-tzlocal 7 | """ 8 | maintainer: ["Darren Ldl "] 9 | authors: ["Daypack developers"] 10 | license: "MIT" 11 | homepage: "https://github.com/daypack-dev/timere" 12 | bug-reports: "https://github.com/daypack-dev/timere/issues" 13 | depends: [ 14 | "ocaml" {>= "4.08"} 15 | "dune" {>= "2.9"} 16 | "timedesc-tzlocal" {= version} 17 | "js_of_ocaml" {>= "4.0.0"} 18 | "js_of_ocaml-ppx" 19 | "odoc" {with-doc} 20 | ] 21 | build: [ 22 | ["dune" "subst"] {dev} 23 | [ 24 | "dune" 25 | "build" 26 | "-p" 27 | name 28 | "-j" 29 | jobs 30 | "--promote-install-files=false" 31 | "@install" 32 | "@runtest" {with-test} 33 | "@doc" {with-doc} 34 | ] 35 | ["dune" "install" "-p" name "--create-install-files" name] 36 | ] 37 | dev-repo: "git+https://github.com/daypack-dev/timere.git" 38 | -------------------------------------------------------------------------------- /timedesc-tzlocal.opam: -------------------------------------------------------------------------------- 1 | # This file is generated by dune, edit dune-project instead 2 | opam-version: "2.0" 3 | synopsis: "Virtual library for Timedesc local time zone detection backends" 4 | description: """ 5 | 6 | Concrete implementations available in this package: 7 | 8 | - `timedesc-tzlocal.unix` 9 | 10 | - `timedesc-tzlocal.none` 11 | 12 | - `timedesc-tzlocal.utc` 13 | 14 | See timedesc-tzlocal-js for JavaScript backend 15 | """ 16 | maintainer: ["Darren Ldl "] 17 | authors: ["Daypack developers"] 18 | license: "MIT" 19 | homepage: "https://github.com/daypack-dev/timere" 20 | bug-reports: "https://github.com/daypack-dev/timere/issues" 21 | depends: [ 22 | "ocaml" {>= "4.08"} 23 | "dune" {>= "2.9"} 24 | "odoc" {with-doc} 25 | ] 26 | build: [ 27 | ["dune" "subst"] {dev} 28 | [ 29 | "dune" 30 | "build" 31 | "-p" 32 | name 33 | "-j" 34 | jobs 35 | "--promote-install-files=false" 36 | "@install" 37 | "@runtest" {with-test} 38 | "@doc" {with-doc} 39 | ] 40 | ["dune" "install" "-p" name "--create-install-files" name] 41 | ] 42 | dev-repo: "git+https://github.com/daypack-dev/timere.git" 43 | -------------------------------------------------------------------------------- /timedesc-tzlocal/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (name timedesc_tzlocal) 3 | (public_name timedesc-tzlocal) 4 | (virtual_modules timedesc_tzlocal) 5 | (default_implementation timedesc-tzlocal.unix-or-utc) 6 | ) 7 | -------------------------------------------------------------------------------- /timedesc-tzlocal/js/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 3 | (name timedesc_tzlocal_js) 4 | (public_name timedesc-tzlocal-js) 5 | (implements timedesc-tzlocal) 6 | (libraries js_of_ocaml) 7 | (preprocess (pps js_of_ocaml-ppx)) 8 | ) 9 | -------------------------------------------------------------------------------- /timedesc-tzlocal/js/timedesc_tzlocal.ml: -------------------------------------------------------------------------------- 1 | open Js_of_ocaml 2 | 3 | let local () = 4 | let formatter = new%js Intl.dateTimeFormat_constr Js.undefined Js.undefined in 5 | let tz = Js.to_string (formatter##resolvedOptions ())##.timeZone in 6 | [ tz ] 7 | -------------------------------------------------------------------------------- /timedesc-tzlocal/none/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 3 | (name timedesc_tzlocal_none) 4 | (public_name timedesc-tzlocal.none) 5 | (implements timedesc_tzlocal) 6 | ) 7 | -------------------------------------------------------------------------------- /timedesc-tzlocal/none/timedesc_tzlocal.ml: -------------------------------------------------------------------------------- 1 | let local () = [] 2 | -------------------------------------------------------------------------------- /timedesc-tzlocal/timedesc_tzlocal.mli: -------------------------------------------------------------------------------- 1 | val local : unit -> string list 2 | -------------------------------------------------------------------------------- /timedesc-tzlocal/unix-or-utc/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets unix_timedesc_tzlocal.ml) 3 | (deps ../unix/timedesc_tzlocal.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (library 8 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 9 | (name timedesc_tzlocal_unix_or_utc) 10 | (public_name timedesc-tzlocal.unix-or-utc) 11 | (implements timedesc_tzlocal) 12 | (libraries unix 13 | ) 14 | ) 15 | -------------------------------------------------------------------------------- /timedesc-tzlocal/unix-or-utc/timedesc_tzlocal.ml: -------------------------------------------------------------------------------- 1 | let local () = 2 | match Unix_timedesc_tzlocal.local () with 3 | | [] -> [ "UTC" ] 4 | | l -> l 5 | -------------------------------------------------------------------------------- /timedesc-tzlocal/unix/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 3 | (name timedesc_tzlocal_unix) 4 | (public_name timedesc-tzlocal.unix) 5 | (implements timedesc_tzlocal) 6 | (libraries unix 7 | ) 8 | ) 9 | -------------------------------------------------------------------------------- /timedesc-tzlocal/utc/dune: -------------------------------------------------------------------------------- 1 | (library 2 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 3 | (name timedesc_tzlocal_utc) 4 | (public_name timedesc-tzlocal.utc) 5 | (implements timedesc_tzlocal) 6 | ) 7 | -------------------------------------------------------------------------------- /timedesc-tzlocal/utc/timedesc_tzlocal.ml: -------------------------------------------------------------------------------- 1 | let local () = [ "UTC" ] 2 | -------------------------------------------------------------------------------- /timedesc/RFC9110_printers.ml: -------------------------------------------------------------------------------- 1 | let pp_date formatter (date : Date.t) : unit = 2 | let wday = Date.weekday date in 3 | let Date.Ymd'.{ year; month; day } = Date.Ymd'.view date in 4 | Format.fprintf formatter "%s, %02d %s %04d" 5 | (Date_time_utils.abbr_string_of_weekday wday) 6 | day 7 | (Option.get @@ Date_time_utils.abbr_string_of_month month) 8 | year 9 | 10 | let pp_time formatter (time : Time.t) : unit = 11 | let { Time.hour; minute; second; _ } = Time.view time in 12 | Format.fprintf formatter "%02d:%02d:%02d" hour minute second 13 | 14 | let pp_timestamp formatter (x : Span.t) = 15 | match Date_time.of_timestamp ~tz_of_date_time:Time_zone.utc x with 16 | | None -> invalid_arg "Invalid timestamp" 17 | | Some dt -> 18 | Format.fprintf formatter "%a %a GMT" 19 | pp_date (Date_time.date dt) 20 | pp_time (Date_time.time dt) 21 | 22 | let pp_date_time formatter (dt : Date_time.t) = 23 | match Date_time.to_timestamp dt with 24 | | `Ambiguous _ -> raise (Printers.Date_time_cannot_deduce_offset_from_utc dt) 25 | | `Single x -> pp_timestamp formatter x 26 | 27 | let of_date_time (dt : Date_time.t) : string = 28 | Format.asprintf "%a" pp_date_time dt 29 | 30 | let of_timestamp (dt : Span.t) : string = 31 | Format.asprintf "%a" pp_timestamp dt 32 | -------------------------------------------------------------------------------- /timedesc/array_utils.ml: -------------------------------------------------------------------------------- 1 | let for_all2 (f : 'a -> 'b -> bool) (arr1 : 'a array) (arr2 : 'b array) : bool = 2 | assert (Array.length arr1 = Array.length arr2); 3 | let rec aux cur len arr1 arr2 = 4 | if cur < len then 5 | f arr1.(cur) arr2.(cur) 6 | && aux (cur + 1) len arr1 arr2 7 | else 8 | true 9 | in 10 | aux 0 (Array.length arr1) arr1 arr2 11 | -------------------------------------------------------------------------------- /timedesc/bigarray_utils.ml: -------------------------------------------------------------------------------- 1 | (* Copied from containers *) 2 | let bsearch ~cmp k a = 3 | let rec aux i j = 4 | if i > j then `Just_after j 5 | else 6 | let middle = i + ((j - i) / 2) in 7 | (* avoid overflow *) 8 | match cmp k a.{middle} with 9 | | 0 -> `At middle 10 | | n when n < 0 -> aux i (middle - 1) 11 | | _ -> aux (middle + 1) j 12 | in 13 | let n = Bigarray.Array1.dim a in 14 | if n = 0 then `Empty 15 | else 16 | match (cmp a.{0} k, cmp a.{n - 1} k) with 17 | | c, _ when c > 0 -> `All_bigger 18 | | _, c when c < 0 -> `All_lower 19 | | _ -> aux 0 (n - 1) 20 | -------------------------------------------------------------------------------- /timedesc/constants.ml: -------------------------------------------------------------------------------- 1 | include Time_zone_constants 2 | 3 | let timestamp_min : Span.t = 4 | let x = Ptime.min |> Ptime_utils.timestamp_of_ptime in 5 | Span.(ceil (x + make ~s:(Int64.of_int greatest_neg_tz_offset_s) ())) 6 | 7 | let timestamp_max : Span.t = 8 | let x = Ptime.max |> Ptime_utils.timestamp_of_ptime in 9 | Span.( 10 | floor (x - make_small ~s:1 () - make_small ~s:greatest_pos_tz_offset_s ())) 11 | 12 | let min_year = 0 13 | 14 | let max_year = 9999 15 | 16 | let one_day = Span.For_human'.make_exn ~days:1 () 17 | -------------------------------------------------------------------------------- /timedesc/direct_parser_components.ml: -------------------------------------------------------------------------------- 1 | let uint8 ~pos s : int * int = 2 | (pos + 1, Char.code (String.get s pos)) 3 | 4 | let be_uint16 ~pos s : int * int = 5 | let pos, c0 = uint8 ~pos s in 6 | let pos, c1 = uint8 ~pos s in 7 | (pos, c0 * 0x100 + c1) 8 | 9 | let be_int32 ~pos s : int * Int32.t = 10 | let pos, c01 = be_uint16 ~pos s in 11 | let pos, c23 = be_uint16 ~pos s in 12 | (pos, Int32.(add 13 | (shift_left (of_int c01) 16) 14 | (logand 0xFFFFl (of_int c23)))) 15 | 16 | let be_int64 ~pos s : int * Int64.t = 17 | let pos, c0123 = be_int32 ~pos s in 18 | let pos, c4567 = be_int32 ~pos s in 19 | (pos, Int64.(add 20 | (shift_left (of_int32 c0123) 32) 21 | (logand 0xFFFFFFFFL (of_int32 c4567)))) 22 | 23 | let take ~pos len s : int * string = 24 | (pos + len, String.sub s pos len) 25 | 26 | let count (type a) n (f : pos:int -> string -> int * a) ~pos s : int * a list = 27 | let buf = ref [] in 28 | let pos = ref pos in 29 | assert (n >= 0); 30 | for _=0 to n-1 do 31 | let pos', x = f ~pos:!pos s in 32 | pos := pos'; 33 | buf := x :: !buf; 34 | done; 35 | (!pos, List.rev !buf) 36 | -------------------------------------------------------------------------------- /timedesc/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets time_zone_constants.ml) 3 | (deps ../gen-artifacts/time_zone_constants.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (library 8 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 9 | (name timedesc) 10 | (public_name timedesc) 11 | (instrumentation (backend bisect_ppx)) 12 | (libraries 13 | timedesc-tzdb 14 | timedesc-tzlocal 15 | unix 16 | ptime 17 | angstrom 18 | seq 19 | bigarray 20 | ) 21 | ) 22 | -------------------------------------------------------------------------------- /timedesc/int64_set.ml: -------------------------------------------------------------------------------- 1 | include Set.Make (struct 2 | type t = int64 3 | 4 | let compare = compare 5 | end) 6 | -------------------------------------------------------------------------------- /timedesc/int64_utils.ml: -------------------------------------------------------------------------------- 1 | let ( +^ ) = Int64.add 2 | 3 | let ( -^ ) = Int64.sub 4 | 5 | let ( /^ ) = Int64.div 6 | 7 | let ( *^ ) = Int64.mul 8 | -------------------------------------------------------------------------------- /timedesc/int_set.ml: -------------------------------------------------------------------------------- 1 | include Set.Make (struct 2 | type t = int 3 | 4 | let compare = compare 5 | end) 6 | -------------------------------------------------------------------------------- /timedesc/ptime_utils.ml: -------------------------------------------------------------------------------- 1 | open Int64_utils 2 | 3 | let s_to_ps_mult = 1_000_000_000_000L 4 | 5 | let ns_to_ps_mult = 1_000 6 | 7 | let seconds_in_day = 24L *^ 60L *^ 60L 8 | 9 | let ptime_span_of_span (x : Span.t) = 10 | let s, ns = Span.to_s_ns x in 11 | let d, s = 12 | if s >= 0L then 13 | ( s /^ seconds_in_day |> Int64.to_int, 14 | Int64.rem (Int64.abs s) seconds_in_day ) 15 | else 16 | let x = Int64.abs s in 17 | let s = Int64.rem x seconds_in_day in 18 | ( -1 * ((x +^ (seconds_in_day -^ 1L)) /^ seconds_in_day |> Int64.to_int), 19 | if s = 0L then s else seconds_in_day -^ s ) 20 | in 21 | let ps = (s *^ s_to_ps_mult) +^ Int64.of_int (ns * ns_to_ps_mult) in 22 | Ptime.Span.of_d_ps (d, ps) 23 | 24 | let ptime_of_timestamp x = 25 | match ptime_span_of_span x with None -> None | Some x -> Ptime.of_span x 26 | 27 | let span_of_ptime_span x = 28 | let d, ps = x |> Ptime.Span.to_d_ps in 29 | let s = ps /^ s_to_ps_mult in 30 | let ns = Int64.to_int (Int64.rem ps s_to_ps_mult) / ns_to_ps_mult in 31 | Span.make ~s:((Int64.of_int d *^ seconds_in_day) +^ s) ~ns () 32 | 33 | let timestamp_of_ptime x = span_of_ptime_span (Ptime.to_span x) 34 | -------------------------------------------------------------------------------- /timedesc/seq_utils_.ml: -------------------------------------------------------------------------------- 1 | let zero_to_n_exc n : int Seq.t = 2 | let rec aux cur n = 3 | if cur < n then fun () -> Seq.Cons (cur, aux (cur + 1) n) else Seq.empty 4 | in 5 | aux 0 n 6 | 7 | let zero_to_n_inc n = zero_to_n_exc (n + 1) 8 | 9 | let mapi (f : int -> 'a -> 'b) (s : 'a Seq.t) : 'b Seq.t = 10 | let rec aux f cur s = 11 | match s () with 12 | | Seq.Nil -> Seq.empty 13 | | Seq.Cons (x, rest) -> 14 | fun () -> 15 | Seq.Cons (f cur x, aux f (succ cur) rest) 16 | in 17 | aux f 0 s 18 | 19 | (* Copied from Fmt *) 20 | 21 | let iter ?sep:(pp_sep = Format.pp_print_cut) iter pp_elt ppf v = 22 | let is_first = ref true in 23 | let pp_elt v = 24 | if !is_first then (is_first := false) else pp_sep ppf (); 25 | pp_elt ppf v 26 | in 27 | iter pp_elt v 28 | 29 | let pp ?sep pp_elt = iter ?sep Seq.iter pp_elt 30 | -------------------------------------------------------------------------------- /timedesc/string_map.ml: -------------------------------------------------------------------------------- 1 | include Map.Make (struct 2 | type t = string 3 | 4 | let compare = String.compare 5 | end) 6 | -------------------------------------------------------------------------------- /timedesc/string_set.ml: -------------------------------------------------------------------------------- 1 | include Set.Make (struct 2 | type t = string 3 | 4 | let compare = String.compare 5 | end) 6 | -------------------------------------------------------------------------------- /timedesc/time.mli: -------------------------------------------------------------------------------- 1 | type t 2 | 3 | type view = private { 4 | hour : int; 5 | minute : int; 6 | second : int; 7 | ns : int; 8 | } 9 | 10 | type error = 11 | [ `Invalid_hour of int 12 | | `Invalid_minute of int 13 | | `Invalid_second of int 14 | | `Invalid_s_frac of float 15 | | `Invalid_ns of int 16 | ] 17 | 18 | exception Error_exn of error 19 | 20 | val make : 21 | ?ns:int -> 22 | ?s_frac:float -> 23 | hour:int -> 24 | minute:int -> 25 | second:int -> 26 | unit -> 27 | (t, error) result 28 | 29 | val make_exn : 30 | ?ns:int -> ?s_frac:float -> hour:int -> minute:int -> second:int -> unit -> t 31 | 32 | val view : t -> view 33 | 34 | val hour : t -> int 35 | 36 | val minute : t -> int 37 | 38 | val second : t -> int 39 | 40 | val ns : t -> int 41 | 42 | val to_span : t -> Span.t 43 | 44 | val of_span : Span.t -> t option 45 | 46 | val is_leap_second : t -> bool 47 | 48 | val equal : t -> t -> bool 49 | -------------------------------------------------------------------------------- /timedesc/time_zone_utils.ml: -------------------------------------------------------------------------------- 1 | let get_local_tz_for_arg () = 2 | match Time_zone.local () with 3 | | None -> invalid_arg 4 | "get_local_tz_for_arg: Could not determine the local timezone. Please \ 5 | specify ~tz* explicitly or use an appropriate timedesc-tzlocal.* module." 6 | | Some x -> x 7 | -------------------------------------------------------------------------------- /timere-parse/cases.txt: -------------------------------------------------------------------------------- 1 | nov 24th 2 | nov 24 3 | nov 24 to 30 4 | nov 24th to 30 5 | nov 24th to 30th 6 | 24th, 25, 30 7 | nov 2nd to dec 4th 8 | -------------------------------------------------------------------------------- /timere-parse/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets seq_utils_.ml) 3 | (deps ../timedesc/seq_utils_.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (rule 8 | (targets misc_utils.ml) 9 | (deps ../timedesc/misc_utils.ml) 10 | (action (copy %{deps} %{targets})) 11 | ) 12 | 13 | (library 14 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 15 | (name timere_parse) 16 | (public_name timere-parse) 17 | (libraries mparser 18 | re 19 | timedesc 20 | timere 21 | ) 22 | ) 23 | -------------------------------------------------------------------------------- /timere-parse/timere_parse.ml: -------------------------------------------------------------------------------- 1 | exception Error_exn of string 2 | 3 | let timere = Parser.parse_timere 4 | 5 | let timere_exn x = 6 | match timere x with Ok x -> x | Error msg -> raise (Error_exn msg) 7 | 8 | let date_time = Parser.parse_date_time 9 | 10 | let date_time_exn ?tz x = 11 | match date_time ?tz x with Ok x -> x | Error msg -> raise (Error_exn msg) 12 | 13 | let hms = Parser.parse_hms 14 | 15 | let hms_exn x = 16 | match hms x with Ok x -> x | Error msg -> raise (Error_exn msg) 17 | 18 | let span = Parser.parse_span 19 | 20 | let span_exn x = 21 | match span x with Ok x -> x | Error msg -> raise (Error_exn msg) 22 | -------------------------------------------------------------------------------- /timere-parse/timere_parse.mli: -------------------------------------------------------------------------------- 1 | exception Error_exn of string 2 | 3 | val timere : string -> (Timere.t, string) result 4 | 5 | val timere_exn : string -> Timere.t 6 | 7 | val date_time : 8 | ?tz:Timedesc.Time_zone.t -> string -> (Timedesc.t, string) result 9 | 10 | val date_time_exn : ?tz:Timedesc.Time_zone.t -> string -> Timedesc.t 11 | 12 | val hms : string -> (Timedesc.Time.t, string) result 13 | 14 | val hms_exn : string -> Timedesc.Time.t 15 | 16 | val span : string -> (Timedesc.Span.t, string) result 17 | 18 | val span_exn : string -> Timedesc.Span.t 19 | -------------------------------------------------------------------------------- /timere-tests/int64_set.ml: -------------------------------------------------------------------------------- 1 | include CCSet.Make (struct 2 | type t = int64 3 | 4 | let compare = compare 5 | end) 6 | 7 | let to_seq x = x |> to_list |> CCList.to_seq 8 | -------------------------------------------------------------------------------- /timere-tests/range.ml: -------------------------------------------------------------------------------- 1 | module Int64_range = Time.Range.Make (struct 2 | type t = int64 3 | 4 | let modulo = None 5 | 6 | let to_int64 x = x 7 | 8 | let of_int64 x = x 9 | end) 10 | 11 | module Int_range = Time.Range_small.Make (struct 12 | type t = int 13 | 14 | let modulo = None 15 | 16 | let to_int x = x 17 | 18 | let of_int x = x 19 | end) 20 | 21 | module Alco = struct 22 | let int64_range_flatten1 () = 23 | Alcotest.(check (list int64)) 24 | "same list" 25 | [ 1L; 2L; 3L; 4L; 5L; 6L; 7L ] 26 | (Int64_range.Flatten.flatten_into_list (`Range_exc (1L, 8L))) 27 | 28 | let int64_range_flatten2 () = 29 | Alcotest.(check (list int64)) 30 | "same list" 31 | [ 1L; 2L; 3L; 4L; 5L; 6L; 7L ] 32 | (Int64_range.Flatten.flatten_into_list (`Range_inc (1L, 7L))) 33 | 34 | let suite = 35 | [ 36 | Alcotest.test_case "int64_range_flatten1" `Quick int64_range_flatten1; 37 | Alcotest.test_case "int64_range_flatten2" `Quick int64_range_flatten2; 38 | ] 39 | end 40 | -------------------------------------------------------------------------------- /timere/dune: -------------------------------------------------------------------------------- 1 | (rule 2 | (targets int64_utils.ml) 3 | (deps ../timedesc/int64_utils.ml) 4 | (action (copy %{deps} %{targets})) 5 | ) 6 | 7 | (rule 8 | (targets of_sexp_utils.ml) 9 | (deps ../timedesc-sexp/of_sexp_utils.ml) 10 | (action (copy %{deps} %{targets})) 11 | ) 12 | 13 | (rule 14 | (targets misc_utils.ml) 15 | (deps ../timedesc/misc_utils.ml) 16 | (action (copy %{deps} %{targets})) 17 | ) 18 | 19 | (rule 20 | (targets seq_utils_.ml) 21 | (deps ../timedesc/seq_utils_.ml) 22 | (action (copy %{deps} %{targets})) 23 | ) 24 | 25 | (library 26 | (flags (-w "+a-4-9-29-37-40-42-44-48-50-70@8")) 27 | (name timere) 28 | (public_name timere) 29 | (instrumentation (backend bisect_ppx)) 30 | (libraries timedesc 31 | timedesc-sexp 32 | sexplib 33 | oseq 34 | containers 35 | seq 36 | fmt 37 | diet 38 | ) 39 | ) 40 | -------------------------------------------------------------------------------- /timere/infix.ml: -------------------------------------------------------------------------------- 1 | let ( &&& ) a b = Time.inter [ a; b ] 2 | 3 | let ( ||| ) a b = Time.union [ a; b ] 4 | 5 | let ( %> ) (f1 : 'a -> 'b) (f2 : 'b -> 'c) : 'a -> 'c = fun x -> x |> f1 |> f2 6 | -------------------------------------------------------------------------------- /timere/int_set.ml: -------------------------------------------------------------------------------- 1 | include CCSet.Make (struct 2 | type t = int 3 | 4 | let compare = compare 5 | end) 6 | -------------------------------------------------------------------------------- /timere/printers.ml: -------------------------------------------------------------------------------- 1 | let pad_int (c : char option) (x : int) : string = 2 | match c with 3 | | None -> string_of_int x 4 | | Some c -> if x < 10 then Printf.sprintf "%c%d" c x else string_of_int x 5 | 6 | let wrap_to_sexp_into_pp_sexp (f : 'a -> Sexplib.Sexp.t) : 7 | Format.formatter -> 'a -> unit = 8 | fun formatter x -> Sexplib.Sexp.pp formatter (f x) 9 | 10 | let pp_sexp = wrap_to_sexp_into_pp_sexp To_sexp.to_sexp 11 | -------------------------------------------------------------------------------- /timere/timestamp_utils.ml: -------------------------------------------------------------------------------- 1 | let rec timestamp_safe_sub a b = 2 | let open Timedesc.Span in 3 | if b >= zero then 4 | if a - Timedesc.Timestamp.min_val >= b then a - b 5 | else Timedesc.Timestamp.min_val 6 | else 7 | let b' = abs b in 8 | timestamp_safe_add a b' 9 | 10 | and timestamp_safe_add a b = 11 | let open Timedesc.Span in 12 | if b >= zero then 13 | if Timedesc.Timestamp.max_val - a >= b then a + b 14 | else Timedesc.Timestamp.max_val 15 | else 16 | let b' = abs b in 17 | timestamp_safe_sub a b' 18 | -------------------------------------------------------------------------------- /timere/weekday_set.ml: -------------------------------------------------------------------------------- 1 | include CCSet.Make (struct 2 | type t = Timedesc.weekday 3 | 4 | let compare = compare 5 | end) 6 | 7 | let to_seq x = x |> to_list |> CCList.to_seq 8 | -------------------------------------------------------------------------------- /tzdb-json/Africa/Abidjan.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Abidjan", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Accra.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Accra", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Addis_Ababa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Addis_Ababa", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Algiers.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Algiers", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 3600 } ], 5 | [ "41468400", { "is_dst": true, "offset": 3600 } ], 6 | [ "54774000", { "is_dst": false, "offset": 0 } ], 7 | [ "231724800", { "is_dst": true, "offset": 3600 } ], 8 | [ "246236400", { "is_dst": false, "offset": 3600 } ], 9 | [ "259545600", { "is_dst": true, "offset": 7200 } ], 10 | [ "275274000", { "is_dst": false, "offset": 3600 } ], 11 | [ "309740400", { "is_dst": false, "offset": 0 } ], 12 | [ "325468800", { "is_dst": true, "offset": 3600 } ], 13 | [ "341802000", { "is_dst": false, "offset": 0 } ], 14 | [ "357523200", { "is_dst": false, "offset": 3600 } ] 15 | ] 16 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Asmara.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Asmara", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Asmera.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Asmera", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Bamako.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Bamako", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Bangui.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Bangui", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Banjul.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Banjul", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Bissau.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Bissau", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "157770000", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Blantyre.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Blantyre", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Brazzaville.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Brazzaville", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Bujumbura.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Bujumbura", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Conakry.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Conakry", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Dakar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Dakar", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Dar_es_Salaam.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Dar_es_Salaam", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Djibouti.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Djibouti", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Douala.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Douala", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Freetown.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Freetown", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Gaborone.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Gaborone", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Harare.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Harare", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Johannesburg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Johannesburg", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 5400 } ], 5 | [ "-2458173120", { "is_dst": false, "offset": 5400 } ], 6 | [ "-2109288600", { "is_dst": false, "offset": 7200 } ], 7 | [ "-860976000", { "is_dst": true, "offset": 10800 } ], 8 | [ "-845254800", { "is_dst": false, "offset": 7200 } ], 9 | [ "-829526400", { "is_dst": true, "offset": 10800 } ], 10 | [ "-813805200", { "is_dst": false, "offset": 7200 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Kampala.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Kampala", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Kigali.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Kigali", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Kinshasa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Kinshasa", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Lagos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Lagos", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Libreville.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Libreville", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Lome.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Lome", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Luanda.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Luanda", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Lubumbashi.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Lubumbashi", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Lusaka.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Lusaka", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Malabo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Malabo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Maputo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Maputo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 7200 } ], 5 | [ "-2109291020", { "is_dst": false, "offset": 7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Maseru.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Maseru", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 5400 } ], 5 | [ "-2458173120", { "is_dst": false, "offset": 5400 } ], 6 | [ "-2109288600", { "is_dst": false, "offset": 7200 } ], 7 | [ "-860976000", { "is_dst": true, "offset": 10800 } ], 8 | [ "-845254800", { "is_dst": false, "offset": 7200 } ], 9 | [ "-829526400", { "is_dst": true, "offset": 10800 } ], 10 | [ "-813805200", { "is_dst": false, "offset": 7200 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Mbabane.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Mbabane", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 5400 } ], 5 | [ "-2458173120", { "is_dst": false, "offset": 5400 } ], 6 | [ "-2109288600", { "is_dst": false, "offset": 7200 } ], 7 | [ "-860976000", { "is_dst": true, "offset": 10800 } ], 8 | [ "-845254800", { "is_dst": false, "offset": 7200 } ], 9 | [ "-829526400", { "is_dst": true, "offset": 10800 } ], 10 | [ "-813805200", { "is_dst": false, "offset": 7200 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Mogadishu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Mogadishu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Monrovia.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Monrovia", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "63593070", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Nairobi.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Nairobi", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Ndjamena.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Ndjamena", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 7200 } ], 5 | [ "308703600", { "is_dst": true, "offset": 7200 } ], 6 | [ "321314400", { "is_dst": false, "offset": 3600 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Niamey.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Niamey", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Nouakchott.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Nouakchott", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Ouagadougou.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Ouagadougou", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Porto-Novo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Porto-Novo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-2035584815", { "is_dst": false, "offset": 0 } ], 6 | [ "-1940889600", { "is_dst": false, "offset": 815 } ], 7 | [ "-1767226415", { "is_dst": false, "offset": 1800 } ], 8 | [ "-1588465800", { "is_dst": false, "offset": 3600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Sao_Tome.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Sao_Tome", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 3600 } ], 5 | [ "1514768400", { "is_dst": false, "offset": 3600 } ], 6 | [ "1546304400", { "is_dst": false, "offset": 0 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Timbuktu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Timbuktu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Africa/Tunis.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Africa/Tunis", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 7200 } ], 5 | [ "231202800", { "is_dst": true, "offset": 7200 } ], 6 | [ "243903600", { "is_dst": false, "offset": 3600 } ], 7 | [ "262825200", { "is_dst": true, "offset": 7200 } ], 8 | [ "276044400", { "is_dst": false, "offset": 3600 } ], 9 | [ "581122800", { "is_dst": true, "offset": 7200 } ], 10 | [ "591145200", { "is_dst": false, "offset": 3600 } ], 11 | [ "606870000", { "is_dst": true, "offset": 7200 } ], 12 | [ "622594800", { "is_dst": false, "offset": 3600 } ], 13 | [ "641516400", { "is_dst": true, "offset": 7200 } ], 14 | [ "654649200", { "is_dst": false, "offset": 3600 } ], 15 | [ "1114902000", { "is_dst": true, "offset": 7200 } ], 16 | [ "1128038400", { "is_dst": false, "offset": 3600 } ], 17 | [ "1143334800", { "is_dst": true, "offset": 7200 } ], 18 | [ "1162083600", { "is_dst": false, "offset": 3600 } ], 19 | [ "1174784400", { "is_dst": true, "offset": 7200 } ], 20 | [ "1193533200", { "is_dst": false, "offset": 3600 } ], 21 | [ "1206838800", { "is_dst": true, "offset": 7200 } ], 22 | [ "1224982800", { "is_dst": false, "offset": 3600 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Anguilla.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Anguilla", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Antigua.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Antigua", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Argentina/Buenos_Aires.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Argentina/Buenos_Aires", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -10800 } ], 13 | [ "687927600", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ], 21 | [ "1224385200", { "is_dst": true, "offset": -7200 } ], 22 | [ "1237082400", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Argentina/Catamarca.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Argentina/Catamarca", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -14400 } ], 13 | [ "687931200", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1086058800", { "is_dst": false, "offset": -14400 } ], 20 | [ "1087704000", { "is_dst": false, "offset": -10800 } ], 21 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 22 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Argentina/Cordoba.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Argentina/Cordoba", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -14400 } ], 13 | [ "687931200", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ], 21 | [ "1224385200", { "is_dst": true, "offset": -7200 } ], 22 | [ "1237082400", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Argentina/Jujuy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Argentina/Jujuy", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -14400 } ], 11 | [ "657086400", { "is_dst": true, "offset": -10800 } ], 12 | [ "669178800", { "is_dst": false, "offset": -14400 } ], 13 | [ "686721600", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/America/Argentina/Mendoza.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Argentina/Mendoza", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -14400 } ], 11 | [ "655963200", { "is_dst": true, "offset": -10800 } ], 12 | [ "667796400", { "is_dst": false, "offset": -14400 } ], 13 | [ "687499200", { "is_dst": true, "offset": -10800 } ], 14 | [ "699418800", { "is_dst": false, "offset": -14400 } ], 15 | [ "719380800", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1085281200", { "is_dst": false, "offset": -14400 } ], 20 | [ "1096171200", { "is_dst": false, "offset": -10800 } ], 21 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 22 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Argentina/Salta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Argentina/Salta", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -14400 } ], 13 | [ "687931200", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/America/Argentina/Ushuaia.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Argentina/Ushuaia", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -10800 } ], 13 | [ "687927600", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1085886000", { "is_dst": false, "offset": -14400 } ], 20 | [ "1087704000", { "is_dst": false, "offset": -10800 } ], 21 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 22 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Aruba.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Aruba", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Atikokan.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Atikokan", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -19176 } ], 5 | [ "-2524502512", { "is_dst": false, "offset": -19176 } ], 6 | [ "-1946918424", { "is_dst": false, "offset": -18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Barbados.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Barbados", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -10800 } ], 5 | [ "234943200", { "is_dst": true, "offset": -10800 } ], 6 | [ "244616400", { "is_dst": false, "offset": -14400 } ], 7 | [ "261554400", { "is_dst": true, "offset": -10800 } ], 8 | [ "276066000", { "is_dst": false, "offset": -14400 } ], 9 | [ "293004000", { "is_dst": true, "offset": -10800 } ], 10 | [ "307515600", { "is_dst": false, "offset": -14400 } ], 11 | [ "325058400", { "is_dst": true, "offset": -10800 } ], 12 | [ "338706000", { "is_dst": false, "offset": -14400 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/America/Belem.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Belem", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "499748400", { "is_dst": true, "offset": -7200 } ], 6 | [ "511236000", { "is_dst": false, "offset": -10800 } ], 7 | [ "530593200", { "is_dst": true, "offset": -7200 } ], 8 | [ "540266400", { "is_dst": false, "offset": -10800 } ], 9 | [ "562129200", { "is_dst": true, "offset": -7200 } ], 10 | [ "571197600", { "is_dst": false, "offset": -10800 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/America/Belize.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Belize", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -18000 } ], 5 | [ "123919200", { "is_dst": true, "offset": -18000 } ], 6 | [ "129618000", { "is_dst": false, "offset": -21600 } ], 7 | [ "409039200", { "is_dst": true, "offset": -18000 } ], 8 | [ "413874000", { "is_dst": false, "offset": -21600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Blanc-Sablon.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Blanc-Sablon", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Boa_Vista.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Boa_Vista", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -10800 } ], 5 | [ "499752000", { "is_dst": true, "offset": -10800 } ], 6 | [ "511239600", { "is_dst": false, "offset": -14400 } ], 7 | [ "530596800", { "is_dst": true, "offset": -10800 } ], 8 | [ "540270000", { "is_dst": false, "offset": -14400 } ], 9 | [ "562132800", { "is_dst": true, "offset": -10800 } ], 10 | [ "571201200", { "is_dst": false, "offset": -14400 } ], 11 | [ "938923200", { "is_dst": true, "offset": -10800 } ], 12 | [ "951620400", { "is_dst": false, "offset": -14400 } ], 13 | [ "970977600", { "is_dst": true, "offset": -10800 } ], 14 | [ "971578800", { "is_dst": false, "offset": -14400 } ] 15 | ] 16 | } -------------------------------------------------------------------------------- /tzdb-json/America/Bogota.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Bogota", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -14400 } ], 5 | [ "704869200", { "is_dst": true, "offset": -14400 } ], 6 | [ "729057600", { "is_dst": false, "offset": -18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Buenos_Aires.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Buenos_Aires", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -10800 } ], 13 | [ "687927600", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ], 21 | [ "1224385200", { "is_dst": true, "offset": -7200 } ], 22 | [ "1237082400", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Caracas.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Caracas", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -16200 } ], 5 | [ "1197183600", { "is_dst": false, "offset": -16200 } ], 6 | [ "1462086000", { "is_dst": false, "offset": -14400 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Catamarca.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Catamarca", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -14400 } ], 13 | [ "687931200", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1086058800", { "is_dst": false, "offset": -14400 } ], 20 | [ "1087704000", { "is_dst": false, "offset": -10800 } ], 21 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 22 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Cayenne.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Cayenne", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-1846269040", { "is_dst": false, "offset": -14400 } ], 6 | [ "-71092800", { "is_dst": false, "offset": -10800 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Cayman.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Cayman", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -19176 } ], 5 | [ "-2524502512", { "is_dst": false, "offset": -19176 } ], 6 | [ "-1946918424", { "is_dst": false, "offset": -18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Coral_Harbour.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Coral_Harbour", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -19176 } ], 5 | [ "-2524502512", { "is_dst": false, "offset": -19176 } ], 6 | [ "-1946918424", { "is_dst": false, "offset": -18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Cordoba.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Cordoba", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -14400 } ], 13 | [ "687931200", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ], 21 | [ "1224385200", { "is_dst": true, "offset": -7200 } ], 22 | [ "1237082400", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Costa_Rica.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Costa_Rica", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -18000 } ], 5 | [ "288770400", { "is_dst": true, "offset": -18000 } ], 6 | [ "297234000", { "is_dst": false, "offset": -21600 } ], 7 | [ "320220000", { "is_dst": true, "offset": -18000 } ], 8 | [ "328683600", { "is_dst": false, "offset": -21600 } ], 9 | [ "664264800", { "is_dst": true, "offset": -18000 } ], 10 | [ "678344400", { "is_dst": false, "offset": -21600 } ], 11 | [ "695714400", { "is_dst": true, "offset": -18000 } ], 12 | [ "700635600", { "is_dst": false, "offset": -21600 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/America/Creston.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Creston", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -25200 } ], 5 | [ "-2717643600", { "is_dst": false, "offset": -25200 } ], 6 | [ "-1633273200", { "is_dst": true, "offset": -21600 } ], 7 | [ "-1615132800", { "is_dst": false, "offset": -25200 } ], 8 | [ "-1601823600", { "is_dst": true, "offset": -21600 } ], 9 | [ "-1583683200", { "is_dst": false, "offset": -25200 } ], 10 | [ "-880210800", { "is_dst": true, "offset": -21600 } ], 11 | [ "-820519140", { "is_dst": false, "offset": -25200 } ], 12 | [ "-812653140", { "is_dst": true, "offset": -21600 } ], 13 | [ "-796845540", { "is_dst": false, "offset": -25200 } ], 14 | [ "-84380400", { "is_dst": true, "offset": -21600 } ], 15 | [ "-68659200", { "is_dst": false, "offset": -25200 } ] 16 | ] 17 | } -------------------------------------------------------------------------------- /tzdb-json/America/Curacao.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Curacao", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Dawson_Creek.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Dawson_Creek", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -25200 } ], 5 | [ "9972000", { "is_dst": true, "offset": -25200 } ], 6 | [ "25693200", { "is_dst": false, "offset": -28800 } ], 7 | [ "41421600", { "is_dst": true, "offset": -25200 } ], 8 | [ "57747600", { "is_dst": false, "offset": -28800 } ], 9 | [ "73476000", { "is_dst": true, "offset": -25200 } ], 10 | [ "84013200", { "is_dst": false, "offset": -25200 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/America/Dominica.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Dominica", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Eirunepe.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Eirunepe", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -14400 } ], 5 | [ "499755600", { "is_dst": true, "offset": -14400 } ], 6 | [ "511243200", { "is_dst": false, "offset": -18000 } ], 7 | [ "530600400", { "is_dst": true, "offset": -14400 } ], 8 | [ "540273600", { "is_dst": false, "offset": -18000 } ], 9 | [ "562136400", { "is_dst": true, "offset": -14400 } ], 10 | [ "571204800", { "is_dst": false, "offset": -18000 } ], 11 | [ "750834000", { "is_dst": true, "offset": -14400 } ], 12 | [ "761716800", { "is_dst": false, "offset": -18000 } ], 13 | [ "1214283600", { "is_dst": false, "offset": -14400 } ], 14 | [ "1384056000", { "is_dst": false, "offset": -18000 } ] 15 | ] 16 | } -------------------------------------------------------------------------------- /tzdb-json/America/El_Salvador.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/El_Salvador", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -18000 } ], 5 | [ "547020000", { "is_dst": true, "offset": -18000 } ], 6 | [ "559717200", { "is_dst": false, "offset": -21600 } ], 7 | [ "578469600", { "is_dst": true, "offset": -18000 } ], 8 | [ "591166800", { "is_dst": false, "offset": -21600 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Fortaleza.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Fortaleza", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "499748400", { "is_dst": true, "offset": -7200 } ], 6 | [ "511236000", { "is_dst": false, "offset": -10800 } ], 7 | [ "530593200", { "is_dst": true, "offset": -7200 } ], 8 | [ "540266400", { "is_dst": false, "offset": -10800 } ], 9 | [ "562129200", { "is_dst": true, "offset": -7200 } ], 10 | [ "571197600", { "is_dst": false, "offset": -10800 } ], 11 | [ "592974000", { "is_dst": true, "offset": -7200 } ], 12 | [ "602042400", { "is_dst": false, "offset": -10800 } ], 13 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 14 | [ "634701600", { "is_dst": false, "offset": -10800 } ], 15 | [ "938919600", { "is_dst": true, "offset": -7200 } ], 16 | [ "951616800", { "is_dst": false, "offset": -10800 } ], 17 | [ "970974000", { "is_dst": true, "offset": -7200 } ], 18 | [ "972180000", { "is_dst": false, "offset": -10800 } ], 19 | [ "1003028400", { "is_dst": true, "offset": -7200 } ], 20 | [ "1013911200", { "is_dst": false, "offset": -10800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/America/Grenada.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Grenada", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Guadeloupe.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Guadeloupe", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Guatemala.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Guatemala", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -18000 } ], 5 | [ "123055200", { "is_dst": true, "offset": -18000 } ], 6 | [ "130914000", { "is_dst": false, "offset": -21600 } ], 7 | [ "422344800", { "is_dst": true, "offset": -18000 } ], 8 | [ "433054800", { "is_dst": false, "offset": -21600 } ], 9 | [ "669708000", { "is_dst": true, "offset": -18000 } ], 10 | [ "684219600", { "is_dst": false, "offset": -21600 } ], 11 | [ "1146376800", { "is_dst": true, "offset": -18000 } ], 12 | [ "1159678800", { "is_dst": false, "offset": -21600 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/America/Guayaquil.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Guayaquil", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -14400 } ], 5 | [ "722926800", { "is_dst": true, "offset": -14400 } ], 6 | [ "728884800", { "is_dst": false, "offset": -18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Guyana.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Guyana", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -10800 } ], 5 | [ "176096700", { "is_dst": false, "offset": -10800 } ], 6 | [ "701841600", { "is_dst": false, "offset": -14400 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Hermosillo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Hermosillo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -25200 } ], 5 | [ "28800", { "is_dst": false, "offset": -25200 } ], 6 | [ "828867600", { "is_dst": true, "offset": -21600 } ], 7 | [ "846403200", { "is_dst": false, "offset": -25200 } ], 8 | [ "860317200", { "is_dst": true, "offset": -21600 } ], 9 | [ "877852800", { "is_dst": false, "offset": -25200 } ], 10 | [ "891766800", { "is_dst": true, "offset": -21600 } ], 11 | [ "909302400", { "is_dst": false, "offset": -25200 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/America/Jujuy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Jujuy", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -14400 } ], 11 | [ "657086400", { "is_dst": true, "offset": -10800 } ], 12 | [ "669178800", { "is_dst": false, "offset": -14400 } ], 13 | [ "686721600", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/America/Kralendijk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Kralendijk", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/La_Paz.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/La_Paz", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -16356 } ], 5 | [ "-2524505244", { "is_dst": false, "offset": -16356 } ], 6 | [ "-1205954844", { "is_dst": true, "offset": -12756 } ], 7 | [ "-1192307244", { "is_dst": false, "offset": -14400 } ] 8 | ] 9 | } -------------------------------------------------------------------------------- /tzdb-json/America/Lima.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Lima", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -14400 } ], 5 | [ "504939600", { "is_dst": true, "offset": -14400 } ], 6 | [ "512712000", { "is_dst": false, "offset": -18000 } ], 7 | [ "536475600", { "is_dst": true, "offset": -14400 } ], 8 | [ "544248000", { "is_dst": false, "offset": -18000 } ], 9 | [ "631170000", { "is_dst": true, "offset": -14400 } ], 10 | [ "638942400", { "is_dst": false, "offset": -18000 } ], 11 | [ "757400400", { "is_dst": true, "offset": -14400 } ], 12 | [ "765172800", { "is_dst": false, "offset": -18000 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/America/Lower_Princes.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Lower_Princes", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Maceio.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Maceio", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "499748400", { "is_dst": true, "offset": -7200 } ], 6 | [ "511236000", { "is_dst": false, "offset": -10800 } ], 7 | [ "530593200", { "is_dst": true, "offset": -7200 } ], 8 | [ "540266400", { "is_dst": false, "offset": -10800 } ], 9 | [ "562129200", { "is_dst": true, "offset": -7200 } ], 10 | [ "571197600", { "is_dst": false, "offset": -10800 } ], 11 | [ "592974000", { "is_dst": true, "offset": -7200 } ], 12 | [ "602042400", { "is_dst": false, "offset": -10800 } ], 13 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 14 | [ "634701600", { "is_dst": false, "offset": -10800 } ], 15 | [ "813726000", { "is_dst": true, "offset": -7200 } ], 16 | [ "824004000", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -7200 } ], 18 | [ "951616800", { "is_dst": false, "offset": -10800 } ], 19 | [ "970974000", { "is_dst": true, "offset": -7200 } ], 20 | [ "972180000", { "is_dst": false, "offset": -10800 } ], 21 | [ "1003028400", { "is_dst": true, "offset": -7200 } ], 22 | [ "1013911200", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Managua.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Managua", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -18000 } ], 5 | [ "105084000", { "is_dst": false, "offset": -18000 } ], 6 | [ "161758800", { "is_dst": false, "offset": -21600 } ], 7 | [ "290584800", { "is_dst": true, "offset": -18000 } ], 8 | [ "299134800", { "is_dst": false, "offset": -21600 } ], 9 | [ "322034400", { "is_dst": true, "offset": -18000 } ], 10 | [ "330584400", { "is_dst": false, "offset": -21600 } ], 11 | [ "694260000", { "is_dst": false, "offset": -18000 } ], 12 | [ "717310800", { "is_dst": false, "offset": -21600 } ], 13 | [ "725868000", { "is_dst": false, "offset": -18000 } ], 14 | [ "852094800", { "is_dst": false, "offset": -21600 } ], 15 | [ "1113112800", { "is_dst": true, "offset": -18000 } ], 16 | [ "1128229200", { "is_dst": false, "offset": -21600 } ], 17 | [ "1146384000", { "is_dst": true, "offset": -18000 } ], 18 | [ "1159682400", { "is_dst": false, "offset": -21600 } ] 19 | ] 20 | } -------------------------------------------------------------------------------- /tzdb-json/America/Manaus.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Manaus", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -10800 } ], 5 | [ "499752000", { "is_dst": true, "offset": -10800 } ], 6 | [ "511239600", { "is_dst": false, "offset": -14400 } ], 7 | [ "530596800", { "is_dst": true, "offset": -10800 } ], 8 | [ "540270000", { "is_dst": false, "offset": -14400 } ], 9 | [ "562132800", { "is_dst": true, "offset": -10800 } ], 10 | [ "571201200", { "is_dst": false, "offset": -14400 } ], 11 | [ "750830400", { "is_dst": true, "offset": -10800 } ], 12 | [ "761713200", { "is_dst": false, "offset": -14400 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/America/Marigot.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Marigot", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Martinique.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Martinique", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -10800 } ], 5 | [ "323841600", { "is_dst": true, "offset": -10800 } ], 6 | [ "338958000", { "is_dst": false, "offset": -14400 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Mendoza.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Mendoza", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -14400 } ], 11 | [ "655963200", { "is_dst": true, "offset": -10800 } ], 12 | [ "667796400", { "is_dst": false, "offset": -14400 } ], 13 | [ "687499200", { "is_dst": true, "offset": -10800 } ], 14 | [ "699418800", { "is_dst": false, "offset": -14400 } ], 15 | [ "719380800", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1085281200", { "is_dst": false, "offset": -14400 } ], 20 | [ "1096171200", { "is_dst": false, "offset": -10800 } ], 21 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 22 | [ "1205632800", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Montserrat.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Montserrat", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Noronha.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Noronha", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -3600 } ], 5 | [ "499744800", { "is_dst": true, "offset": -3600 } ], 6 | [ "511232400", { "is_dst": false, "offset": -7200 } ], 7 | [ "530589600", { "is_dst": true, "offset": -3600 } ], 8 | [ "540262800", { "is_dst": false, "offset": -7200 } ], 9 | [ "562125600", { "is_dst": true, "offset": -3600 } ], 10 | [ "571194000", { "is_dst": false, "offset": -7200 } ], 11 | [ "592970400", { "is_dst": true, "offset": -3600 } ], 12 | [ "602038800", { "is_dst": false, "offset": -7200 } ], 13 | [ "624420000", { "is_dst": true, "offset": -3600 } ], 14 | [ "634698000", { "is_dst": false, "offset": -7200 } ], 15 | [ "938916000", { "is_dst": true, "offset": -3600 } ], 16 | [ "951613200", { "is_dst": false, "offset": -7200 } ], 17 | [ "970970400", { "is_dst": true, "offset": -3600 } ], 18 | [ "971571600", { "is_dst": false, "offset": -7200 } ], 19 | [ "1003024800", { "is_dst": true, "offset": -3600 } ], 20 | [ "1013907600", { "is_dst": false, "offset": -7200 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/America/Panama.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Panama", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -19176 } ], 5 | [ "-2524502512", { "is_dst": false, "offset": -19176 } ], 6 | [ "-1946918424", { "is_dst": false, "offset": -18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/America/Paramaribo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Paramaribo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -10800 } ], 5 | [ "465449400", { "is_dst": false, "offset": -10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/America/Phoenix.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Phoenix", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -25200 } ], 5 | [ "-2717643600", { "is_dst": false, "offset": -25200 } ], 6 | [ "-1633273200", { "is_dst": true, "offset": -21600 } ], 7 | [ "-1615132800", { "is_dst": false, "offset": -25200 } ], 8 | [ "-1601823600", { "is_dst": true, "offset": -21600 } ], 9 | [ "-1583683200", { "is_dst": false, "offset": -25200 } ], 10 | [ "-880210800", { "is_dst": true, "offset": -21600 } ], 11 | [ "-820519140", { "is_dst": false, "offset": -25200 } ], 12 | [ "-812653140", { "is_dst": true, "offset": -21600 } ], 13 | [ "-796845540", { "is_dst": false, "offset": -25200 } ], 14 | [ "-84380400", { "is_dst": true, "offset": -21600 } ], 15 | [ "-68659200", { "is_dst": false, "offset": -25200 } ] 16 | ] 17 | } -------------------------------------------------------------------------------- /tzdb-json/America/Port_of_Spain.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Port_of_Spain", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Porto_Acre.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Porto_Acre", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -14400 } ], 5 | [ "499755600", { "is_dst": true, "offset": -14400 } ], 6 | [ "511243200", { "is_dst": false, "offset": -18000 } ], 7 | [ "530600400", { "is_dst": true, "offset": -14400 } ], 8 | [ "540273600", { "is_dst": false, "offset": -18000 } ], 9 | [ "562136400", { "is_dst": true, "offset": -14400 } ], 10 | [ "571204800", { "is_dst": false, "offset": -18000 } ], 11 | [ "1214283600", { "is_dst": false, "offset": -14400 } ], 12 | [ "1384056000", { "is_dst": false, "offset": -18000 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/America/Porto_Velho.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Porto_Velho", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -10800 } ], 5 | [ "499752000", { "is_dst": true, "offset": -10800 } ], 6 | [ "511239600", { "is_dst": false, "offset": -14400 } ], 7 | [ "530596800", { "is_dst": true, "offset": -10800 } ], 8 | [ "540270000", { "is_dst": false, "offset": -14400 } ], 9 | [ "562132800", { "is_dst": true, "offset": -10800 } ], 10 | [ "571201200", { "is_dst": false, "offset": -14400 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/America/Puerto_Rico.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Puerto_Rico", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Recife.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Recife", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "499748400", { "is_dst": true, "offset": -7200 } ], 6 | [ "511236000", { "is_dst": false, "offset": -10800 } ], 7 | [ "530593200", { "is_dst": true, "offset": -7200 } ], 8 | [ "540266400", { "is_dst": false, "offset": -10800 } ], 9 | [ "562129200", { "is_dst": true, "offset": -7200 } ], 10 | [ "571197600", { "is_dst": false, "offset": -10800 } ], 11 | [ "592974000", { "is_dst": true, "offset": -7200 } ], 12 | [ "602042400", { "is_dst": false, "offset": -10800 } ], 13 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 14 | [ "634701600", { "is_dst": false, "offset": -10800 } ], 15 | [ "938919600", { "is_dst": true, "offset": -7200 } ], 16 | [ "951616800", { "is_dst": false, "offset": -10800 } ], 17 | [ "970974000", { "is_dst": true, "offset": -7200 } ], 18 | [ "971575200", { "is_dst": false, "offset": -10800 } ], 19 | [ "1003028400", { "is_dst": true, "offset": -7200 } ], 20 | [ "1013911200", { "is_dst": false, "offset": -10800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/America/Rio_Branco.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Rio_Branco", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -14400 } ], 5 | [ "499755600", { "is_dst": true, "offset": -14400 } ], 6 | [ "511243200", { "is_dst": false, "offset": -18000 } ], 7 | [ "530600400", { "is_dst": true, "offset": -14400 } ], 8 | [ "540273600", { "is_dst": false, "offset": -18000 } ], 9 | [ "562136400", { "is_dst": true, "offset": -14400 } ], 10 | [ "571204800", { "is_dst": false, "offset": -18000 } ], 11 | [ "1214283600", { "is_dst": false, "offset": -14400 } ], 12 | [ "1384056000", { "is_dst": false, "offset": -18000 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/America/Rosario.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Rosario", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -7200 } ], 5 | [ "128142000", { "is_dst": true, "offset": -7200 } ], 6 | [ "136605600", { "is_dst": false, "offset": -10800 } ], 7 | [ "596948400", { "is_dst": true, "offset": -7200 } ], 8 | [ "605066400", { "is_dst": false, "offset": -10800 } ], 9 | [ "624423600", { "is_dst": true, "offset": -7200 } ], 10 | [ "636516000", { "is_dst": false, "offset": -10800 } ], 11 | [ "656478000", { "is_dst": true, "offset": -7200 } ], 12 | [ "667965600", { "is_dst": false, "offset": -14400 } ], 13 | [ "687931200", { "is_dst": true, "offset": -7200 } ], 14 | [ "699415200", { "is_dst": false, "offset": -10800 } ], 15 | [ "719377200", { "is_dst": true, "offset": -7200 } ], 16 | [ "731469600", { "is_dst": false, "offset": -10800 } ], 17 | [ "938919600", { "is_dst": true, "offset": -10800 } ], 18 | [ "952052400", { "is_dst": false, "offset": -10800 } ], 19 | [ "1198983600", { "is_dst": true, "offset": -7200 } ], 20 | [ "1205632800", { "is_dst": false, "offset": -10800 } ], 21 | [ "1224385200", { "is_dst": true, "offset": -7200 } ], 22 | [ "1237082400", { "is_dst": false, "offset": -10800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/America/Santarem.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Santarem", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -10800 } ], 5 | [ "499752000", { "is_dst": true, "offset": -10800 } ], 6 | [ "511239600", { "is_dst": false, "offset": -14400 } ], 7 | [ "530596800", { "is_dst": true, "offset": -10800 } ], 8 | [ "540270000", { "is_dst": false, "offset": -14400 } ], 9 | [ "562132800", { "is_dst": true, "offset": -10800 } ], 10 | [ "571201200", { "is_dst": false, "offset": -14400 } ], 11 | [ "1214280000", { "is_dst": false, "offset": -10800 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/America/Santo_Domingo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Santo_Domingo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -18000 } ], 5 | [ "4422600", { "is_dst": false, "offset": -18000 } ], 6 | [ "25678800", { "is_dst": true, "offset": -16200 } ], 7 | [ "33193800", { "is_dst": false, "offset": -18000 } ], 8 | [ "57733200", { "is_dst": true, "offset": -16200 } ], 9 | [ "64816200", { "is_dst": false, "offset": -18000 } ], 10 | [ "89182800", { "is_dst": true, "offset": -16200 } ], 11 | [ "96438600", { "is_dst": false, "offset": -18000 } ], 12 | [ "120632400", { "is_dst": true, "offset": -16200 } ], 13 | [ "127974600", { "is_dst": false, "offset": -18000 } ], 14 | [ "152082000", { "is_dst": false, "offset": -14400 } ], 15 | [ "972799200", { "is_dst": false, "offset": -18000 } ], 16 | [ "975823200", { "is_dst": false, "offset": -14400 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/America/St_Barthelemy.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/St_Barthelemy", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/St_Kitts.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/St_Kitts", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/St_Lucia.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/St_Lucia", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/St_Thomas.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/St_Thomas", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/St_Vincent.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/St_Vincent", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Swift_Current.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Swift_Current", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -21600 } ], 5 | [ "73472400", { "is_dst": false, "offset": -21600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/America/Tegucigalpa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Tegucigalpa", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -18000 } ], 5 | [ "547020000", { "is_dst": true, "offset": -18000 } ], 6 | [ "559717200", { "is_dst": false, "offset": -21600 } ], 7 | [ "578469600", { "is_dst": true, "offset": -18000 } ], 8 | [ "591166800", { "is_dst": false, "offset": -21600 } ], 9 | [ "1146981600", { "is_dst": true, "offset": -18000 } ], 10 | [ "1154926800", { "is_dst": false, "offset": -21600 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/America/Tortola.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Tortola", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/America/Virgin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "America/Virgin", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -14400 } ], 5 | [ "-2233035335", { "is_dst": false, "offset": -14400 } ], 6 | [ "-873057600", { "is_dst": true, "offset": -10800 } ], 7 | [ "-769395600", { "is_dst": true, "offset": -10800 } ], 8 | [ "-765399600", { "is_dst": false, "offset": -14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Antarctica/Casey.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Antarctica/Casey", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 39600 } ], 5 | [ "1255802400", { "is_dst": false, "offset": 39600 } ], 6 | [ "1267714800", { "is_dst": false, "offset": 28800 } ], 7 | [ "1319738400", { "is_dst": false, "offset": 39600 } ], 8 | [ "1329843600", { "is_dst": false, "offset": 28800 } ], 9 | [ "1477065600", { "is_dst": false, "offset": 39600 } ], 10 | [ "1520701200", { "is_dst": false, "offset": 28800 } ], 11 | [ "1538856000", { "is_dst": false, "offset": 39600 } ], 12 | [ "1552752000", { "is_dst": false, "offset": 28800 } ], 13 | [ "1570129200", { "is_dst": false, "offset": 39600 } ], 14 | [ "1583596800", { "is_dst": false, "offset": 28800 } ], 15 | [ "1601740860", { "is_dst": false, "offset": 39600 } ], 16 | [ "1615640400", { "is_dst": false, "offset": 28800 } ], 17 | [ "1633190460", { "is_dst": false, "offset": 39600 } ], 18 | [ "1647090000", { "is_dst": false, "offset": 28800 } ], 19 | [ "1664640060", { "is_dst": false, "offset": 39600 } ], 20 | [ "1678291200", { "is_dst": false, "offset": 28800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/Antarctica/Davis.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Antarctica/Davis", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 18000 } ], 5 | [ "1255806000", { "is_dst": false, "offset": 18000 } ], 6 | [ "1268251200", { "is_dst": false, "offset": 25200 } ], 7 | [ "1319742000", { "is_dst": false, "offset": 18000 } ], 8 | [ "1329854400", { "is_dst": false, "offset": 25200 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Antarctica/DumontDUrville.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Antarctica/DumontDUrville", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 35312 } ], 5 | [ "-2840176120", { "is_dst": false, "offset": 35312 } ], 6 | [ "-2366790512", { "is_dst": false, "offset": 36000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Antarctica/Mawson.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Antarctica/Mawson", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 18000 } ], 5 | [ "1255809600", { "is_dst": false, "offset": 18000 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Antarctica/Rothera.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Antarctica/Rothera", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -10800 } ], 5 | [ "218246400", { "is_dst": false, "offset": -10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Antarctica/Syowa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Antarctica/Syowa", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 10800 } ], 5 | [ "-719636812", { "is_dst": false, "offset": 10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Antarctica/Vostok.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Antarctica/Vostok", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "760035600", { "is_dst": false, "offset": 0 } ], 6 | [ "783648000", { "is_dst": false, "offset": 25200 } ], 7 | [ "1702839600", { "is_dst": false, "offset": 18000 } ] 8 | ] 9 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Aden.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Aden", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 10800 } ], 5 | [ "-719636812", { "is_dst": false, "offset": 10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Bahrain.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Bahrain", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 10800 } ], 5 | [ "76190400", { "is_dst": false, "offset": 10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Bangkok.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Bangkok", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 24124 } ], 5 | [ "-2840164924", { "is_dst": false, "offset": 24124 } ], 6 | [ "-1570084924", { "is_dst": false, "offset": 25200 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Brunei.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Brunei", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 27000 } ], 5 | [ "-1383463280", { "is_dst": false, "offset": 27000 } ], 6 | [ "-1167636600", { "is_dst": false, "offset": 28800 } ], 7 | [ "-1082448000", { "is_dst": true, "offset": 30000 } ], 8 | [ "-1074586800", { "is_dst": false, "offset": 28800 } ], 9 | [ "-1050825600", { "is_dst": true, "offset": 30000 } ], 10 | [ "-1042964400", { "is_dst": false, "offset": 28800 } ], 11 | [ "-1019289600", { "is_dst": true, "offset": 30000 } ], 12 | [ "-1011428400", { "is_dst": false, "offset": 28800 } ], 13 | [ "-987753600", { "is_dst": true, "offset": 30000 } ], 14 | [ "-979892400", { "is_dst": false, "offset": 28800 } ], 15 | [ "-956217600", { "is_dst": true, "offset": 30000 } ], 16 | [ "-948356400", { "is_dst": false, "offset": 28800 } ], 17 | [ "-924595200", { "is_dst": true, "offset": 30000 } ], 18 | [ "-916734000", { "is_dst": false, "offset": 28800 } ], 19 | [ "-893059200", { "is_dst": true, "offset": 30000 } ], 20 | [ "-885198000", { "is_dst": false, "offset": 28800 } ], 21 | [ "-879667200", { "is_dst": false, "offset": 32400 } ], 22 | [ "-767005200", { "is_dst": false, "offset": 28800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Calcutta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Calcutta", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 21200 } ], 5 | [ "-3645237208", { "is_dst": false, "offset": 21200 } ], 6 | [ "-3155694800", { "is_dst": false, "offset": 19270 } ], 7 | [ "-2019705670", { "is_dst": false, "offset": 19800 } ], 8 | [ "-891581400", { "is_dst": true, "offset": 23400 } ], 9 | [ "-872058600", { "is_dst": false, "offset": 19800 } ], 10 | [ "-862637400", { "is_dst": true, "offset": 23400 } ], 11 | [ "-764145000", { "is_dst": false, "offset": 19800 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Chongqing.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Chongqing", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "515527200", { "is_dst": true, "offset": 32400 } ], 6 | [ "527014800", { "is_dst": false, "offset": 28800 } ], 7 | [ "545162400", { "is_dst": true, "offset": 32400 } ], 8 | [ "558464400", { "is_dst": false, "offset": 28800 } ], 9 | [ "577216800", { "is_dst": true, "offset": 32400 } ], 10 | [ "589914000", { "is_dst": false, "offset": 28800 } ], 11 | [ "608666400", { "is_dst": true, "offset": 32400 } ], 12 | [ "621968400", { "is_dst": false, "offset": 28800 } ], 13 | [ "640116000", { "is_dst": true, "offset": 32400 } ], 14 | [ "653418000", { "is_dst": false, "offset": 28800 } ], 15 | [ "671565600", { "is_dst": true, "offset": 32400 } ], 16 | [ "684867600", { "is_dst": false, "offset": 28800 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Chungking.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Chungking", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "515527200", { "is_dst": true, "offset": 32400 } ], 6 | [ "527014800", { "is_dst": false, "offset": 28800 } ], 7 | [ "545162400", { "is_dst": true, "offset": 32400 } ], 8 | [ "558464400", { "is_dst": false, "offset": 28800 } ], 9 | [ "577216800", { "is_dst": true, "offset": 32400 } ], 10 | [ "589914000", { "is_dst": false, "offset": 28800 } ], 11 | [ "608666400", { "is_dst": true, "offset": 32400 } ], 12 | [ "621968400", { "is_dst": false, "offset": 28800 } ], 13 | [ "640116000", { "is_dst": true, "offset": 32400 } ], 14 | [ "653418000", { "is_dst": false, "offset": 28800 } ], 15 | [ "671565600", { "is_dst": true, "offset": 32400 } ], 16 | [ "684867600", { "is_dst": false, "offset": 28800 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Colombo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Colombo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 23400 } ], 5 | [ "832962600", { "is_dst": false, "offset": 23400 } ], 6 | [ "846266400", { "is_dst": false, "offset": 21600 } ], 7 | [ "1145039400", { "is_dst": false, "offset": 19800 } ] 8 | ] 9 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Dacca.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Dacca", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 25200 } ], 5 | [ "1245430800", { "is_dst": true, "offset": 25200 } ], 6 | [ "1262278800", { "is_dst": false, "offset": 21600 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Dhaka.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Dhaka", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 25200 } ], 5 | [ "1245430800", { "is_dst": true, "offset": 25200 } ], 6 | [ "1262278800", { "is_dst": false, "offset": 21600 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Dili.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Dili", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 28800 } ], 5 | [ "199897200", { "is_dst": false, "offset": 28800 } ], 6 | [ "969120000", { "is_dst": false, "offset": 32400 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Dubai.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Dubai", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 14400 } ], 5 | [ "-1577936472", { "is_dst": false, "offset": 14400 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Harbin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Harbin", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "515527200", { "is_dst": true, "offset": 32400 } ], 6 | [ "527014800", { "is_dst": false, "offset": 28800 } ], 7 | [ "545162400", { "is_dst": true, "offset": 32400 } ], 8 | [ "558464400", { "is_dst": false, "offset": 28800 } ], 9 | [ "577216800", { "is_dst": true, "offset": 32400 } ], 10 | [ "589914000", { "is_dst": false, "offset": 28800 } ], 11 | [ "608666400", { "is_dst": true, "offset": 32400 } ], 12 | [ "621968400", { "is_dst": false, "offset": 28800 } ], 13 | [ "640116000", { "is_dst": true, "offset": 32400 } ], 14 | [ "653418000", { "is_dst": false, "offset": 28800 } ], 15 | [ "671565600", { "is_dst": true, "offset": 32400 } ], 16 | [ "684867600", { "is_dst": false, "offset": 28800 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Ho_Chi_Minh.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Ho_Chi_Minh", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 25200 } ], 5 | [ "171820800", { "is_dst": false, "offset": 25200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Hong_Kong.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Hong_Kong", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "9315000", { "is_dst": true, "offset": 32400 } ], 6 | [ "25036200", { "is_dst": false, "offset": 28800 } ], 7 | [ "40764600", { "is_dst": true, "offset": 32400 } ], 8 | [ "56485800", { "is_dst": false, "offset": 28800 } ], 9 | [ "72214200", { "is_dst": true, "offset": 32400 } ], 10 | [ "88540200", { "is_dst": false, "offset": 28800 } ], 11 | [ "104268600", { "is_dst": true, "offset": 32400 } ], 12 | [ "119989800", { "is_dst": false, "offset": 28800 } ], 13 | [ "126041400", { "is_dst": true, "offset": 32400 } ], 14 | [ "151439400", { "is_dst": false, "offset": 28800 } ], 15 | [ "167167800", { "is_dst": true, "offset": 32400 } ], 16 | [ "182889000", { "is_dst": false, "offset": 28800 } ], 17 | [ "198617400", { "is_dst": true, "offset": 32400 } ], 18 | [ "214338600", { "is_dst": false, "offset": 28800 } ], 19 | [ "295385400", { "is_dst": true, "offset": 32400 } ], 20 | [ "309292200", { "is_dst": false, "offset": 28800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Jakarta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Jakarta", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 25632 } ], 5 | [ "-3231299232", { "is_dst": false, "offset": 25632 } ], 6 | [ "-1451719200", { "is_dst": false, "offset": 26400 } ], 7 | [ "-1172906400", { "is_dst": false, "offset": 27000 } ], 8 | [ "-876641400", { "is_dst": false, "offset": 32400 } ], 9 | [ "-766054800", { "is_dst": false, "offset": 27000 } ], 10 | [ "-683883000", { "is_dst": false, "offset": 28800 } ], 11 | [ "-620812800", { "is_dst": false, "offset": 27000 } ], 12 | [ "-189415800", { "is_dst": false, "offset": 25200 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Jayapura.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Jayapura", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 32400 } ], 5 | [ "-1172913768", { "is_dst": false, "offset": 32400 } ], 6 | [ "-799491600", { "is_dst": false, "offset": 34200 } ], 7 | [ "-189423000", { "is_dst": false, "offset": 32400 } ] 8 | ] 9 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Kabul.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Kabul", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 14400 } ], 5 | [ "-2524538208", { "is_dst": false, "offset": 14400 } ], 6 | [ "-788932800", { "is_dst": false, "offset": 16200 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Karachi.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Karachi", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 18000 } ], 5 | [ "38775600", { "is_dst": false, "offset": 18000 } ], 6 | [ "1018119600", { "is_dst": true, "offset": 21600 } ], 7 | [ "1033840800", { "is_dst": false, "offset": 18000 } ], 8 | [ "1212260400", { "is_dst": true, "offset": 21600 } ], 9 | [ "1225476000", { "is_dst": false, "offset": 18000 } ], 10 | [ "1239735600", { "is_dst": true, "offset": 21600 } ], 11 | [ "1257012000", { "is_dst": false, "offset": 18000 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Kashgar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Kashgar", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 21600 } ], 5 | [ "-1325483420", { "is_dst": false, "offset": 21600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Kathmandu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Kathmandu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 20700 } ], 5 | [ "504901800", { "is_dst": false, "offset": 20700 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Katmandu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Katmandu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 20700 } ], 5 | [ "504901800", { "is_dst": false, "offset": 20700 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Kolkata.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Kolkata", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 21200 } ], 5 | [ "-3645237208", { "is_dst": false, "offset": 21200 } ], 6 | [ "-3155694800", { "is_dst": false, "offset": 19270 } ], 7 | [ "-2019705670", { "is_dst": false, "offset": 19800 } ], 8 | [ "-891581400", { "is_dst": true, "offset": 23400 } ], 9 | [ "-872058600", { "is_dst": false, "offset": 19800 } ], 10 | [ "-862637400", { "is_dst": true, "offset": 23400 } ], 11 | [ "-764145000", { "is_dst": false, "offset": 19800 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Kuala_Lumpur.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Kuala_Lumpur", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 28800 } ], 5 | [ "378662400", { "is_dst": false, "offset": 28800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Kuching.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Kuching", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 27000 } ], 5 | [ "-1383463280", { "is_dst": false, "offset": 27000 } ], 6 | [ "-1167636600", { "is_dst": false, "offset": 28800 } ], 7 | [ "-1082448000", { "is_dst": true, "offset": 30000 } ], 8 | [ "-1074586800", { "is_dst": false, "offset": 28800 } ], 9 | [ "-1050825600", { "is_dst": true, "offset": 30000 } ], 10 | [ "-1042964400", { "is_dst": false, "offset": 28800 } ], 11 | [ "-1019289600", { "is_dst": true, "offset": 30000 } ], 12 | [ "-1011428400", { "is_dst": false, "offset": 28800 } ], 13 | [ "-987753600", { "is_dst": true, "offset": 30000 } ], 14 | [ "-979892400", { "is_dst": false, "offset": 28800 } ], 15 | [ "-956217600", { "is_dst": true, "offset": 30000 } ], 16 | [ "-948356400", { "is_dst": false, "offset": 28800 } ], 17 | [ "-924595200", { "is_dst": true, "offset": 30000 } ], 18 | [ "-916734000", { "is_dst": false, "offset": 28800 } ], 19 | [ "-893059200", { "is_dst": true, "offset": 30000 } ], 20 | [ "-885198000", { "is_dst": false, "offset": 28800 } ], 21 | [ "-879667200", { "is_dst": false, "offset": 32400 } ], 22 | [ "-767005200", { "is_dst": false, "offset": 28800 } ] 23 | ] 24 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Kuwait.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Kuwait", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 10800 } ], 5 | [ "-719636812", { "is_dst": false, "offset": 10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Macao.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Macao", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "9315000", { "is_dst": true, "offset": 32400 } ], 6 | [ "25036200", { "is_dst": false, "offset": 28800 } ], 7 | [ "40764600", { "is_dst": true, "offset": 32400 } ], 8 | [ "56485800", { "is_dst": false, "offset": 28800 } ], 9 | [ "72214200", { "is_dst": true, "offset": 32400 } ], 10 | [ "88540200", { "is_dst": false, "offset": 28800 } ], 11 | [ "104268600", { "is_dst": true, "offset": 32400 } ], 12 | [ "119989800", { "is_dst": false, "offset": 28800 } ], 13 | [ "126041400", { "is_dst": true, "offset": 32400 } ], 14 | [ "151439400", { "is_dst": false, "offset": 28800 } ], 15 | [ "167167800", { "is_dst": true, "offset": 32400 } ], 16 | [ "182889000", { "is_dst": false, "offset": 28800 } ], 17 | [ "198617400", { "is_dst": true, "offset": 32400 } ], 18 | [ "214338600", { "is_dst": false, "offset": 28800 } ], 19 | [ "295385400", { "is_dst": true, "offset": 32400 } ], 20 | [ "309292200", { "is_dst": false, "offset": 28800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Macau.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Macau", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "9315000", { "is_dst": true, "offset": 32400 } ], 6 | [ "25036200", { "is_dst": false, "offset": 28800 } ], 7 | [ "40764600", { "is_dst": true, "offset": 32400 } ], 8 | [ "56485800", { "is_dst": false, "offset": 28800 } ], 9 | [ "72214200", { "is_dst": true, "offset": 32400 } ], 10 | [ "88540200", { "is_dst": false, "offset": 28800 } ], 11 | [ "104268600", { "is_dst": true, "offset": 32400 } ], 12 | [ "119989800", { "is_dst": false, "offset": 28800 } ], 13 | [ "126041400", { "is_dst": true, "offset": 32400 } ], 14 | [ "151439400", { "is_dst": false, "offset": 28800 } ], 15 | [ "167167800", { "is_dst": true, "offset": 32400 } ], 16 | [ "182889000", { "is_dst": false, "offset": 28800 } ], 17 | [ "198617400", { "is_dst": true, "offset": 32400 } ], 18 | [ "214338600", { "is_dst": false, "offset": 28800 } ], 19 | [ "295385400", { "is_dst": true, "offset": 32400 } ], 20 | [ "309292200", { "is_dst": false, "offset": 28800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Makassar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Makassar", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 28656 } ], 5 | [ "-1577951856", { "is_dst": false, "offset": 28656 } ], 6 | [ "-1172908656", { "is_dst": false, "offset": 28800 } ], 7 | [ "-880272000", { "is_dst": false, "offset": 32400 } ], 8 | [ "-766054800", { "is_dst": false, "offset": 28800 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Manila.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Manila", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "259344000", { "is_dst": true, "offset": 32400 } ], 6 | [ "275151600", { "is_dst": false, "offset": 28800 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Muscat.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Muscat", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 14400 } ], 5 | [ "-1577936472", { "is_dst": false, "offset": 14400 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Phnom_Penh.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Phnom_Penh", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 24124 } ], 5 | [ "-2840164924", { "is_dst": false, "offset": 24124 } ], 6 | [ "-1570084924", { "is_dst": false, "offset": 25200 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Pontianak.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Pontianak", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 25200 } ], 5 | [ "567964800", { "is_dst": false, "offset": 25200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Pyongyang.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Pyongyang", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 30600 } ], 5 | [ "1439564400", { "is_dst": false, "offset": 30600 } ], 6 | [ "1525446000", { "is_dst": false, "offset": 32400 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Qatar.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Qatar", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 10800 } ], 5 | [ "76190400", { "is_dst": false, "offset": 10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Rangoon.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Rangoon", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 23087 } ], 5 | [ "-2840163887", { "is_dst": false, "offset": 23087 } ], 6 | [ "-1577946287", { "is_dst": false, "offset": 23400 } ], 7 | [ "-873268200", { "is_dst": false, "offset": 32400 } ], 8 | [ "-778410000", { "is_dst": false, "offset": 23400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Riyadh.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Riyadh", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 10800 } ], 5 | [ "-719636812", { "is_dst": false, "offset": 10800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Saigon.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Saigon", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 25200 } ], 5 | [ "171820800", { "is_dst": false, "offset": 25200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Seoul.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Seoul", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 36000 } ], 5 | [ "547578000", { "is_dst": true, "offset": 36000 } ], 6 | [ "560883600", { "is_dst": false, "offset": 32400 } ], 7 | [ "579027600", { "is_dst": true, "offset": 36000 } ], 8 | [ "592333200", { "is_dst": false, "offset": 32400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Shanghai.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Shanghai", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "515527200", { "is_dst": true, "offset": 32400 } ], 6 | [ "527014800", { "is_dst": false, "offset": 28800 } ], 7 | [ "545162400", { "is_dst": true, "offset": 32400 } ], 8 | [ "558464400", { "is_dst": false, "offset": 28800 } ], 9 | [ "577216800", { "is_dst": true, "offset": 32400 } ], 10 | [ "589914000", { "is_dst": false, "offset": 28800 } ], 11 | [ "608666400", { "is_dst": true, "offset": 32400 } ], 12 | [ "621968400", { "is_dst": false, "offset": 28800 } ], 13 | [ "640116000", { "is_dst": true, "offset": 32400 } ], 14 | [ "653418000", { "is_dst": false, "offset": 28800 } ], 15 | [ "671565600", { "is_dst": true, "offset": 32400 } ], 16 | [ "684867600", { "is_dst": false, "offset": 28800 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Singapore.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Singapore", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 28800 } ], 5 | [ "378662400", { "is_dst": false, "offset": 28800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Taipei.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Taipei", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "133977600", { "is_dst": true, "offset": 32400 } ], 6 | [ "149785200", { "is_dst": false, "offset": 28800 } ], 7 | [ "165513600", { "is_dst": true, "offset": 32400 } ], 8 | [ "181321200", { "is_dst": false, "offset": 28800 } ], 9 | [ "299606400", { "is_dst": true, "offset": 32400 } ], 10 | [ "307551600", { "is_dst": false, "offset": 28800 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Thimbu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Thimbu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 21600 } ], 5 | [ "560025000", { "is_dst": false, "offset": 21600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Thimphu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Thimphu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 21600 } ], 5 | [ "560025000", { "is_dst": false, "offset": 21600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Tokyo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Tokyo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 32400 } ], 5 | [ "-2587712400", { "is_dst": false, "offset": 32400 } ], 6 | [ "-683802000", { "is_dst": true, "offset": 36000 } ], 7 | [ "-672310800", { "is_dst": false, "offset": 32400 } ], 8 | [ "-654771600", { "is_dst": true, "offset": 36000 } ], 9 | [ "-640861200", { "is_dst": false, "offset": 32400 } ], 10 | [ "-620298000", { "is_dst": true, "offset": 36000 } ], 11 | [ "-609411600", { "is_dst": false, "offset": 32400 } ], 12 | [ "-588848400", { "is_dst": true, "offset": 36000 } ], 13 | [ "-577962000", { "is_dst": false, "offset": 32400 } ] 14 | ] 15 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Ujung_Pandang.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Ujung_Pandang", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 28656 } ], 5 | [ "-1577951856", { "is_dst": false, "offset": 28656 } ], 6 | [ "-1172908656", { "is_dst": false, "offset": 28800 } ], 7 | [ "-880272000", { "is_dst": false, "offset": 32400 } ], 8 | [ "-766054800", { "is_dst": false, "offset": 28800 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Urumqi.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Urumqi", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 21600 } ], 5 | [ "-1325483420", { "is_dst": false, "offset": 21600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Vientiane.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Vientiane", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 24124 } ], 5 | [ "-2840164924", { "is_dst": false, "offset": 24124 } ], 6 | [ "-1570084924", { "is_dst": false, "offset": 25200 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Asia/Yangon.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asia/Yangon", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 23087 } ], 5 | [ "-2840163887", { "is_dst": false, "offset": 23087 } ], 6 | [ "-1577946287", { "is_dst": false, "offset": 23400 } ], 7 | [ "-873268200", { "is_dst": false, "offset": 32400 } ], 8 | [ "-778410000", { "is_dst": false, "offset": 23400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Atlantic/Cape_Verde.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Atlantic/Cape_Verde", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -3600 } ], 5 | [ "186120000", { "is_dst": false, "offset": -3600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Atlantic/Reykjavik.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Atlantic/Reykjavik", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Atlantic/South_Georgia.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Atlantic/South_Georgia", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -7200 } ], 5 | [ "-2524512832", { "is_dst": false, "offset": -7200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Atlantic/St_Helena.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Atlantic/St_Helena", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/Brisbane.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/Brisbane", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 39600 } ], 5 | [ "57686400", { "is_dst": true, "offset": 39600 } ], 6 | [ "67968000", { "is_dst": false, "offset": 36000 } ], 7 | [ "625593600", { "is_dst": true, "offset": 39600 } ], 8 | [ "636480000", { "is_dst": false, "offset": 36000 } ], 9 | [ "657043200", { "is_dst": true, "offset": 39600 } ], 10 | [ "667929600", { "is_dst": false, "offset": 36000 } ], 11 | [ "688492800", { "is_dst": true, "offset": 39600 } ], 12 | [ "699379200", { "is_dst": false, "offset": 36000 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/Darwin.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/Darwin", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 32400 } ], 5 | [ "-2364108200", { "is_dst": false, "offset": 32400 } ], 6 | [ "-2230189200", { "is_dst": false, "offset": 34200 } ], 7 | [ "-1672558200", { "is_dst": true, "offset": 37800 } ], 8 | [ "-1665387000", { "is_dst": false, "offset": 34200 } ], 9 | [ "-883639800", { "is_dst": true, "offset": 37800 } ], 10 | [ "-876123000", { "is_dst": false, "offset": 34200 } ], 11 | [ "-860398200", { "is_dst": true, "offset": 37800 } ], 12 | [ "-844673400", { "is_dst": false, "offset": 34200 } ], 13 | [ "-828343800", { "is_dst": true, "offset": 37800 } ], 14 | [ "-813223800", { "is_dst": false, "offset": 34200 } ] 15 | ] 16 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/Eucla.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/Eucla", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 35100 } ], 5 | [ "152039700", { "is_dst": true, "offset": 35100 } ], 6 | [ "162926100", { "is_dst": false, "offset": 31500 } ], 7 | [ "436295700", { "is_dst": true, "offset": 35100 } ], 8 | [ "447182100", { "is_dst": false, "offset": 31500 } ], 9 | [ "690311700", { "is_dst": true, "offset": 35100 } ], 10 | [ "699383700", { "is_dst": false, "offset": 31500 } ], 11 | [ "1165079700", { "is_dst": true, "offset": 35100 } ], 12 | [ "1174756500", { "is_dst": false, "offset": 31500 } ], 13 | [ "1193505300", { "is_dst": true, "offset": 35100 } ], 14 | [ "1206810900", { "is_dst": false, "offset": 31500 } ], 15 | [ "1224954900", { "is_dst": true, "offset": 35100 } ], 16 | [ "1238260500", { "is_dst": false, "offset": 31500 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/Lindeman.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/Lindeman", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 39600 } ], 5 | [ "57686400", { "is_dst": true, "offset": 39600 } ], 6 | [ "67968000", { "is_dst": false, "offset": 36000 } ], 7 | [ "625593600", { "is_dst": true, "offset": 39600 } ], 8 | [ "636480000", { "is_dst": false, "offset": 36000 } ], 9 | [ "657043200", { "is_dst": true, "offset": 39600 } ], 10 | [ "667929600", { "is_dst": false, "offset": 36000 } ], 11 | [ "688492800", { "is_dst": true, "offset": 39600 } ], 12 | [ "699379200", { "is_dst": false, "offset": 36000 } ], 13 | [ "719942400", { "is_dst": true, "offset": 39600 } ], 14 | [ "731433600", { "is_dst": false, "offset": 36000 } ], 15 | [ "751996800", { "is_dst": true, "offset": 39600 } ], 16 | [ "762883200", { "is_dst": false, "offset": 36000 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/North.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/North", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 32400 } ], 5 | [ "-2364108200", { "is_dst": false, "offset": 32400 } ], 6 | [ "-2230189200", { "is_dst": false, "offset": 34200 } ], 7 | [ "-1672558200", { "is_dst": true, "offset": 37800 } ], 8 | [ "-1665387000", { "is_dst": false, "offset": 34200 } ], 9 | [ "-883639800", { "is_dst": true, "offset": 37800 } ], 10 | [ "-876123000", { "is_dst": false, "offset": 34200 } ], 11 | [ "-860398200", { "is_dst": true, "offset": 37800 } ], 12 | [ "-844673400", { "is_dst": false, "offset": 34200 } ], 13 | [ "-828343800", { "is_dst": true, "offset": 37800 } ], 14 | [ "-813223800", { "is_dst": false, "offset": 34200 } ] 15 | ] 16 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/Perth.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/Perth", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "152042400", { "is_dst": true, "offset": 32400 } ], 6 | [ "162928800", { "is_dst": false, "offset": 28800 } ], 7 | [ "436298400", { "is_dst": true, "offset": 32400 } ], 8 | [ "447184800", { "is_dst": false, "offset": 28800 } ], 9 | [ "690314400", { "is_dst": true, "offset": 32400 } ], 10 | [ "699386400", { "is_dst": false, "offset": 28800 } ], 11 | [ "1165082400", { "is_dst": true, "offset": 32400 } ], 12 | [ "1174759200", { "is_dst": false, "offset": 28800 } ], 13 | [ "1193508000", { "is_dst": true, "offset": 32400 } ], 14 | [ "1206813600", { "is_dst": false, "offset": 28800 } ], 15 | [ "1224957600", { "is_dst": true, "offset": 32400 } ], 16 | [ "1238263200", { "is_dst": false, "offset": 28800 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/Queensland.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/Queensland", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 39600 } ], 5 | [ "57686400", { "is_dst": true, "offset": 39600 } ], 6 | [ "67968000", { "is_dst": false, "offset": 36000 } ], 7 | [ "625593600", { "is_dst": true, "offset": 39600 } ], 8 | [ "636480000", { "is_dst": false, "offset": 36000 } ], 9 | [ "657043200", { "is_dst": true, "offset": 39600 } ], 10 | [ "667929600", { "is_dst": false, "offset": 36000 } ], 11 | [ "688492800", { "is_dst": true, "offset": 39600 } ], 12 | [ "699379200", { "is_dst": false, "offset": 36000 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/Australia/West.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Australia/West", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "152042400", { "is_dst": true, "offset": 32400 } ], 6 | [ "162928800", { "is_dst": false, "offset": 28800 } ], 7 | [ "436298400", { "is_dst": true, "offset": 32400 } ], 8 | [ "447184800", { "is_dst": false, "offset": 28800 } ], 9 | [ "690314400", { "is_dst": true, "offset": 32400 } ], 10 | [ "699386400", { "is_dst": false, "offset": 28800 } ], 11 | [ "1165082400", { "is_dst": true, "offset": 32400 } ], 12 | [ "1174759200", { "is_dst": false, "offset": 28800 } ], 13 | [ "1193508000", { "is_dst": true, "offset": 32400 } ], 14 | [ "1206813600", { "is_dst": false, "offset": 28800 } ], 15 | [ "1224957600", { "is_dst": true, "offset": 32400 } ], 16 | [ "1238263200", { "is_dst": false, "offset": 28800 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Brazil/Acre.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Brazil/Acre", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -14400 } ], 5 | [ "499755600", { "is_dst": true, "offset": -14400 } ], 6 | [ "511243200", { "is_dst": false, "offset": -18000 } ], 7 | [ "530600400", { "is_dst": true, "offset": -14400 } ], 8 | [ "540273600", { "is_dst": false, "offset": -18000 } ], 9 | [ "562136400", { "is_dst": true, "offset": -14400 } ], 10 | [ "571204800", { "is_dst": false, "offset": -18000 } ], 11 | [ "1214283600", { "is_dst": false, "offset": -14400 } ], 12 | [ "1384056000", { "is_dst": false, "offset": -18000 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/Brazil/DeNoronha.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Brazil/DeNoronha", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -3600 } ], 5 | [ "499744800", { "is_dst": true, "offset": -3600 } ], 6 | [ "511232400", { "is_dst": false, "offset": -7200 } ], 7 | [ "530589600", { "is_dst": true, "offset": -3600 } ], 8 | [ "540262800", { "is_dst": false, "offset": -7200 } ], 9 | [ "562125600", { "is_dst": true, "offset": -3600 } ], 10 | [ "571194000", { "is_dst": false, "offset": -7200 } ], 11 | [ "592970400", { "is_dst": true, "offset": -3600 } ], 12 | [ "602038800", { "is_dst": false, "offset": -7200 } ], 13 | [ "624420000", { "is_dst": true, "offset": -3600 } ], 14 | [ "634698000", { "is_dst": false, "offset": -7200 } ], 15 | [ "938916000", { "is_dst": true, "offset": -3600 } ], 16 | [ "951613200", { "is_dst": false, "offset": -7200 } ], 17 | [ "970970400", { "is_dst": true, "offset": -3600 } ], 18 | [ "971571600", { "is_dst": false, "offset": -7200 } ], 19 | [ "1003024800", { "is_dst": true, "offset": -3600 } ], 20 | [ "1013907600", { "is_dst": false, "offset": -7200 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/Brazil/West.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Brazil/West", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": -10800 } ], 5 | [ "499752000", { "is_dst": true, "offset": -10800 } ], 6 | [ "511239600", { "is_dst": false, "offset": -14400 } ], 7 | [ "530596800", { "is_dst": true, "offset": -10800 } ], 8 | [ "540270000", { "is_dst": false, "offset": -14400 } ], 9 | [ "562132800", { "is_dst": true, "offset": -10800 } ], 10 | [ "571201200", { "is_dst": false, "offset": -14400 } ], 11 | [ "750830400", { "is_dst": true, "offset": -10800 } ], 12 | [ "761713200", { "is_dst": false, "offset": -14400 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/EST.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EST", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -18000 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+0", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+1", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 3600 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+10.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+10", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 36000 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+11.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+11", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 39600 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+12.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+12", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 43200 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+2", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 7200 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+3", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 10800 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+4.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+4", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 14400 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+5.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+5", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 18000 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+6.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+6", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 21600 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+7.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+7", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 25200 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+8.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+8", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 28800 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT+9.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT+9", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 32400 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-0", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-1", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -3600 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-10.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-10", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -36000 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-11.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-11", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -39600 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-12.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-12", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -43200 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-13.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-13", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -46800 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-14.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-14", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -50400 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-2", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -7200 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-3.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-3", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -10800 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-4.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-4", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -14400 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-5.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-5", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -18000 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-6.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-6", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -21600 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-7.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-7", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -25200 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-8.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-8", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -28800 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT-9.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT-9", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -32400 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/GMT0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/GMT0", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/Greenwich.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/Greenwich", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/UCT.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/UCT", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/UTC.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/UTC", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/Universal.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/Universal", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Etc/Zulu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Etc/Zulu", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Factory.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Factory", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/GMT+0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GMT+0", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/GMT-0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GMT-0", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/GMT.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GMT", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/GMT0.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GMT0", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Greenwich.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Greenwich", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/HST.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HST", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -36000 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Hongkong.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Hongkong", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "9315000", { "is_dst": true, "offset": 32400 } ], 6 | [ "25036200", { "is_dst": false, "offset": 28800 } ], 7 | [ "40764600", { "is_dst": true, "offset": 32400 } ], 8 | [ "56485800", { "is_dst": false, "offset": 28800 } ], 9 | [ "72214200", { "is_dst": true, "offset": 32400 } ], 10 | [ "88540200", { "is_dst": false, "offset": 28800 } ], 11 | [ "104268600", { "is_dst": true, "offset": 32400 } ], 12 | [ "119989800", { "is_dst": false, "offset": 28800 } ], 13 | [ "126041400", { "is_dst": true, "offset": 32400 } ], 14 | [ "151439400", { "is_dst": false, "offset": 28800 } ], 15 | [ "167167800", { "is_dst": true, "offset": 32400 } ], 16 | [ "182889000", { "is_dst": false, "offset": 28800 } ], 17 | [ "198617400", { "is_dst": true, "offset": 32400 } ], 18 | [ "214338600", { "is_dst": false, "offset": 28800 } ], 19 | [ "295385400", { "is_dst": true, "offset": 32400 } ], 20 | [ "309292200", { "is_dst": false, "offset": 28800 } ] 21 | ] 22 | } -------------------------------------------------------------------------------- /tzdb-json/Iceland.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Iceland", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 0 } ], 5 | [ "-1830383032", { "is_dst": false, "offset": 0 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Antananarivo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Antananarivo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Chagos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Chagos", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 21600 } ], 5 | [ "820436400", { "is_dst": false, "offset": 21600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Christmas.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Christmas", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 24124 } ], 5 | [ "-2840164924", { "is_dst": false, "offset": 24124 } ], 6 | [ "-1570084924", { "is_dst": false, "offset": 25200 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Cocos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Cocos", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 23087 } ], 5 | [ "-2840163887", { "is_dst": false, "offset": 23087 } ], 6 | [ "-1577946287", { "is_dst": false, "offset": 23400 } ], 7 | [ "-873268200", { "is_dst": false, "offset": 32400 } ], 8 | [ "-778410000", { "is_dst": false, "offset": 23400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Comoro.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Comoro", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Kerguelen.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Kerguelen", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 17640 } ], 5 | [ "-2840158440", { "is_dst": false, "offset": 17640 } ], 6 | [ "-315636840", { "is_dst": false, "offset": 18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Mahe.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Mahe", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 14400 } ], 5 | [ "-1577936472", { "is_dst": false, "offset": 14400 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Maldives.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Maldives", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 17640 } ], 5 | [ "-2840158440", { "is_dst": false, "offset": 17640 } ], 6 | [ "-315636840", { "is_dst": false, "offset": 18000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Mauritius.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Mauritius", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 18000 } ], 5 | [ "403041600", { "is_dst": true, "offset": 18000 } ], 6 | [ "417034800", { "is_dst": false, "offset": 14400 } ], 7 | [ "1224972000", { "is_dst": true, "offset": 18000 } ], 8 | [ "1238274000", { "is_dst": false, "offset": 14400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Mayotte.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Mayotte", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 9000 } ], 5 | [ "-1946168836", { "is_dst": false, "offset": 9000 } ], 6 | [ "-1309746600", { "is_dst": false, "offset": 10800 } ], 7 | [ "-1261969200", { "is_dst": false, "offset": 9000 } ], 8 | [ "-1041388200", { "is_dst": false, "offset": 9900 } ], 9 | [ "-865305900", { "is_dst": false, "offset": 10800 } ] 10 | ] 11 | } -------------------------------------------------------------------------------- /tzdb-json/Indian/Reunion.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Indian/Reunion", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 14400 } ], 5 | [ "-1577936472", { "is_dst": false, "offset": 14400 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Japan.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Japan", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 32400 } ], 5 | [ "-2587712400", { "is_dst": false, "offset": 32400 } ], 6 | [ "-683802000", { "is_dst": true, "offset": 36000 } ], 7 | [ "-672310800", { "is_dst": false, "offset": 32400 } ], 8 | [ "-654771600", { "is_dst": true, "offset": 36000 } ], 9 | [ "-640861200", { "is_dst": false, "offset": 32400 } ], 10 | [ "-620298000", { "is_dst": true, "offset": 36000 } ], 11 | [ "-609411600", { "is_dst": false, "offset": 32400 } ], 12 | [ "-588848400", { "is_dst": true, "offset": 36000 } ], 13 | [ "-577962000", { "is_dst": false, "offset": 32400 } ] 14 | ] 15 | } -------------------------------------------------------------------------------- /tzdb-json/Kwajalein.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Kwajalein", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "745934400", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/MST.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MST", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": -25200 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/PRC.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PRC", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "515527200", { "is_dst": true, "offset": 32400 } ], 6 | [ "527014800", { "is_dst": false, "offset": 28800 } ], 7 | [ "545162400", { "is_dst": true, "offset": 32400 } ], 8 | [ "558464400", { "is_dst": false, "offset": 28800 } ], 9 | [ "577216800", { "is_dst": true, "offset": 32400 } ], 10 | [ "589914000", { "is_dst": false, "offset": 28800 } ], 11 | [ "608666400", { "is_dst": true, "offset": 32400 } ], 12 | [ "621968400", { "is_dst": false, "offset": 28800 } ], 13 | [ "640116000", { "is_dst": true, "offset": 32400 } ], 14 | [ "653418000", { "is_dst": false, "offset": 28800 } ], 15 | [ "671565600", { "is_dst": true, "offset": 32400 } ], 16 | [ "684867600", { "is_dst": false, "offset": 28800 } ] 17 | ] 18 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Bougainville.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Bougainville", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 39600 } ], 5 | [ "1419696000", { "is_dst": false, "offset": 39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Chuuk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Chuuk", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 35312 } ], 5 | [ "-2840176120", { "is_dst": false, "offset": 35312 } ], 6 | [ "-2366790512", { "is_dst": false, "offset": 36000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Enderbury.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Enderbury", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -39600 } ], 5 | [ "307627200", { "is_dst": false, "offset": -39600 } ], 6 | [ "788871600", { "is_dst": false, "offset": 46800 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Fakaofo.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Fakaofo", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 46800 } ], 5 | [ "1325242800", { "is_dst": false, "offset": 46800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Funafuti.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Funafuti", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "-2177494324", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Galapagos.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Galapagos", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -21600 } ], 5 | [ "504939600", { "is_dst": false, "offset": -21600 } ], 6 | [ "722930400", { "is_dst": true, "offset": -18000 } ], 7 | [ "728888400", { "is_dst": false, "offset": -21600 } ] 8 | ] 9 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Gambier.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Gambier", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -32400 } ], 5 | [ "-1806678012", { "is_dst": false, "offset": -32400 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Guadalcanal.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Guadalcanal", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 39600 } ], 5 | [ "-1806748788", { "is_dst": false, "offset": 39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Guam.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Guam", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 39600 } ], 5 | [ "9907200", { "is_dst": true, "offset": 39600 } ], 6 | [ "21394800", { "is_dst": false, "offset": 36000 } ], 7 | [ "41356800", { "is_dst": true, "offset": 39600 } ], 8 | [ "52844400", { "is_dst": false, "offset": 36000 } ], 9 | [ "124819200", { "is_dst": true, "offset": 39600 } ], 10 | [ "130863600", { "is_dst": false, "offset": 36000 } ], 11 | [ "201888000", { "is_dst": true, "offset": 39600 } ], 12 | [ "209487660", { "is_dst": false, "offset": 36000 } ], 13 | [ "230659200", { "is_dst": true, "offset": 39600 } ], 14 | [ "241542000", { "is_dst": false, "offset": 36000 } ], 15 | [ "977493600", { "is_dst": false, "offset": 36000 } ] 16 | ] 17 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Honolulu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Honolulu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -37800 } ], 5 | [ "-2334101314", { "is_dst": false, "offset": -37800 } ], 6 | [ "-1157283000", { "is_dst": true, "offset": -34200 } ], 7 | [ "-1155436200", { "is_dst": false, "offset": -37800 } ], 8 | [ "-880198200", { "is_dst": true, "offset": -34200 } ], 9 | [ "-769395600", { "is_dst": true, "offset": -34200 } ], 10 | [ "-765376200", { "is_dst": false, "offset": -37800 } ], 11 | [ "-712150200", { "is_dst": false, "offset": -36000 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Johnston.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Johnston", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -37800 } ], 5 | [ "-2334101314", { "is_dst": false, "offset": -37800 } ], 6 | [ "-1157283000", { "is_dst": true, "offset": -34200 } ], 7 | [ "-1155436200", { "is_dst": false, "offset": -37800 } ], 8 | [ "-880198200", { "is_dst": true, "offset": -34200 } ], 9 | [ "-769395600", { "is_dst": true, "offset": -34200 } ], 10 | [ "-765376200", { "is_dst": false, "offset": -37800 } ], 11 | [ "-712150200", { "is_dst": false, "offset": -36000 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Kanton.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Kanton", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -39600 } ], 5 | [ "307627200", { "is_dst": false, "offset": -39600 } ], 6 | [ "788871600", { "is_dst": false, "offset": 46800 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Kiritimati.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Kiritimati", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -36000 } ], 5 | [ "307622400", { "is_dst": false, "offset": -36000 } ], 6 | [ "788868000", { "is_dst": false, "offset": 50400 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Kosrae.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Kosrae", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 39600 } ], 5 | [ "915105600", { "is_dst": false, "offset": 39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Kwajalein.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Kwajalein", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "745934400", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Majuro.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Majuro", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "-2177494324", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Marquesas.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Marquesas", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -34200 } ], 5 | [ "-1806676920", { "is_dst": false, "offset": -34200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Midway.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Midway", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -39600 } ], 5 | [ "-1861879032", { "is_dst": false, "offset": -39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Nauru.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Nauru", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "287418600", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Niue.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Niue", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -40800 } ], 5 | [ "-543069620", { "is_dst": false, "offset": -40800 } ], 6 | [ "-173623200", { "is_dst": false, "offset": -39600 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Noumea.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Noumea", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 43200 } ], 5 | [ "250002000", { "is_dst": true, "offset": 43200 } ], 6 | [ "257342400", { "is_dst": false, "offset": 39600 } ], 7 | [ "281451600", { "is_dst": true, "offset": 43200 } ], 8 | [ "288878400", { "is_dst": false, "offset": 39600 } ], 9 | [ "849366000", { "is_dst": true, "offset": 43200 } ], 10 | [ "857228400", { "is_dst": false, "offset": 39600 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Pago_Pago.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Pago_Pago", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -39600 } ], 5 | [ "-1861879032", { "is_dst": false, "offset": -39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Palau.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Palau", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 32400 } ], 5 | [ "-2177485076", { "is_dst": false, "offset": 32400 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Pitcairn.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Pitcairn", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -28800 } ], 5 | [ "893665800", { "is_dst": false, "offset": -28800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Pohnpei.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Pohnpei", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 39600 } ], 5 | [ "-1806748788", { "is_dst": false, "offset": 39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Ponape.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Ponape", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 39600 } ], 5 | [ "-1806748788", { "is_dst": false, "offset": 39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Port_Moresby.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Port_Moresby", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 35312 } ], 5 | [ "-2840176120", { "is_dst": false, "offset": 35312 } ], 6 | [ "-2366790512", { "is_dst": false, "offset": 36000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Saipan.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Saipan", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 39600 } ], 5 | [ "9907200", { "is_dst": true, "offset": 39600 } ], 6 | [ "21394800", { "is_dst": false, "offset": 36000 } ], 7 | [ "41356800", { "is_dst": true, "offset": 39600 } ], 8 | [ "52844400", { "is_dst": false, "offset": 36000 } ], 9 | [ "124819200", { "is_dst": true, "offset": 39600 } ], 10 | [ "130863600", { "is_dst": false, "offset": 36000 } ], 11 | [ "201888000", { "is_dst": true, "offset": 39600 } ], 12 | [ "209487660", { "is_dst": false, "offset": 36000 } ], 13 | [ "230659200", { "is_dst": true, "offset": 39600 } ], 14 | [ "241542000", { "is_dst": false, "offset": 36000 } ], 15 | [ "977493600", { "is_dst": false, "offset": 36000 } ] 16 | ] 17 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Samoa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Samoa", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -39600 } ], 5 | [ "-1861879032", { "is_dst": false, "offset": -39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Tahiti.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Tahiti", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -36000 } ], 5 | [ "-1806674504", { "is_dst": false, "offset": -36000 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Tarawa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Tarawa", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "-2177494324", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Tongatapu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Tongatapu", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 50400 } ], 5 | [ "939214800", { "is_dst": true, "offset": 50400 } ], 6 | [ "953384400", { "is_dst": false, "offset": 46800 } ], 7 | [ "973342800", { "is_dst": true, "offset": 50400 } ], 8 | [ "980596800", { "is_dst": false, "offset": 46800 } ], 9 | [ "1004792400", { "is_dst": true, "offset": 50400 } ], 10 | [ "1012046400", { "is_dst": false, "offset": 46800 } ], 11 | [ "1478350800", { "is_dst": true, "offset": 50400 } ], 12 | [ "1484398800", { "is_dst": false, "offset": 46800 } ] 13 | ] 14 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Truk.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Truk", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 35312 } ], 5 | [ "-2840176120", { "is_dst": false, "offset": 35312 } ], 6 | [ "-2366790512", { "is_dst": false, "offset": 36000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Wake.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Wake", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "-2177494324", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Wallis.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Wallis", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 43200 } ], 5 | [ "-2177494324", { "is_dst": false, "offset": 43200 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/Pacific/Yap.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Pacific/Yap", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 35312 } ], 5 | [ "-2840176120", { "is_dst": false, "offset": 35312 } ], 6 | [ "-2366790512", { "is_dst": false, "offset": 36000 } ] 7 | ] 8 | } -------------------------------------------------------------------------------- /tzdb-json/ROC.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ROC", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 32400 } ], 5 | [ "133977600", { "is_dst": true, "offset": 32400 } ], 6 | [ "149785200", { "is_dst": false, "offset": 28800 } ], 7 | [ "165513600", { "is_dst": true, "offset": 32400 } ], 8 | [ "181321200", { "is_dst": false, "offset": 28800 } ], 9 | [ "299606400", { "is_dst": true, "offset": 32400 } ], 10 | [ "307551600", { "is_dst": false, "offset": 28800 } ] 11 | ] 12 | } -------------------------------------------------------------------------------- /tzdb-json/ROK.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ROK", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": true, "offset": 36000 } ], 5 | [ "547578000", { "is_dst": true, "offset": 36000 } ], 6 | [ "560883600", { "is_dst": false, "offset": 32400 } ], 7 | [ "579027600", { "is_dst": true, "offset": 36000 } ], 8 | [ "592333200", { "is_dst": false, "offset": 32400 } ] 9 | ] 10 | } -------------------------------------------------------------------------------- /tzdb-json/Singapore.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Singapore", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": 28800 } ], 5 | [ "378662400", { "is_dst": false, "offset": 28800 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/UCT.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UCT", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/US/Arizona.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "US/Arizona", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -25200 } ], 5 | [ "-2717643600", { "is_dst": false, "offset": -25200 } ], 6 | [ "-1633273200", { "is_dst": true, "offset": -21600 } ], 7 | [ "-1615132800", { "is_dst": false, "offset": -25200 } ], 8 | [ "-1601823600", { "is_dst": true, "offset": -21600 } ], 9 | [ "-1583683200", { "is_dst": false, "offset": -25200 } ], 10 | [ "-880210800", { "is_dst": true, "offset": -21600 } ], 11 | [ "-820519140", { "is_dst": false, "offset": -25200 } ], 12 | [ "-812653140", { "is_dst": true, "offset": -21600 } ], 13 | [ "-796845540", { "is_dst": false, "offset": -25200 } ], 14 | [ "-84380400", { "is_dst": true, "offset": -21600 } ], 15 | [ "-68659200", { "is_dst": false, "offset": -25200 } ] 16 | ] 17 | } -------------------------------------------------------------------------------- /tzdb-json/US/Hawaii.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "US/Hawaii", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -37800 } ], 5 | [ "-2334101314", { "is_dst": false, "offset": -37800 } ], 6 | [ "-1157283000", { "is_dst": true, "offset": -34200 } ], 7 | [ "-1155436200", { "is_dst": false, "offset": -37800 } ], 8 | [ "-880198200", { "is_dst": true, "offset": -34200 } ], 9 | [ "-769395600", { "is_dst": true, "offset": -34200 } ], 10 | [ "-765376200", { "is_dst": false, "offset": -37800 } ], 11 | [ "-712150200", { "is_dst": false, "offset": -36000 } ] 12 | ] 13 | } -------------------------------------------------------------------------------- /tzdb-json/US/Samoa.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "US/Samoa", 3 | "table": [ 4 | [ "-62167168800", { "is_dst": false, "offset": -39600 } ], 5 | [ "-1861879032", { "is_dst": false, "offset": -39600 } ] 6 | ] 7 | } -------------------------------------------------------------------------------- /tzdb-json/UTC.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "UTC", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Universal.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Universal", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } -------------------------------------------------------------------------------- /tzdb-json/Zulu.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Zulu", 3 | "table": [ [ "-62167168800", { "is_dst": false, "offset": 0 } ] ] 4 | } --------------------------------------------------------------------------------