diff --git a/data/README.zone_spec_csv_file b/data/README.zone_spec_csv_file index 069cac219..b3b725d4e 100644 --- a/data/README.zone_spec_csv_file +++ b/data/README.zone_spec_csv_file @@ -1,3 +1,23 @@ +# Generating + +https://github.com/fmidev/smartmet-timezones/tree/master/bin provided +a method to generate the content, which uses an unlicence, so it was +copied into this repository for posterity and future use. + + ./create_date_time_zoneinfo.sh > date_time_zonespec.csv + +# Compatibility + +The current version is IANA 2025b. + +Previous versions of the data file (IANA 2016c) had short and long special +names but only for America/Chicago, America/Denver, America/Los_Angeles, +America/New_York, America/Phoenix, but time zones like America/Detroit, +America/Fort_Wayne, America/Indiana/Petersburg, etc... did not; when +regenerating for IANA 2025b the short and long names became identical +for those previously mentions time zones. + +# File Format The csv file containing the zone_specs used by the boost::local_time::tz_database is intended to be customized by the diff --git a/data/create_date_time_zoneinfo.sh b/data/create_date_time_zoneinfo.sh new file mode 100755 index 000000000..c19eb418e --- /dev/null +++ b/data/create_date_time_zoneinfo.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# Header field +echo '"ID","STD ABBR","STD NAME","DST ABBR","DST NAME","GMT offset","DST adjustment","DST Start Date rule","Start time","DST End date rule","End time"' + +# We ignore POSIX and leap-second files, Boost does not use them. + +for tz in $(find /usr/share/zoneinfo \ + -path /usr/share/zoneinfo/right -prune -o \ + -path /usr/share/zoneinfo/posix -prune -o \ + -type f \ + | grep -v "\.tab" \ + | grep -v posix \ + | grep -v right \ + | grep -v leapseconds \ + | grep -v tzdata \ + | sed -e 's|/usr/share/zoneinfo/||g' \ + | sort); +do + perl tzinfo.pl $tz; +done diff --git a/data/date_time_zonespec.csv b/data/date_time_zonespec.csv index c528d57d1..33a65140c 100644 --- a/data/date_time_zonespec.csv +++ b/data/date_time_zonespec.csv @@ -4,7 +4,6 @@ "Africa/Addis_Ababa","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" "Africa/Algiers","CET","CET","","","+01:00:00","+00:00:00","","","","+00:00:00" "Africa/Asmara","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Africa/Asmera","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" "Africa/Bamako","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" "Africa/Bangui","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00" "Africa/Banjul","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" @@ -12,22 +11,22 @@ "Africa/Blantyre","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" "Africa/Brazzaville","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00" "Africa/Bujumbura","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" -"Africa/Cairo","EET","EET","","","+02:00:00","+00:00:00","","","","+00:00:00" -"Africa/Casablanca","WET","WET","WEST","WEST","+00:00:00","+01:00:00","2;0;7","+02:00:00","-1;0;10","+03:00:00" +"Africa/Cairo","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;5;4","+00:00:00","-1;4;10","+00:00:00" +"Africa/Casablanca","+01","+01","+00","+00","+01:00:00","-01:00:00","-1;0;2","+02:00:00","1;0;4","+03:00:00" "Africa/Ceuta","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Africa/Conakry","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" "Africa/Dakar","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" "Africa/Dar_es_Salaam","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" "Africa/Djibouti","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" "Africa/Douala","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00" -"Africa/El_Aaiun","WET","WET","WEST","WEST","+00:00:00","+01:00:00","2;0;7","+02:00:00","-1;0;10","+03:00:00" +"Africa/El_Aaiun","+01","+01","+00","+00","+01:00:00","-01:00:00","-1;0;2","+02:00:00","1;0;4","+03:00:00" "Africa/Freetown","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" "Africa/Gaborone","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" "Africa/Harare","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" "Africa/Johannesburg","SAST","SAST","","","+02:00:00","+00:00:00","","","","+00:00:00" -"Africa/Juba","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Africa/Juba","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" "Africa/Kampala","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Africa/Khartoum","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Africa/Khartoum","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" "Africa/Kigali","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" "Africa/Kinshasa","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00" "Africa/Lagos","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00" @@ -48,84 +47,72 @@ "Africa/Nouakchott","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" "Africa/Ouagadougou","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" "Africa/Porto-Novo","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00" -"Africa/Porto_Novo","WAT","WAT","","","+01:00:00","+00:00:00","","","","+00:00:00" "Africa/Sao_Tome","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" -"Africa/Timbuktu","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" "Africa/Tripoli","EET","EET","","","+02:00:00","+00:00:00","","","","+00:00:00" "Africa/Tunis","CET","CET","","","+01:00:00","+00:00:00","","","","+00:00:00" -"Africa/Windhoek","WAT","WAT","WAST","WAST","+01:00:00","+01:00:00","1;0;9","+02:00:00","1;0;4","+02:00:00" +"Africa/Windhoek","CAT","CAT","","","+02:00:00","+00:00:00","","","","+00:00:00" "America/Adak","HST","HST","HDT","HDT","-10:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Anchorage","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Anguilla","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Antigua","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Araguaina","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Buenos_Aires","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Catamarca","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/ComodRivadavia","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Cordoba","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Jujuy","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/La_Rioja","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Mendoza","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Rio_Gallegos","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Salta","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/San_Juan","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/San_Luis","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Tucuman","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Argentina/Ushuaia","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Araguaina","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Buenos_Aires","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Catamarca","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Cordoba","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Jujuy","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/La_Rioja","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Mendoza","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Rio_Gallegos","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Salta","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/San_Juan","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/San_Luis","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Tucuman","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Argentina/Ushuaia","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Aruba","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Asuncion","PYT","PYT","PYST","PYST","-04:00:00","+01:00:00","1;0;10","+00:00:00","-1;0;3","+00:00:00" +"America/Asuncion","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Atikokan","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Atka","HST","HST","HDT","HDT","-10:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Bahia","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Bahia_Banderas","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" +"America/Bahia","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Bahia_Banderas","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" "America/Barbados","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Belem","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Belem","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Belize","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"America/Beulah","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Blanc-Sablon","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Blanc_Sablon","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Boa_Vista","AMT","AMT","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Bogota","COT","COT","","","-05:00:00","+00:00:00","","","","+00:00:00" +"America/Boa_Vista","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" +"America/Bogota","-05","-05","","","-05:00:00","+00:00:00","","","","+00:00:00" "America/Boise","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Buenos_Aires","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Cambridge_Bay","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Campo_Grande","AMT","AMT","AMST","AMST","-04:00:00","+01:00:00","3;0;10","+00:00:00","3;0;2","+00:00:00" +"America/Campo_Grande","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Cancun","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Caracas","VET","VET","","","-04:30:00","+00:00:00","","","","+00:00:00" -"America/Catamarca","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Cayenne","GFT","GFT","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Caracas","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" +"America/Cayenne","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Cayman","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Center","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Chicago","CST","Central Standard Time","CDT","Central Daylight Time","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Chihuahua","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" -"America/ComodRivadavia","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Coral_Harbour","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Cordoba","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Chicago","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Chihuahua","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" +"America/Ciudad_Juarez","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Costa_Rica","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" +"America/Coyhaique","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Creston","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" -"America/Cuiaba","AMT","AMT","AMST","AMST","-04:00:00","+01:00:00","3;0;10","+00:00:00","3;0;2","+00:00:00" +"America/Cuiaba","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Curacao","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Danmarkshavn","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" -"America/Dawson","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Dawson","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" "America/Dawson_Creek","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" -"America/Denver","MST","Mountain Standard Time","MDT","Mountain Daylight Time","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Denver","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Detroit","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Dominica","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Edmonton","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Eirunepe","ACT","ACT","","","-05:00:00","+00:00:00","","","","+00:00:00" +"America/Eirunepe","-05","-05","","","-05:00:00","+00:00:00","","","","+00:00:00" "America/El_Salvador","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"America/Ensenada","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Fortaleza","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Fort_Wayne","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Fortaleza","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Fort_Nelson","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" "America/Glace_Bay","AST","AST","ADT","ADT","-04:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Godthab","WGT","WGT","WGST","WGST","-03:00:00","+01:00:00","-1;6;3","+22:00:00","-1;6;10","+23:00:00" "America/Goose_Bay","AST","AST","ADT","ADT","-04:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Grand_Turk","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" +"America/Grand_Turk","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Grenada","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Guadeloupe","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Guatemala","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"America/Guayaquil","ECT","ECT","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Guyana","GYT","GYT","","","-04:00:00","+00:00:00","","","","+00:00:00" +"America/Guayaquil","-05","-05","","","-05:00:00","+00:00:00","","","","+00:00:00" +"America/Guyana","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Halifax","AST","AST","ADT","ADT","-04:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Havana","CST","CST","CDT","CDT","-05:00:00","+01:00:00","2;0;3","+00:00:00","1;0;11","+01:00:00" "America/Hermosillo","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" @@ -137,84 +124,58 @@ "America/Indiana/Vevay","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Indiana/Vincennes","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Indiana/Winamac","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Indianapolis","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Inuvik","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Iqaluit","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Jamaica","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Jujuy","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Juneau","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Kentucky/Louisville","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Kentucky/Monticello","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Knox","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Knox_IN","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Kralendijk","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/La_Paz","BOT","BOT","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/La_Rioja","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Lima","PET","PET","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Los_Angeles","PST","Pacific Standard Time","PDT","Pacific Daylight Time","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Louisville","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Lower_Princes","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Maceio","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/La_Paz","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" +"America/Lima","-05","-05","","","-05:00:00","+00:00:00","","","","+00:00:00" +"America/Los_Angeles","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Maceio","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Managua","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"America/Manaus","AMT","AMT","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Marengo","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Marigot","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" +"America/Manaus","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Martinique","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Matamoros","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Mazatlan","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" -"America/Mendoza","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Mazatlan","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" "America/Menominee","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Merida","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" +"America/Merida","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" "America/Metlakatla","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Mexico_City","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" -"America/Miquelon","PMST","PMST","PMDT","PMDT","-03:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Mexico_City","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" +"America/Miquelon","-03","-03","-02","-02","-03:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Moncton","AST","AST","ADT","ADT","-04:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Monterrey","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" -"America/Montevideo","UYT","UYT","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Monticello","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Montreal","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Monterrey","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" +"America/Montevideo","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Montserrat","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Nassau","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/New_Salem","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/New_York","EST","Eastern Standard Time","EDT","Eastern Daylight Time","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Nipigon","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/New_York","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Nome","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Noronha","FNT","FNT","","","-02:00:00","+00:00:00","","","","+00:00:00" +"America/Noronha","-02","-02","","","-02:00:00","+00:00:00","","","","+00:00:00" "America/North_Dakota/Beulah","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/North_Dakota/Center","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/North_Dakota/New_Salem","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Ojinaga","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Nuuk","-02","-02","-01","-01","-02:00:00","+01:00:00","-1;0;3","+23:00:00","-1;0;10","+00:00:00" +"America/Ojinaga","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Panama","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Pangnirtung","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Paramaribo","SRT","SRT","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Petersburg","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Phoenix","MST","Mountain Standard Time","","","-07:00:00","+00:00:00","","","","+00:00:00" -"America/Port-au-Prince","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Porto_Acre","ACT","ACT","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Porto_Velho","AMT","AMT","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Port_au_Prince","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" +"America/Paramaribo","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Phoenix","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" +"America/Port-au-Prince","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Port_of_Spain","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" +"America/Porto_Velho","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Puerto_Rico","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Rainy_River","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Punta_Arenas","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Rankin_Inlet","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Recife","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Recife","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Regina","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" "America/Resolute","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Rio_Branco","ACT","ACT","","","-05:00:00","+00:00:00","","","","+00:00:00" -"America/Rio_Gallegos","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Rosario","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Salta","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Santarem","BRT","BRT","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Santa_Isabel","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Santiago","CLT","CLT","CLST","CLST","-04:00:00","+01:00:00","2;0;8","+00:00:00","3;0;5","+00:00:00" +"America/Rio_Branco","-05","-05","","","-05:00:00","+00:00:00","","","","+00:00:00" +"America/Santarem","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Santiago","-04","-04","-03","-03","-04:00:00","+01:00:00","1;0;9","+23:00:00","1;0;4","+01:00:00" "America/Santo_Domingo","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/San_Juan","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/San_Luis","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Sao_Paulo","BRT","BRT","BRST","BRST","-03:00:00","+01:00:00","3;0;10","+00:00:00","3;0;2","+00:00:00" -"America/Scoresbysund","EGT","EGT","EGST","EGST","-01:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+01:00:00" -"America/Shiprock","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Sao_Paulo","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"America/Scoresbysund","-02","-02","-01","-01","-02:00:00","+01:00:00","-1;0;3","+23:00:00","-1;0;10","+00:00:00" "America/Sitka","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/St_Barthelemy","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/St_Johns","NST","NST","NDT","NDT","-03:30:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/St_Kitts","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/St_Lucia","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" @@ -222,299 +183,266 @@ "America/St_Vincent","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" "America/Swift_Current","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" "America/Tegucigalpa","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"America/Tell_City","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Thule","AST","AST","ADT","ADT","-04:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Thunder_Bay","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Tijuana","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Toronto","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Tortola","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Tucuman","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" -"America/Ushuaia","ART","ART","","","-03:00:00","+00:00:00","","","","+00:00:00" "America/Vancouver","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Vevay","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Vincennes","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Virgin","AST","AST","","","-04:00:00","+00:00:00","","","","+00:00:00" -"America/Whitehorse","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Winamac","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"America/Whitehorse","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" "America/Winnipeg","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "America/Yakutat","AKST","AKST","AKDT","AKDT","-09:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"America/Yellowknife","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Antarctica/Casey","AWST","AWST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Antarctica/Davis","DAVT","DAVT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Antarctica/DumontDUrville","DDUT","DDUT","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Antarctica/Macquarie","MIST","MIST","","","+11:00:00","+00:00:00","","","","+00:00:00" -"Antarctica/Mawson","MAWT","MAWT","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Antarctica/Casey","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Antarctica/Davis","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Antarctica/DumontDUrville","+10","+10","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Antarctica/Macquarie","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" +"Antarctica/Mawson","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" "Antarctica/McMurdo","NZST","NZST","NZDT","NZDT","+12:00:00","+01:00:00","-1;0;9","+02:00:00","1;0;4","+03:00:00" -"Antarctica/Palmer","CLT","CLT","CLST","CLST","-04:00:00","+01:00:00","2;0;8","+00:00:00","3;0;5","+00:00:00" -"Antarctica/Rothera","ROTT","ROTT","","","-03:00:00","+00:00:00","","","","+00:00:00" -"Antarctica/South_Pole","NZST","NZST","NZDT","NZDT","+12:00:00","+01:00:00","-1;0;9","+02:00:00","1;0;4","+03:00:00" -"Antarctica/Syowa","SYOT","SYOT","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Antarctica/Troll","UTC","UTC","CEST","CEST","+00:00:00","+02:00:00","-1;0;3","+01:00:00","-1;0;10","+03:00:00" -"Antarctica/Vostok","VOST","VOST","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Arctic/Longyearbyen","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Asia/Aden","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Asia/Almaty","ALMT","ALMT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Amman","EET","EET","EEST","EEST","+02:00:00","+01:00:00","1;5;4","+00:00:00","-1;5;10","+01:00:00" -"Asia/Anadyr","ANAT","ANAT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Asia/Aqtau","AQTT","AQTT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Aqtobe","AQTT","AQTT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Ashgabat","TMT","TMT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Ashkhabad","TMT","TMT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Baghdad","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Asia/Bahrain","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Asia/Baku","AZT","AZT","","","+04:00:00","+00:00:00","","","","+00:00:00" -"Asia/Bangkok","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Asia/Beirut","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+00:00:00" -"Asia/Bishkek","KGT","KGT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Brunei","BNT","BNT","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Calcutta","IST","IST","","","+05:30:00","+00:00:00","","","","+00:00:00" -"Asia/Chita","YAKT","YAKT","","","+09:00:00","+00:00:00","","","","+00:00:00" -"Asia/Choibalsan","CHOT","CHOT","CHOST","CHOST","+08:00:00","+01:00:00","-1;6;3","+02:00:00","-1;6;9","+00:00:00" -"Asia/Chongqing","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Chungking","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Colombo","IST","IST","","","+05:30:00","+00:00:00","","","","+00:00:00" -"Asia/Dacca","BDT","BDT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Damascus","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;5;3","+00:00:00","-1;5;10","+00:00:00" -"Asia/Dhaka","BDT","BDT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Dili","TLT","TLT","","","+09:00:00","+00:00:00","","","","+00:00:00" -"Asia/Dubai","GST","GST","","","+04:00:00","+00:00:00","","","","+00:00:00" -"Asia/Dushanbe","TJT","TJT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Gaza","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;6;3","+01:00:00","3;5;10","+00:00:00" -"Asia/Harbin","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Hebron","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;6;3","+01:00:00","3;5;10","+00:00:00" +"Antarctica/Palmer","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"Antarctica/Rothera","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"Antarctica/Syowa","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Antarctica/Troll","+00","+00","+02","+02","+00:00:00","+02:00:00","-1;0;3","+01:00:00","-1;0;10","+03:00:00" +"Antarctica/Vostok","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Aden","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Asia/Almaty","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Amman","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Asia/Anadyr","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Asia/Aqtau","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Aqtobe","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Ashgabat","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Atyrau","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Baghdad","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Asia/Bahrain","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Asia/Baku","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Asia/Bangkok","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Barnaul","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Beirut","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+00:00:00","-1;6;10","+00:00:00" +"Asia/Bishkek","+06","+06","","","+06:00:00","+00:00:00","","","","+00:00:00" +"Asia/Brunei","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Asia/Chita","+09","+09","","","+09:00:00","+00:00:00","","","","+00:00:00" +"Asia/Colombo","+0530","+0530","","","+05:30:00","+00:00:00","","","","+00:00:00" +"Asia/Damascus","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Asia/Dhaka","+06","+06","","","+06:00:00","+00:00:00","","","","+00:00:00" +"Asia/Dili","+09","+09","","","+09:00:00","+00:00:00","","","","+00:00:00" +"Asia/Dubai","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Asia/Dushanbe","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Famagusta","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" +"Asia/Gaza","EET","EET","EEST","EEST","+02:00:00","+01:00:00","2;6;4","+02:00:00","-1;6;10","+02:00:00" +"Asia/Hebron","EET","EET","EEST","EEST","+02:00:00","+01:00:00","2;6;4","+02:00:00","-1;6;10","+02:00:00" +"Asia/Ho_Chi_Minh","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" "Asia/Hong_Kong","HKT","HKT","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Hovd","HOVT","HOVT","HOVST","HOVST","+07:00:00","+01:00:00","-1;6;3","+02:00:00","-1;6;9","+00:00:00" -"Asia/Ho_Chi_Minh","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Asia/Irkutsk","IRKT","IRKT","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Istanbul","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" +"Asia/Hovd","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Irkutsk","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" "Asia/Jakarta","WIB","WIB","","","+07:00:00","+00:00:00","","","","+00:00:00" "Asia/Jayapura","WIT","WIT","","","+09:00:00","+00:00:00","","","","+00:00:00" "Asia/Jerusalem","IST","IST","IDT","IDT","+02:00:00","+01:00:00","-1;5;3","+02:00:00","-1;0;10","+02:00:00" -"Asia/Kabul","AFT","AFT","","","+04:30:00","+00:00:00","","","","+00:00:00" -"Asia/Kamchatka","PETT","PETT","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Asia/Kabul","+0430","+0430","","","+04:30:00","+00:00:00","","","","+00:00:00" +"Asia/Kamchatka","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" "Asia/Karachi","PKT","PKT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Kashgar","XJT","XJT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Kathmandu","NPT","NPT","","","+05:45:00","+00:00:00","","","","+00:00:00" -"Asia/Katmandu","NPT","NPT","","","+05:45:00","+00:00:00","","","","+00:00:00" -"Asia/Khandyga","YAKT","YAKT","","","+09:00:00","+00:00:00","","","","+00:00:00" +"Asia/Kathmandu","+0545","+0545","","","+05:45:00","+00:00:00","","","","+00:00:00" +"Asia/Khandyga","+09","+09","","","+09:00:00","+00:00:00","","","","+00:00:00" "Asia/Kolkata","IST","IST","","","+05:30:00","+00:00:00","","","","+00:00:00" -"Asia/Krasnoyarsk","KRAT","KRAT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Asia/Kuala_Lumpur","MYT","MYT","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Kuching","MYT","MYT","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Kuwait","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Asia/Macao","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Asia/Krasnoyarsk","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Kuala_Lumpur","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Asia/Kuching","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Asia/Kuwait","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" "Asia/Macau","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Magadan","MAGT","MAGT","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Asia/Magadan","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" "Asia/Makassar","WITA","WITA","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Manila","PHT","PHT","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Muscat","GST","GST","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Asia/Manila","PST","PST","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Asia/Muscat","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" "Asia/Nicosia","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" -"Asia/Novokuznetsk","KRAT","KRAT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Asia/Novosibirsk","NOVT","NOVT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Omsk","OMST","OMST","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Oral","ORAT","ORAT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Phnom_Penh","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Novokuznetsk","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Novosibirsk","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Omsk","+06","+06","","","+06:00:00","+00:00:00","","","","+00:00:00" +"Asia/Oral","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Phnom_Penh","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" "Asia/Pontianak","WIB","WIB","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Asia/Pyongyang","KST","KST","","","+08:30:00","+00:00:00","","","","+00:00:00" -"Asia/Qatar","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Asia/Qyzylorda","QYZT","QYZT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Rangoon","MMT","MMT","","","+06:30:00","+00:00:00","","","","+00:00:00" -"Asia/Riyadh","AST","AST","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Asia/Saigon","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Asia/Sakhalin","SAKT","SAKT","","","+11:00:00","+00:00:00","","","","+00:00:00" -"Asia/Samarkand","UZT","UZT","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Pyongyang","KST","KST","","","+09:00:00","+00:00:00","","","","+00:00:00" +"Asia/Qatar","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Asia/Qostanay","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Qyzylorda","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Riyadh","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Asia/Sakhalin","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Asia/Samarkand","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" "Asia/Seoul","KST","KST","","","+09:00:00","+00:00:00","","","","+00:00:00" "Asia/Shanghai","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Singapore","SGT","SGT","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Srednekolymsk","SRET","SRET","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Asia/Singapore","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Asia/Srednekolymsk","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" "Asia/Taipei","CST","CST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Tashkent","UZT","UZT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Tbilisi","GET","GET","","","+04:00:00","+00:00:00","","","","+00:00:00" -"Asia/Tehran","IRST","IRST","IRDT","IRDT","+03:30:00","+01:00:00","3;1;3","+00:00:00","3;3;9","+00:00:00" -"Asia/Tel_Aviv","IST","IST","IDT","IDT","+02:00:00","+01:00:00","-1;5;3","+02:00:00","-1;0;10","+02:00:00" -"Asia/Thimbu","BTT","BTT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Thimphu","BTT","BTT","","","+06:00:00","+00:00:00","","","","+00:00:00" +"Asia/Tashkent","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Tbilisi","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Asia/Tehran","+0330","+0330","","","+03:30:00","+00:00:00","","","","+00:00:00" +"Asia/Thimphu","+06","+06","","","+06:00:00","+00:00:00","","","","+00:00:00" "Asia/Tokyo","JST","JST","","","+09:00:00","+00:00:00","","","","+00:00:00" -"Asia/Ujung_Pandang","WITA","WITA","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Asia/Ulaanbaatar","ULAT","ULAT","ULAST","ULAST","+08:00:00","+01:00:00","-1;6;3","+02:00:00","-1;6;9","+00:00:00" -"Asia/Ulan_Bator","ULAT","ULAT","ULAST","ULAST","+08:00:00","+01:00:00","-1;6;3","+02:00:00","-1;6;9","+00:00:00" -"Asia/Urumqi","XJT","XJT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Asia/Ust-Nera","VLAT","VLAT","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Asia/Ust_Nera","VLAT","VLAT","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Asia/Vientiane","ICT","ICT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Asia/Vladivostok","VLAT","VLAT","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Asia/Yakutsk","YAKT","YAKT","","","+09:00:00","+00:00:00","","","","+00:00:00" -"Asia/Yekaterinburg","YEKT","YEKT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Asia/Yerevan","AMT","AMT","","","+04:00:00","+00:00:00","","","","+00:00:00" -"Atlantic/Azores","AZOT","AZOT","AZOST","AZOST","-01:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+01:00:00" +"Asia/Tomsk","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Ulaanbaatar","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Asia/Urumqi","+06","+06","","","+06:00:00","+00:00:00","","","","+00:00:00" +"Asia/Ust-Nera","+10","+10","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Asia/Vientiane","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Asia/Vladivostok","+10","+10","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Asia/Yakutsk","+09","+09","","","+09:00:00","+00:00:00","","","","+00:00:00" +"Asia/Yangon","+0630","+0630","","","+06:30:00","+00:00:00","","","","+00:00:00" +"Asia/Yekaterinburg","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Asia/Yerevan","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Atlantic/Azores","-01","-01","+00","+00","-01:00:00","+01:00:00","-1;0;3","+00:00:00","-1;0;10","+01:00:00" "Atlantic/Bermuda","AST","AST","ADT","ADT","-04:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "Atlantic/Canary","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" -"Atlantic/Cape_Verde","CVT","CVT","","","-01:00:00","+00:00:00","","","","+00:00:00" -"Atlantic/Faeroe","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" +"Atlantic/Cape_Verde","-01","-01","","","-01:00:00","+00:00:00","","","","+00:00:00" "Atlantic/Faroe","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" -"Atlantic/Jan_Mayen","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Atlantic/Madeira","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" "Atlantic/Reykjavik","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" -"Atlantic/South_Georgia","GST","GST","","","-02:00:00","+00:00:00","","","","+00:00:00" -"Atlantic/Stanley","FKST","FKST","","","-03:00:00","+00:00:00","","","","+00:00:00" +"Atlantic/South_Georgia","-02","-02","","","-02:00:00","+00:00:00","","","","+00:00:00" +"Atlantic/Stanley","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" "Atlantic/St_Helena","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" -"Australia/ACT","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" "Australia/Adelaide","ACST","ACST","ACDT","ACDT","+09:30:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" "Australia/Brisbane","AEST","AEST","","","+10:00:00","+00:00:00","","","","+00:00:00" "Australia/Broken_Hill","ACST","ACST","ACDT","ACDT","+09:30:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Australia/Canberra","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Australia/Currie","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" "Australia/Darwin","ACST","ACST","","","+09:30:00","+00:00:00","","","","+00:00:00" -"Australia/Eucla","ACWST","ACWST","","","+08:45:00","+00:00:00","","","","+00:00:00" +"Australia/Eucla","+0845","+0845","","","+08:45:00","+00:00:00","","","","+00:00:00" "Australia/Hobart","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Australia/LHI","LHST","LHST","LHDT","LHDT","+10:30:00","+00:30:00","1;0;10","+02:00:00","1;0;4","+02:00:00" "Australia/Lindeman","AEST","AEST","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Australia/Lord_Howe","LHST","LHST","LHDT","LHDT","+10:30:00","+00:30:00","1;0;10","+02:00:00","1;0;4","+02:00:00" +"Australia/Lord_Howe","+1030","+1030","+11","+11","+10:30:00","+00:30:00","1;0;10","+02:00:00","1;0;4","+02:00:00" "Australia/Melbourne","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Australia/North","ACST","ACST","","","+09:30:00","+00:00:00","","","","+00:00:00" -"Australia/NSW","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" "Australia/Perth","AWST","AWST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Australia/Queensland","AEST","AEST","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Australia/South","ACST","ACST","ACDT","ACDT","+09:30:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" "Australia/Sydney","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Australia/Tasmania","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Australia/Victoria","AEST","AEST","AEDT","AEDT","+10:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Australia/West","AWST","AWST","","","+08:00:00","+00:00:00","","","","+00:00:00" -"Australia/Yancowinna","ACST","ACST","ACDT","ACDT","+09:30:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" -"Brazil/Acre","ACT","ACT","","","-05:00:00","+00:00:00","","","","+00:00:00" -"Brazil/DeNoronha","FNT","FNT","","","-02:00:00","+00:00:00","","","","+00:00:00" -"Brazil/East","BRT","BRT","BRST","BRST","-03:00:00","+01:00:00","3;0;10","+00:00:00","3;0;2","+00:00:00" -"Brazil/West","AMT","AMT","","","-04:00:00","+00:00:00","","","","+00:00:00" -"Canada/Atlantic","AST","AST","ADT","ADT","-04:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Canada/Central","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Canada/East-Saskatchewan","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"Canada/Eastern","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Canada/East_Saskatchewan","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"Canada/Mountain","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Canada/Newfoundland","NST","NST","NDT","NDT","-03:30:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Canada/Pacific","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Canada/Saskatchewan","CST","CST","","","-06:00:00","+00:00:00","","","","+00:00:00" -"Canada/Yukon","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Chile/Continental","CLT","CLT","CLST","CLST","-04:00:00","+01:00:00","2;0;8","+00:00:00","3;0;5","+00:00:00" -"Chile/EasterIsland","EAST","EAST","EASST","EASST","-06:00:00","+01:00:00","2;6;8","+22:00:00","2;6;5","+22:00:00" +"CET","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" +"CST6CDT","CST","CST","CDT","CDT","-06:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"EET","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" +"EST","EST","EST","","","-05:00:00","+00:00:00","","","","+00:00:00" +"EST5EDT","EST","EST","EDT","EDT","-05:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" "Etc/GMT","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" -"Etc/Greenwich","GMT","GMT","","","+00:00:00","+00:00:00","","","","+00:00:00" -"Etc/UCT","UCT","UCT","","","+00:00:00","+00:00:00","","","","+00:00:00" -"Etc/Universal","UTC","UTC","","","+00:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+1","-01","-01","","","-01:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-1","+01","+01","","","+01:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+10","-10","-10","","","-10:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-10","+10","+10","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+11","-11","-11","","","-11:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-11","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+12","-12","-12","","","-12:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-12","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-13","+13","+13","","","+13:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-14","+14","+14","","","+14:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+2","-02","-02","","","-02:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-2","+02","+02","","","+02:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+3","-03","-03","","","-03:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-3","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+4","-04","-04","","","-04:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-4","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+5","-05","-05","","","-05:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-5","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+6","-06","-06","","","-06:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-6","+06","+06","","","+06:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+7","-07","-07","","","-07:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-7","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+8","-08","-08","","","-08:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-8","+08","+08","","","+08:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT+9","-09","-09","","","-09:00:00","+00:00:00","","","","+00:00:00" +"Etc/GMT-9","+09","+09","","","+09:00:00","+00:00:00","","","","+00:00:00" "Etc/UTC","UTC","UTC","","","+00:00:00","+00:00:00","","","","+00:00:00" -"Etc/Zulu","UTC","UTC","","","+00:00:00","+00:00:00","","","","+00:00:00" "Europe/Amsterdam","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Andorra","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" +"Europe/Astrakhan","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" "Europe/Athens","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" -"Europe/Belfast","GMT","GMT","BST","BST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" "Europe/Belgrade","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Berlin","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Bratislava","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Brussels","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Bucharest","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Budapest","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Busingen","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Chisinau","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" +"Europe/Chisinau","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+02:00:00" "Europe/Copenhagen","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Dublin","GMT","GMT","IST","IST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" +"Europe/Dublin","IST","IST","GMT","GMT","+01:00:00","-01:00:00","-1;0;10","+02:00:00","-1;0;3","+01:00:00" "Europe/Gibraltar","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Guernsey","GMT","GMT","BST","BST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" "Europe/Helsinki","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Isle_of_Man","GMT","GMT","BST","BST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" -"Europe/Istanbul","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" +"Europe/Istanbul","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" "Europe/Jersey","GMT","GMT","BST","BST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" "Europe/Kaliningrad","EET","EET","","","+02:00:00","+00:00:00","","","","+00:00:00" -"Europe/Kiev","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" +"Europe/Kirov","MSK","MSK","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Europe/Kyiv","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Lisbon","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" "Europe/Ljubljana","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/London","GMT","GMT","BST","BST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" "Europe/Luxembourg","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Madrid","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Malta","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Mariehamn","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" -"Europe/Minsk","MSK","MSK","","","+03:00:00","+00:00:00","","","","+00:00:00" +"Europe/Minsk","+03","+03","","","+03:00:00","+00:00:00","","","","+00:00:00" "Europe/Monaco","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Moscow","MSK","MSK","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Europe/Nicosia","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Oslo","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Paris","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Podgorica","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Prague","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Riga","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Rome","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Samara","SAMT","SAMT","","","+04:00:00","+00:00:00","","","","+00:00:00" -"Europe/San_Marino","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" +"Europe/Samara","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" "Europe/Sarajevo","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" +"Europe/Saratov","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" "Europe/Simferopol","MSK","MSK","","","+03:00:00","+00:00:00","","","","+00:00:00" "Europe/Skopje","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Sofia","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Stockholm","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Tallinn","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Tirane","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Tiraspol","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Uzhgorod","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" +"Europe/Ulyanovsk","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" "Europe/Vaduz","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Vatican","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Vienna","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Vilnius","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Volgograd","MSK","MSK","","","+03:00:00","+00:00:00","","","","+00:00:00" "Europe/Warsaw","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" "Europe/Zagreb","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" -"Europe/Zaporozhye","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" "Europe/Zurich","CET","CET","CEST","CEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" +"Factory","-00","-00","","","+00:00:00","+00:00:00","","","","+00:00:00" +"HST","HST","HST","","","-10:00:00","+00:00:00","","","","+00:00:00" "Indian/Antananarivo","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Indian/Chagos","IOT","IOT","","","+06:00:00","+00:00:00","","","","+00:00:00" -"Indian/Christmas","CXT","CXT","","","+07:00:00","+00:00:00","","","","+00:00:00" -"Indian/Cocos","CCT","CCT","","","+06:30:00","+00:00:00","","","","+00:00:00" +"Indian/Chagos","+06","+06","","","+06:00:00","+00:00:00","","","","+00:00:00" +"Indian/Christmas","+07","+07","","","+07:00:00","+00:00:00","","","","+00:00:00" +"Indian/Cocos","+0630","+0630","","","+06:30:00","+00:00:00","","","","+00:00:00" "Indian/Comoro","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Indian/Kerguelen","TFT","TFT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Indian/Mahe","SCT","SCT","","","+04:00:00","+00:00:00","","","","+00:00:00" -"Indian/Maldives","MVT","MVT","","","+05:00:00","+00:00:00","","","","+00:00:00" -"Indian/Mauritius","MUT","MUT","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Indian/Kerguelen","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Indian/Mahe","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" +"Indian/Maldives","+05","+05","","","+05:00:00","+00:00:00","","","","+00:00:00" +"Indian/Mauritius","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" "Indian/Mayotte","EAT","EAT","","","+03:00:00","+00:00:00","","","","+00:00:00" -"Indian/Reunion","RET","RET","","","+04:00:00","+00:00:00","","","","+00:00:00" -"Mexico/BajaNorte","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" -"Mexico/BajaSur","MST","MST","MDT","MDT","-07:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" -"Mexico/General","CST","CST","CDT","CDT","-06:00:00","+01:00:00","1;0;4","+02:00:00","-1;0;10","+02:00:00" -"Pacific/Apia","WSST","WSST","WSDT","WSDT","+13:00:00","+01:00:00","-1;0;9","+03:00:00","1;0;4","+04:00:00" +"Indian/Reunion","+04","+04","","","+04:00:00","+00:00:00","","","","+00:00:00" +"MET","MET","MET","MEST","MEST","+01:00:00","+01:00:00","-1;0;3","+02:00:00","-1;0;10","+03:00:00" +"MST","MST","MST","","","-07:00:00","+00:00:00","","","","+00:00:00" +"MST7MDT","MST","MST","MDT","MDT","-07:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"Pacific/Apia","+13","+13","","","+13:00:00","+00:00:00","","","","+00:00:00" "Pacific/Auckland","NZST","NZST","NZDT","NZDT","+12:00:00","+01:00:00","-1;0;9","+02:00:00","1;0;4","+03:00:00" -"Pacific/Chatham","CHAST","CHAST","CHADT","CHADT","+12:45:00","+01:00:00","-1;0;9","+02:00:00","1;0;4","+03:00:00" -"Pacific/Chuuk","CHUT","CHUT","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Easter","EAST","EAST","EASST","EASST","-06:00:00","+01:00:00","2;6;8","+22:00:00","2;6;5","+22:00:00" -"Pacific/Efate","VUT","VUT","","","+11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Enderbury","PHOT","PHOT","","","+13:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Fakaofo","TKT","TKT","","","+13:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Fiji","FJT","FJT","FJST","FJST","+12:00:00","+01:00:00","1;0;11","+02:00:00","3;0;1","+03:00:00" -"Pacific/Funafuti","TVT","TVT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Galapagos","GALT","GALT","","","-06:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Gambier","GAMT","GAMT","","","-09:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Guadalcanal","SBT","SBT","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Bougainville","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Chatham","+1245","+1245","+1345","+1345","+12:45:00","+01:00:00","-1;0;9","+02:45:00","1;0;4","+03:45:00" +"Pacific/Chuuk","+10","+10","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Easter","-06","-06","-05","-05","-06:00:00","+01:00:00","1;0;9","+21:00:00","1;0;4","+23:00:00" +"Pacific/Efate","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Fakaofo","+13","+13","","","+13:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Fiji","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Funafuti","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Galapagos","-06","-06","","","-06:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Gambier","-09","-09","","","-09:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Guadalcanal","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" "Pacific/Guam","ChST","ChST","","","+10:00:00","+00:00:00","","","","+00:00:00" "Pacific/Honolulu","HST","HST","","","-10:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Johnston","HST","HST","","","-10:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Kiritimati","LINT","LINT","","","+14:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Kosrae","KOST","KOST","","","+11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Kwajalein","MHT","MHT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Majuro","MHT","MHT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Marquesas","MART","MART","","","-09:30:00","+00:00:00","","","","+00:00:00" +"Pacific/Kanton","+13","+13","","","+13:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Kiritimati","+14","+14","","","+14:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Kosrae","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Kwajalein","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Majuro","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Marquesas","-0930","-0930","","","-09:30:00","+00:00:00","","","","+00:00:00" "Pacific/Midway","SST","SST","","","-11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Nauru","NRT","NRT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Niue","NUT","NUT","","","-11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Norfolk","NFT","NFT","","","+11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Noumea","NCT","NCT","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Nauru","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Niue","-11","-11","","","-11:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Norfolk","+11","+11","+12","+12","+11:00:00","+01:00:00","1;0;10","+02:00:00","1;0;4","+03:00:00" +"Pacific/Noumea","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" "Pacific/Pago_Pago","SST","SST","","","-11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Palau","PWT","PWT","","","+09:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Pitcairn","PST","PST","","","-08:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Pohnpei","PONT","PONT","","","+11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Ponape","PONT","PONT","","","+11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Port_Moresby","PGT","PGT","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Rarotonga","CKT","CKT","","","-10:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Palau","+09","+09","","","+09:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Pitcairn","-08","-08","","","-08:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Pohnpei","+11","+11","","","+11:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Port_Moresby","+10","+10","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Rarotonga","-10","-10","","","-10:00:00","+00:00:00","","","","+00:00:00" "Pacific/Saipan","ChST","ChST","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Samoa","SST","SST","","","-11:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Tahiti","TAHT","TAHT","","","-10:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Tarawa","GILT","GILT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Tongatapu","TOT","TOT","","","+13:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Truk","CHUT","CHUT","","","+10:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Wake","WAKT","WAKT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Wallis","WFT","WFT","","","+12:00:00","+00:00:00","","","","+00:00:00" -"Pacific/Yap","CHUT","CHUT","","","+10:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Tahiti","-10","-10","","","-10:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Tarawa","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Tongatapu","+13","+13","","","+13:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Wake","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"Pacific/Wallis","+12","+12","","","+12:00:00","+00:00:00","","","","+00:00:00" +"PST8PDT","PST","PST","PDT","PDT","-08:00:00","+01:00:00","2;0;3","+02:00:00","1;0;11","+02:00:00" +"WET","WET","WET","WEST","WEST","+00:00:00","+01:00:00","-1;0;3","+01:00:00","-1;0;10","+02:00:00" diff --git a/data/tzinfo.pl b/data/tzinfo.pl new file mode 100755 index 000000000..3939d8935 --- /dev/null +++ b/data/tzinfo.pl @@ -0,0 +1,257 @@ +#!/usr/bin/perl -w + +# created based on tzdump.pl + +use strict; + +sub timeoffset +{ + my $value = shift; + my $seconds = $value % 60; + my $minutes = ($value / 60) % 60; + my $hours = $value / 3600; + sprintf "%+03d:%02d:%02d",$hours,$minutes,$seconds; +} + +# mtwtfss mtwtfss + +sub timerule +{ + my ($time,$isgmt,$offset) = @_; + + # print "isgmt=$isgmt time=$time offset=$offset\n"; + + $time += $offset if(!$isgmt); + + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$foo) = gmtime($time); + ++$mon; + my $nweek = int(($mday-1)/7) + 1; + $nweek = -1 if($nweek >= 4); + "$nweek;$wday;$mon"; +} + +sub dsttime +{ + my ($time,$isstd,$offset1,$offset2) = @_; + # print "isstd=$isstd time=$time offset1=$offset1 offset2=$offset2\n"; + + $time += ($isstd ? $offset1 : $offset2); + + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$foo) = gmtime($time); + sprintf "%+03d:%02d:%02d",$hour,$min,$sec; +} + +sub tzinfo +{ + my $dir = "/usr/share/zoneinfo"; + my $zone = shift; + + if (not open (FILE, "$dir/$zone")) + { + warn "open $dir/$zone: $!\n"; + return; + } + + my $year = 1900 + (gmtime(time))[5]; + + my $tzfile = {}; + my $data; + + sysread (FILE, $data, 44) or die; + + my ($header, $reserved, $ttisgmtcnt, $ttisstdcnt, $leapcnt, $timecnt, + $typecnt, $charcnt) = unpack "a4 a16 N N N N N N", $data; + + if ($header ne "TZif") + { + warn "$dir/$zone: Doesn't look like tzfile data\n"; + close FILE; + return; + } + + # print "ttisgmtcnt=$ttisgmtcnt, ttisstdcnt=$ttisstdcnt, leapcnt=$leapcnt, timecnt=$timecnt, typecnt=$typecnt, charcnt=$charcnt\n"; + + my $tzdata; + my $index = 0; + + sysread (FILE, $tzdata, 5 * $timecnt + 6 * $typecnt + $charcnt + + 8 * $leapcnt + $ttisstdcnt + $ttisgmtcnt); + + my $tzchunk = sub + { + my $howbig = shift; + my $chunk = substr ($tzdata, $index, $howbig); + $index += $howbig; + $chunk; + }; + + my %ttimes; + my @ttimes; + my @ttindexes; + + my @dates; # settings for current year + my @indexes; + + my $lastindex = -1; + + if ($timecnt) + { + $data = &$tzchunk (4 * $timecnt); + @ttimes = unpack ("N" x $timecnt, $data); + + $data = &$tzchunk ($timecnt); + @ttindexes = unpack "C" x $timecnt, $data; + + for (my $i=0; $i<=$#ttimes; $i++) + { + my $ruleyear = 1900 + (gmtime($ttimes[$i]))[5]; + + $lastindex = $ttindexes[$i]; + + if ($ruleyear == $year) + { + push @dates, $ttimes[$i]; + push @indexes, $ttindexes[$i]; + } + } + } + + my @ttinfo; + + foreach (0 .. $typecnt - 1) + { + $data = &$tzchunk (6); + my ($gmtoff, $isdst, $abbrind) = unpack ("N c C", $data); + $gmtoff = unpack ("l", pack ("L", $gmtoff)); + push (@ttinfo, { gmtoff => $gmtoff, isdst => $isdst, abbrind => $abbrind }); + # print "ttinfo[$_]: gmtoff=$gmtoff isdst=$isdst abbrind=$abbrind\n"; + } + + + my $tznames; + + if ($charcnt) + { + $tznames = &$tzchunk ($charcnt) or die; + # print "abbrevs: ", join (", ", split /\000/, $tznames), "\n"; + } + + my @leapsecs; + + if ($leapcnt) + { + $data = &$tzchunk (8 * $leapcnt); + # print "leapsecs: ", join (", ", unpack ("NN" x $leapcnt, $data)), "\n"; + } + + my @stddata; + if ($ttisstdcnt) + { + $data = &$tzchunk ($ttisstdcnt); + @stddata = unpack ("C" x $ttisstdcnt, $data); + # print "isstd: ", join (", ", @stddata), "\n"; + } + + my @gmtdata; + if ($ttisgmtcnt) + { + $data = &$tzchunk ($ttisgmtcnt); + @gmtdata = unpack ("C" x $ttisgmtcnt, $data); + # print "isgmt: ", join(", ", @gmtdata), "\n"; + } + + close FILE; + + # Print Boost date_time_zoneinfo line + + # for(my $i=0; $i<=$#dates; $i++) + # { + # print scalar gmtime ($dates[$i]), " => ", $indexes[$i], " ", $ttimes[$i], "\n"; + # } + + if ($#dates == 1) + { + # ID, STD ABBR, STD NAME, DST ABBR, DST NAME, GMT offset, DST adjustment, Rule1, Time1, Rule2, Time2 + # "Europe/Helsinki","EET","EET","EEST","EEST","+02:00:00","+01:00:00","-1;0;3","+03:00:00","-1;0;10","+04:00:00" + # Rule = week,day,month + # week=1...5 or -1 if last week. We interpret week 4/5 to always imply last week + # day=0...6, 0=Sun + + my $isdst1 = $ttinfo[$indexes[0]]{isdst}; + my $isdst2 = $ttinfo[$indexes[1]]{isdst}; + + my $abbrind1 = $ttinfo[$indexes[0]]{abbrind}; + my $abbrind2 = $ttinfo[$indexes[1]]{abbrind}; + + my $isgmt1 = $gmtdata[$indexes[0]]; + my $isgmt2 = $gmtdata[$indexes[1]]; + + my $isstd1 = $stddata[$indexes[0]]; + my $isstd2 = $stddata[$indexes[1]]; + + my $zname1 = substr($tznames,$abbrind1,index($tznames,"\000",$abbrind1)-$abbrind1); + my $zname2 = substr($tznames,$abbrind2,index($tznames,"\000",$abbrind2)-$abbrind2); + + if($isdst1) + { + my $tmp = $zname1; + $zname1 = $zname2; + $zname2 = $tmp; + } + + my $offset1 = $ttinfo[$indexes[0]]{gmtoff}; + my $offset2 = $ttinfo[$indexes[1]]{gmtoff}; + + my $gmtoffset = ($isdst1 ? timeoffset($offset2) : timeoffset($offset1)); + my $dstadjustment = timeoffset($isdst1 ? $offset1-$offset2 : $offset2-$offset1); + + my $dststartrule = timerule($isdst1 ? $dates[0] : $dates[1], $isgmt1, $offset1); + my $dststarttime = ($isdst1 ? dsttime($dates[1],$isstd2,$offset2,$offset1) : dsttime($dates[0],$isstd1,$offset1,$offset2)); + + my $dstendrule = timerule($isdst1 ? $dates[1] : $dates[0], $isgmt2, $offset2); + my $dstendtime = ($isdst1 ? dsttime($dates[0],$isstd1,$offset1,$offset2) : dsttime($dates[1],$isstd2,$offset2,$offset1)); + + print "\"$zone\",\"$zname1\",\"$zname1\",\"$zname2\",\"$zname2\",\"$gmtoffset\",\"$dstadjustment\",\"$dststartrule\",\"$dststarttime\",\"$dstendrule\",\"$dstendtime\"\n"; + + } + else + { + # Use the last row if everything fails (Asia/Calcutta, Europe/Moscow) + + if($lastindex < 0) + { + $lastindex = $#ttinfo; + } + + # ID, STD ABBR, STD NAME, DST ABBR, DST NAME, GMT offset, DST adjustment, Rule1, Time1, Rule2, Time2 + # "Europe/Moscow","MSK","MSK","","","+03:00:00","+00:00:00","","","","+00:00:00" + + my $isdst = $ttinfo[$lastindex]{isdst}; + my $abbrind = $ttinfo[$lastindex]{abbrind}; + my $isgmt = $gmtdata[$lastindex]; + my $isstd = $stddata[$lastindex]; + + my $zname = substr($tznames,$abbrind,index($tznames,"\000",$abbrind)-$abbrind); + + my $offset = $ttinfo[$lastindex]{gmtoff}; + my $gmtoffset = timeoffset($offset); + my $dstadjustment = "+00:00:00"; + + my $dststartrule = ""; + my $dststarttime = ""; + + my $dstendrule = ""; + my $dstendtime = "+00:00:00"; # no idea why the Boost.Date_time does this + + # print "$gmtoffset $offset\n"; + + print "\"$zone\",\"$zname\",\"$zname\",\"\",\"\",\"$gmtoffset\",\"$dstadjustment\",\"$dststartrule\",\"$dststarttime\",\"$dstendrule\",\"$dstendtime\"\n"; + + } +} + + +foreach my $filename (@ARGV) +{ + tzinfo ($filename); +} diff --git a/include/boost/date_time/local_time/local_date_time.hpp b/include/boost/date_time/local_time/local_date_time.hpp index ab8852d19..7d2d1f2ec 100644 --- a/include/boost/date_time/local_time/local_date_time.hpp +++ b/include/boost/date_time/local_time/local_date_time.hpp @@ -313,7 +313,7 @@ namespace local_time { return local_date_time_base(utc_time_type(this->time_) + td, new_tz); } - //! Returns name of associated time zone or "Coordinated Universal Time". + //! Returns name of associated time zone or "UTC". /*! Optional bool parameter will return time zone as an offset * (ie "+07:00" extended ISO 8601 format). Empty string is returned for * classes that do not use a time_zone */ @@ -324,7 +324,7 @@ namespace local_time { return std::string("Z"); } else { - return std::string("Coordinated Universal Time"); + return std::string("UTC"); } } if (is_dst()) { diff --git a/test/local_time/testlocal_time_facet.cpp b/test/local_time/testlocal_time_facet.cpp index 2046ac156..4ff471276 100644 --- a/test/local_time/testlocal_time_facet.cpp +++ b/test/local_time/testlocal_time_facet.cpp @@ -85,19 +85,19 @@ int main(int /* argc */, char const* argv[]){ pt_facet* ptimefacet1 = new pt_facet("%a %b %d %H:%M:%S %Y %Z"); // show that zone is ignored std::locale loc2(std::locale::classic(), ptimefacet1); - + // as of IANA 2025b the full name is the same as the abbreviated name std::cout << "\nFull time zone names tests" << std::endl; teststreaming("ptime with %Z flag\n", a_time, std::string("Wed Dec 15 12:00:00 2004") , loc2); - teststreaming("UTC local_date_time", ldt1, std::string("Wed Dec 15 12:00:00 2004 Coordinated Universal Time"), loc1); - teststreaming("Chicago in summer", ldt2, std::string("Sun Aug 15 07:00:00 2004 Central Daylight Time") , loc1); - teststreaming("Denver in winter", ldt3, std::string("Wed Dec 15 05:00:00 2004 Mountain Standard Time"), loc1); - teststreaming("Los Angeles in summer", ldt4, std::string("Sun Aug 15 05:00:00 2004 Pacific Daylight Time"), loc1); - teststreaming("New York in winter", ldt5, std::string("Wed Dec 15 07:00:00 2004 Eastern Standard Time"), loc1); - teststreaming("Phoenix in Summer", ldt6, std::string("Sun Aug 15 05:00:00 2004 Mountain Standard Time"), loc1); + teststreaming("UTC local_date_time", ldt1, std::string("Wed Dec 15 12:00:00 2004 UTC"), loc1); + teststreaming("Chicago in summer", ldt2, std::string("Sun Aug 15 07:00:00 2004 CDT") , loc1); + teststreaming("Denver in winter", ldt3, std::string("Wed Dec 15 05:00:00 2004 MST"), loc1); + teststreaming("Los Angeles in summer", ldt4, std::string("Sun Aug 15 05:00:00 2004 PDT"), loc1); + teststreaming("New York in winter", ldt5, std::string("Wed Dec 15 07:00:00 2004 EST"), loc1); + teststreaming("Phoenix in Summer", ldt6, std::string("Sun Aug 15 05:00:00 2004 MST"), loc1); - teststreaming("UTC local_time_period", ltp1, std::string("[Wed Dec 15 12:00:00 2004 Coordinated Universal Time/Wed Dec 15 22:24:04 2004 Coordinated Universal Time]"), loc1); - teststreaming("LA local_time_period", ltp2, std::string("[Sun Aug 15 05:00:00 2004 Pacific Daylight Time/Sun Aug 15 20:20:40 2004 Pacific Daylight Time]"), loc1); + teststreaming("UTC local_time_period", ltp1, std::string("[Wed Dec 15 12:00:00 2004 UTC/Wed Dec 15 22:24:04 2004 UTC]"), loc1); + teststreaming("LA local_time_period", ltp2, std::string("[Sun Aug 15 05:00:00 2004 PDT/Sun Aug 15 20:20:40 2004 PDT]"), loc1); //ptimefacet1->format("%c %z"); // show that zone abbrev is ignored ptimefacet1->format("%a %b %d %H:%M:%S %Y %z"); // show that zone abbrev is ignored @@ -170,11 +170,11 @@ int main(int /* argc */, char const* argv[]){ /* Again, wide stream tests are more thoroughly done in the * time_facet tests. Here we just need to show that they work */ std::cout << "\nFull time zone names tests - wide stream" << std::endl; - teststreaming("UTC local_date_time", ldt1, std::wstring(L"Wed Dec 15 12:00:00 2004 Coordinated Universal Time"), loc3); - teststreaming("Chicago in summer", ldt2, std::wstring(L"Sun Aug 15 07:00:00 2004 Central Daylight Time") , loc3); + teststreaming("UTC local_date_time", ldt1, std::wstring(L"Wed Dec 15 12:00:00 2004 UTC"), loc3); + teststreaming("Chicago in summer", ldt2, std::wstring(L"Sun Aug 15 07:00:00 2004 CDT") , loc3); - teststreaming("UTC local_time_period", ltp1, std::wstring(L"[Wed Dec 15 12:00:00 2004 Coordinated Universal Time/Wed Dec 15 22:24:04 2004 Coordinated Universal Time]"), loc3); - teststreaming("LA local_time_period", ltp2, std::wstring(L"[Sun Aug 15 05:00:00 2004 Pacific Daylight Time/Sun Aug 15 20:20:40 2004 Pacific Daylight Time]"), loc3); + teststreaming("UTC local_time_period", ltp1, std::wstring(L"[Wed Dec 15 12:00:00 2004 UTC/Wed Dec 15 22:24:04 2004 UTC]"), loc3); + teststreaming("LA local_time_period", ltp2, std::wstring(L"[Sun Aug 15 05:00:00 2004 PDT/Sun Aug 15 20:20:40 2004 PDT]"), loc3); //wtimefacet->format(L"%c %z"); // abbrev wtimefacet->format(L"%a %b %d %H:%M:%S %Y %z"); // abbrev diff --git a/test/local_time/testtz_database.cpp b/test/local_time/testtz_database.cpp index add2943b3..9d83001ed 100644 --- a/test/local_time/testtz_database.cpp +++ b/test/local_time/testtz_database.cpp @@ -53,10 +53,10 @@ int main(int /* argc */, char const* argv[]){ time_zone_ptr nyc_test = tz_db.time_zone_from_region("America/New_York"); check("nyc Valid pointer", nyc_test != time_zone_ptr() ); check("nyc Abbreviations",nyc_test->std_zone_abbrev() == std::string("EST")); - check("nyc Full Name", nyc_test->std_zone_name() == std::string("Eastern Standard Time")); + check("nyc Full Name", nyc_test->std_zone_name() == std::string("EST")); check("nyc Abbreviations",nyc_test->dst_zone_abbrev() == std::string("EDT")); //std::cout << nyc_test->std_zone_name() << std::endl; - check("nyc Full Name", nyc_test->dst_zone_name() == std::string("Eastern Daylight Time")); + check("nyc Full Name", nyc_test->dst_zone_name() == std::string("EDT")); check("nyc GMT Offset", nyc_test->base_utc_offset() == hours(-5)); check("nyc DST Offset", nyc_test->dst_offset() == hours(1)); //std::cout << nyc_test->dst_local_start_time(2004) << std::endl; @@ -67,7 +67,7 @@ int main(int /* argc */, char const* argv[]){ time_zone_ptr phx_test = tz_db.time_zone_from_region("America/Phoenix"); check("az Valid pointer", phx_test != time_zone_ptr() ); check("az Abbreviations",phx_test->std_zone_abbrev() == std::string("MST")); - check("az Full Name", phx_test->std_zone_name() == std::string("Mountain Standard Time")); + check("az Full Name", phx_test->std_zone_name() == std::string("MST")); check("az Abbreviations", phx_test->dst_zone_abbrev() == std::string("")); check("az Full Name", phx_test->dst_zone_name() == std::string("")); check("az GMT Offset", phx_test->base_utc_offset() == hours(-7)); diff --git a/xmldoc/local_date_time.xml b/xmldoc/local_date_time.xml index c9bbf40a6..968131af8 100644 --- a/xmldoc/local_date_time.xml +++ b/xmldoc/local_date_time.xml @@ -273,7 +273,7 @@ az.local_time(); // 3am 2004-Nov-5