timezone 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.markdown +14 -0
- data/CONTRIBUTING.markdown +3 -2
- data/Rakefile +6 -0
- data/data/Africa/Abidjan +2 -0
- data/data/Africa/Accra +48 -0
- data/data/Africa/Addis_Ababa +3 -0
- data/data/Africa/Algiers +35 -0
- data/data/Africa/Asmara +4 -0
- data/data/Africa/Asmera +4 -0
- data/data/Africa/Bamako +2 -0
- data/data/Africa/Bangui +2 -0
- data/data/Africa/Banjul +2 -0
- data/data/Africa/Bissau +3 -0
- data/data/Africa/Blantyre +2 -0
- data/data/Africa/Brazzaville +2 -0
- data/data/Africa/Bujumbura +2 -0
- data/data/Africa/Cairo +1108 -0
- data/data/Africa/Casablanca +1026 -0
- data/data/Africa/Ceuta +1051 -0
- data/data/Africa/Conakry +2 -0
- data/data/Africa/Dakar +2 -0
- data/data/Africa/Dar_es_Salaam +4 -0
- data/data/Africa/Djibouti +2 -0
- data/data/Africa/Douala +2 -0
- data/data/Africa/El_Aaiun +1015 -0
- data/data/Africa/Freetown +2 -0
- data/data/Africa/Gaborone +2 -0
- data/data/Africa/Harare +2 -0
- data/data/Africa/Johannesburg +7 -0
- data/data/Africa/Juba +35 -0
- data/data/Africa/Kampala +5 -0
- data/data/Africa/Khartoum +35 -0
- data/data/Africa/Kigali +2 -0
- data/data/Africa/Kinshasa +2 -0
- data/data/Africa/Lagos +2 -0
- data/data/Africa/Libreville +2 -0
- data/data/Africa/Lome +2 -0
- data/data/Africa/Luanda +2 -0
- data/data/Africa/Lubumbashi +2 -0
- data/data/Africa/Lusaka +2 -0
- data/data/Africa/Malabo +2 -0
- data/data/Africa/Maputo +2 -0
- data/data/Africa/Maseru +7 -0
- data/data/Africa/Mbabane +7 -0
- data/data/Africa/Mogadishu +4 -0
- data/data/Africa/Monrovia +4 -0
- data/data/Africa/Nairobi +5 -0
- data/data/Africa/Ndjamena +4 -0
- data/data/Africa/Niamey +2 -0
- data/data/Africa/Nouakchott +2 -0
- data/data/Africa/Ouagadougou +2 -0
- data/data/Africa/Porto-Novo +2 -0
- data/data/Africa/Sao_Tome +2 -0
- data/data/Africa/Timbuktu +2 -0
- data/data/Africa/Tripoli +33 -0
- data/data/Africa/Tunis +35 -0
- data/data/Africa/Windhoek +1018 -0
- data/data/America/Adak +1070 -0
- data/data/America/Anchorage +1070 -0
- data/data/America/Anguilla +2 -0
- data/data/America/Antigua +3 -0
- data/data/America/Araguaina +52 -0
- data/data/America/Argentina/Buenos_Aires +62 -0
- data/data/America/Argentina/Catamarca +62 -0
- data/data/America/Argentina/ComodRivadavia +62 -0
- data/data/America/Argentina/Cordoba +62 -0
- data/data/America/Argentina/Jujuy +60 -0
- data/data/America/Argentina/La_Rioja +63 -0
- data/data/America/Argentina/Mendoza +62 -0
- data/data/America/Argentina/Rio_Gallegos +62 -0
- data/data/America/Argentina/Salta +60 -0
- data/data/America/Argentina/San_Juan +63 -0
- data/data/America/Argentina/San_Luis +63 -0
- data/data/America/Argentina/Tucuman +64 -0
- data/data/America/Argentina/Ushuaia +62 -0
- data/data/America/Aruba +3 -0
- data/data/America/Asuncion +1054 -0
- data/data/America/Atikokan +8 -0
- data/data/America/Atka +1070 -0
- data/data/America/Bahia +62 -0
- data/data/America/Bahia_Banderas +1018 -0
- data/data/America/Barbados +11 -0
- data/data/America/Belem +30 -0
- data/data/America/Belize +56 -0
- data/data/America/Blanc-Sablon +7 -0
- data/data/America/Boa_Vista +34 -0
- data/data/America/Bogota +5 -0
- data/data/America/Boise +1076 -0
- data/data/America/Buenos_Aires +62 -0
- data/data/America/Cambridge_Bay +1048 -0
- data/data/America/Campo_Grande +1053 -0
- data/data/America/Cancun +1012 -0
- data/data/America/Caracas +5 -0
- data/data/America/Catamarca +62 -0
- data/data/America/Cayenne +3 -0
- data/data/America/Cayman +3 -0
- data/data/America/Chicago +1161 -0
- data/data/America/Chihuahua +1015 -0
- data/data/America/Coral_Harbour +8 -0
- data/data/America/Cordoba +62 -0
- data/data/America/Costa_Rica +11 -0
- data/data/America/Creston +4 -0
- data/data/America/Cuiaba +1051 -0
- data/data/America/Curacao +3 -0
- data/data/America/Danmarkshavn +35 -0
- data/data/America/Dawson +1052 -0
- data/data/America/Dawson_Creek +59 -0
- data/data/America/Denver +1083 -0
- data/data/America/Detroit +1064 -0
- data/data/America/Dominica +2 -0
- data/data/America/Edmonton +1079 -0
- data/data/America/Eirunepe +34 -0
- data/data/America/El_Salvador +6 -0
- data/data/America/Ensenada +1074 -0
- data/data/America/Fort_Wayne +1024 -0
- data/data/America/Fortaleza +40 -0
- data/data/America/Glace_Bay +1065 -0
- data/data/America/Godthab +1042 -0
- data/data/America/Goose_Bay +1129 -0
- data/data/America/Grand_Turk +75 -0
- data/data/America/Grenada +2 -0
- data/data/America/Guadeloupe +2 -0
- data/data/America/Guatemala +10 -0
- data/data/America/Guayaquil +3 -0
- data/data/America/Guyana +5 -0
- data/data/America/Halifax +1153 -0
- data/data/America/Havana +1081 -0
- data/data/America/Hermosillo +16 -0
- data/data/America/Indiana/Indianapolis +1024 -0
- data/data/America/Indiana/Knox +1079 -0
- data/data/America/Indiana/Marengo +1028 -0
- data/data/America/Indiana/Petersburg +1041 -0
- data/data/America/Indiana/Tell_City +1026 -0
- data/data/America/Indiana/Vevay +1006 -0
- data/data/America/Indiana/Vincennes +1026 -0
- data/data/America/Indiana/Winamac +1032 -0
- data/data/America/Indianapolis +1024 -0
- data/data/America/Inuvik +1045 -0
- data/data/America/Iqaluit +1046 -0
- data/data/America/Jamaica +23 -0
- data/data/America/Jujuy +60 -0
- data/data/America/Juneau +1069 -0
- data/data/America/Kentucky/Louisville +1103 -0
- data/data/America/Kentucky/Monticello +1073 -0
- data/data/America/Knox_IN +1079 -0
- data/data/America/Kralendijk +3 -0
- data/data/America/La_Paz +4 -0
- data/data/America/Lima +17 -0
- data/data/America/Los_Angeles +1111 -0
- data/data/America/Louisville +1103 -0
- data/data/America/Lower_Princes +3 -0
- data/data/America/Maceio +42 -0
- data/data/America/Managua +17 -0
- data/data/America/Manaus +32 -0
- data/data/America/Marigot +2 -0
- data/data/America/Martinique +5 -0
- data/data/America/Matamoros +1012 -0
- data/data/America/Mazatlan +1018 -0
- data/data/America/Mendoza +62 -0
- data/data/America/Menominee +1068 -0
- data/data/America/Merida +1012 -0
- data/data/America/Metlakatla +36 -0
- data/data/America/Mexico_City +1023 -0
- data/data/America/Miquelon +1029 -0
- data/data/America/Moncton +1132 -0
- data/data/America/Monterrey +1012 -0
- data/data/America/Montevideo +1057 -0
- data/data/America/Montreal +1158 -0
- data/data/America/Montserrat +2 -0
- data/data/America/Nassau +1074 -0
- data/data/America/New_York +1161 -0
- data/data/America/Nipigon +1060 -0
- data/data/America/Nome +1070 -0
- data/data/America/Noronha +40 -0
- data/data/America/North_Dakota/Beulah +1075 -0
- data/data/America/North_Dakota/Center +1075 -0
- data/data/America/North_Dakota/New_Salem +1075 -0
- data/data/America/Ojinaga +1015 -0
- data/data/America/Panama +3 -0
- data/data/America/Pangnirtung +1047 -0
- data/data/America/Paramaribo +6 -0
- data/data/America/Phoenix +12 -0
- data/data/America/Port-au-Prince +1013 -0
- data/data/America/Port_of_Spain +2 -0
- data/data/America/Porto_Acre +32 -0
- data/data/America/Porto_Velho +30 -0
- data/data/America/Puerto_Rico +5 -0
- data/data/America/Rainy_River +1060 -0
- data/data/America/Rankin_Inlet +1044 -0
- data/data/America/Recife +40 -0
- data/data/America/Regina +54 -0
- data/data/America/Resolute +1044 -0
- data/data/America/Rio_Branco +32 -0
- data/data/America/Rosario +62 -0
- data/data/America/Santa_Isabel +1074 -0
- data/data/America/Santarem +31 -0
- data/data/America/Santiago +1084 -0
- data/data/America/Santo_Domingo +18 -0
- data/data/America/Sao_Paulo +1053 -0
- data/data/America/Scoresbysund +1042 -0
- data/data/America/Shiprock +1083 -0
- data/data/America/Sitka +1069 -0
- data/data/America/St_Barthelemy +2 -0
- data/data/America/St_Johns +1164 -0
- data/data/America/St_Kitts +2 -0
- data/data/America/St_Lucia +2 -0
- data/data/America/St_Thomas +2 -0
- data/data/America/St_Vincent +2 -0
- data/data/America/Swift_Current +24 -0
- data/data/America/Tegucigalpa +8 -0
- data/data/America/Thule +1020 -0
- data/data/America/Thunder_Bay +1064 -0
- data/data/America/Tijuana +1074 -0
- data/data/America/Toronto +1158 -0
- data/data/America/Tortola +2 -0
- data/data/America/Vancouver +1115 -0
- data/data/America/Virgin +2 -0
- data/data/America/Whitehorse +1052 -0
- data/data/America/Winnipeg +1111 -0
- data/data/America/Yakutat +1069 -0
- data/data/America/Yellowknife +1047 -0
- data/data/Antarctica/Casey +6 -0
- data/data/Antarctica/Davis +8 -0
- data/data/Antarctica/DumontDUrville +4 -0
- data/data/Antarctica/Macquarie +92 -0
- data/data/Antarctica/Mawson +3 -0
- data/data/Antarctica/McMurdo +1081 -0
- data/data/Antarctica/Palmer +1050 -0
- data/data/Antarctica/Rothera +2 -0
- data/data/Antarctica/South_Pole +1081 -0
- data/data/Antarctica/Syowa +2 -0
- data/data/Antarctica/Troll +992 -0
- data/data/Antarctica/Vostok +2 -0
- data/data/Arctic/Longyearbyen +1066 -0
- data/data/Asia/Aden +2 -0
- data/data/Asia/Almaty +49 -0
- data/data/Asia/Amman +1042 -0
- data/data/Asia/Anadyr +65 -0
- data/data/Asia/Aqtau +51 -0
- data/data/Asia/Aqtobe +50 -0
- data/data/Asia/Ashgabat +27 -0
- data/data/Asia/Ashkhabad +27 -0
- data/data/Asia/Baghdad +55 -0
- data/data/Asia/Bahrain +3 -0
- data/data/Asia/Baku +1036 -0
- data/data/Asia/Bangkok +3 -0
- data/data/Asia/Beirut +1066 -0
- data/data/Asia/Bishkek +53 -0
- data/data/Asia/Brunei +3 -0
- data/data/Asia/Calcutta +6 -0
- data/data/Asia/Chita +66 -0
- data/data/Asia/Choibalsan +48 -0
- data/data/Asia/Chongqing +18 -0
- data/data/Asia/Chungking +18 -0
- data/data/Asia/Colombo +9 -0
- data/data/Asia/Dacca +9 -0
- data/data/Asia/Damascus +1076 -0
- data/data/Asia/Dhaka +9 -0
- data/data/Asia/Dili +6 -0
- data/data/Asia/Dubai +2 -0
- data/data/Asia/Dushanbe +25 -0
- data/data/Asia/Gaza +1069 -0
- data/data/Asia/Harbin +18 -0
- data/data/Asia/Hebron +1071 -0
- data/data/Asia/Ho_Chi_Minh +10 -0
- data/data/Asia/Hong_Kong +70 -0
- data/data/Asia/Hovd +47 -0
- data/data/Asia/Irkutsk +67 -0
- data/data/Asia/Istanbul +1096 -0
- data/data/Asia/Jakarta +9 -0
- data/data/Asia/Jayapura +4 -0
- data/data/Asia/Jerusalem +1068 -0
- data/data/Asia/Kabul +3 -0
- data/data/Asia/Kamchatka +65 -0
- data/data/Asia/Karachi +12 -0
- data/data/Asia/Kashgar +2 -0
- data/data/Asia/Kathmandu +3 -0
- data/data/Asia/Katmandu +3 -0
- data/data/Asia/Khandyga +68 -0
- data/data/Asia/Kolkata +6 -0
- data/data/Asia/Krasnoyarsk +66 -0
- data/data/Asia/Kuala_Lumpur +9 -0
- data/data/Asia/Kuching +20 -0
- data/data/Asia/Kuwait +2 -0
- data/data/Asia/Macao +43 -0
- data/data/Asia/Macau +43 -0
- data/data/Asia/Magadan +66 -0
- data/data/Asia/Makassar +5 -0
- data/data/Asia/Manila +11 -0
- data/data/Asia/Muscat +2 -0
- data/data/Asia/Nicosia +1052 -0
- data/data/Asia/Novokuznetsk +66 -0
- data/data/Asia/Novosibirsk +67 -0
- data/data/Asia/Omsk +66 -0
- data/data/Asia/Oral +51 -0
- data/data/Asia/Phnom_Penh +3 -0
- data/data/Asia/Pontianak +9 -0
- data/data/Asia/Pyongyang +9 -0
- data/data/Asia/Qatar +3 -0
- data/data/Asia/Qyzylorda +51 -0
- data/data/Asia/Rangoon +5 -0
- data/data/Asia/Riyadh +2 -0
- data/data/Asia/Saigon +10 -0
- data/data/Asia/Sakhalin +67 -0
- data/data/Asia/Samarkand +26 -0
- data/data/Asia/Seoul +16 -0
- data/data/Asia/Shanghai +18 -0
- data/data/Asia/Singapore +10 -0
- data/data/Asia/Srednekolymsk +66 -0
- data/data/Asia/Taipei +42 -0
- data/data/Asia/Tashkent +26 -0
- data/data/Asia/Tbilisi +53 -0
- data/data/Asia/Tehran +101 -0
- data/data/Asia/Tel_Aviv +1068 -0
- data/data/Asia/Thimbu +3 -0
- data/data/Asia/Thimphu +3 -0
- data/data/Asia/Tokyo +12 -0
- data/data/Asia/Ujung_Pandang +5 -0
- data/data/Asia/Ulaanbaatar +47 -0
- data/data/Asia/Ulan_Bator +47 -0
- data/data/Asia/Urumqi +2 -0
- data/data/Asia/Ust-Nera +67 -0
- data/data/Asia/Vientiane +3 -0
- data/data/Asia/Vladivostok +66 -0
- data/data/Asia/Yakutsk +66 -0
- data/data/Asia/Yekaterinburg +67 -0
- data/data/Asia/Yerevan +64 -0
- data/data/Atlantic/Azores +1146 -0
- data/data/Atlantic/Bermuda +1054 -0
- data/data/Atlantic/Canary +1043 -0
- data/data/Atlantic/Cape_Verde +5 -0
- data/data/Atlantic/Faeroe +1040 -0
- data/data/Atlantic/Faroe +1040 -0
- data/data/Atlantic/Jan_Mayen +1066 -0
- data/data/Atlantic/Madeira +1146 -0
- data/data/Atlantic/Reykjavik +66 -0
- data/data/Atlantic/South_Georgia +2 -0
- data/data/Atlantic/St_Helena +2 -0
- data/data/Atlantic/Stanley +71 -0
- data/data/Australia/ACT +1067 -0
- data/data/Australia/Adelaide +1068 -0
- data/data/Australia/Brisbane +18 -0
- data/data/Australia/Broken_Hill +1069 -0
- data/data/Australia/Canberra +1067 -0
- data/data/Australia/Currie +1067 -0
- data/data/Australia/Darwin +11 -0
- data/data/Australia/Eucla +20 -0
- data/data/Australia/Hobart +1075 -0
- data/data/Australia/LHI +1040 -0
- data/data/Australia/Lindeman +22 -0
- data/data/Australia/Lord_Howe +1040 -0
- data/data/Australia/Melbourne +1067 -0
- data/data/Australia/NSW +1067 -0
- data/data/Australia/North +11 -0
- data/data/Australia/Perth +20 -0
- data/data/Australia/Queensland +18 -0
- data/data/Australia/South +1068 -0
- data/data/Australia/Sydney +1067 -0
- data/data/Australia/Tasmania +1075 -0
- data/data/Australia/Victoria +1067 -0
- data/data/Australia/West +20 -0
- data/data/Australia/Yancowinna +1069 -0
- data/data/Brazil/Acre +32 -0
- data/data/Brazil/DeNoronha +40 -0
- data/data/Brazil/East +1053 -0
- data/data/Brazil/West +32 -0
- data/data/CET +1061 -0
- data/data/CST6CDT +1074 -0
- data/data/Canada/Atlantic +1153 -0
- data/data/Canada/Central +1111 -0
- data/data/Canada/East-Saskatchewan +54 -0
- data/data/Canada/Eastern +1158 -0
- data/data/Canada/Mountain +1079 -0
- data/data/Canada/Newfoundland +1164 -0
- data/data/Canada/Pacific +1115 -0
- data/data/Canada/Saskatchewan +54 -0
- data/data/Canada/Yukon +1052 -0
- data/data/Chile/Continental +1084 -0
- data/data/Chile/EasterIsland +1069 -0
- data/data/Cuba +1081 -0
- data/data/EET +1047 -0
- data/data/EST +1 -0
- data/data/EST5EDT +1074 -0
- data/data/Egypt +1108 -0
- data/data/Eire +1153 -0
- data/data/Etc/GMT +1 -0
- data/data/Etc/GMT+0 +1 -0
- data/data/Etc/GMT+1 +1 -0
- data/data/Etc/GMT+10 +1 -0
- data/data/Etc/GMT+11 +1 -0
- data/data/Etc/GMT+12 +1 -0
- data/data/Etc/GMT+2 +1 -0
- data/data/Etc/GMT+3 +1 -0
- data/data/Etc/GMT+4 +1 -0
- data/data/Etc/GMT+5 +1 -0
- data/data/Etc/GMT+6 +1 -0
- data/data/Etc/GMT+7 +1 -0
- data/data/Etc/GMT+8 +1 -0
- data/data/Etc/GMT+9 +1 -0
- data/data/Etc/GMT-0 +1 -0
- data/data/Etc/GMT-1 +1 -0
- data/data/Etc/GMT-10 +1 -0
- data/data/Etc/GMT-11 +1 -0
- data/data/Etc/GMT-12 +1 -0
- data/data/Etc/GMT-13 +1 -0
- data/data/Etc/GMT-14 +1 -0
- data/data/Etc/GMT-2 +1 -0
- data/data/Etc/GMT-3 +1 -0
- data/data/Etc/GMT-4 +1 -0
- data/data/Etc/GMT-5 +1 -0
- data/data/Etc/GMT-6 +1 -0
- data/data/Etc/GMT-7 +1 -0
- data/data/Etc/GMT-8 +1 -0
- data/data/Etc/GMT-9 +1 -0
- data/data/Etc/GMT0 +1 -0
- data/data/Etc/Greenwich +1 -0
- data/data/Etc/UCT +1 -0
- data/data/Etc/UTC +1 -0
- data/data/Etc/Universal +1 -0
- data/data/Etc/Zulu +1 -0
- data/data/Europe/Amsterdam +1105 -0
- data/data/Europe/Andorra +1033 -0
- data/data/Europe/Athens +1063 -0
- data/data/Europe/Belfast +1167 -0
- data/data/Europe/Belgrade +1044 -0
- data/data/Europe/Berlin +1068 -0
- data/data/Europe/Bratislava +1067 -0
- data/data/Europe/Brussels +1110 -0
- data/data/Europe/Bucharest +1061 -0
- data/data/Europe/Budapest +1076 -0
- data/data/Europe/Busingen +1045 -0
- data/data/Europe/Chisinau +1064 -0
- data/data/Europe/Copenhagen +1059 -0
- data/data/Europe/Dublin +1153 -0
- data/data/Europe/Gibraltar +1123 -0
- data/data/Europe/Guernsey +1167 -0
- data/data/Europe/Helsinki +1043 -0
- data/data/Europe/Isle_of_Man +1167 -0
- data/data/Europe/Istanbul +1096 -0
- data/data/Europe/Jersey +1167 -0
- data/data/Europe/Kaliningrad +80 -0
- data/data/Europe/Kiev +1046 -0
- data/data/Europe/Lisbon +1146 -0
- data/data/Europe/Ljubljana +1044 -0
- data/data/Europe/London +1167 -0
- data/data/Europe/Luxembourg +1108 -0
- data/data/Europe/Madrid +1089 -0
- data/data/Europe/Malta +1094 -0
- data/data/Europe/Mariehamn +1043 -0
- data/data/Europe/Minsk +70 -0
- data/data/Europe/Monaco +1110 -0
- data/data/Europe/Moscow +79 -0
- data/data/Europe/Nicosia +1052 -0
- data/data/Europe/Oslo +1066 -0
- data/data/Europe/Paris +1109 -0
- data/data/Europe/Podgorica +1044 -0
- data/data/Europe/Prague +1067 -0
- data/data/Europe/Riga +1051 -0
- data/data/Europe/Rome +1095 -0
- data/data/Europe/Samara +66 -0
- data/data/Europe/San_Marino +1095 -0
- data/data/Europe/Sarajevo +1044 -0
- data/data/Europe/Simferopol +76 -0
- data/data/Europe/Skopje +1044 -0
- data/data/Europe/Sofia +1051 -0
- data/data/Europe/Stockholm +1045 -0
- data/data/Europe/Tallinn +1048 -0
- data/data/Europe/Tirane +1058 -0
- data/data/Europe/Tiraspol +1064 -0
- data/data/Europe/Uzhgorod +1045 -0
- data/data/Europe/Vaduz +1045 -0
- data/data/Europe/Vatican +1095 -0
- data/data/Europe/Vienna +1064 -0
- data/data/Europe/Vilnius +1045 -0
- data/data/Europe/Volgograd +66 -0
- data/data/Europe/Warsaw +1090 -0
- data/data/Europe/Zagreb +1044 -0
- data/data/Europe/Zaporozhye +1047 -0
- data/data/Europe/Zurich +1045 -0
- data/data/Factory +31 -0
- data/data/GB +1167 -0
- data/data/GB-Eire +1167 -0
- data/data/GMT +1 -0
- data/data/GMT+0 +1 -0
- data/data/GMT-0 +1 -0
- data/data/GMT0 +1 -0
- data/data/Greenwich +1 -0
- data/data/HST +1 -0
- data/data/Hongkong +70 -0
- data/data/Iceland +66 -0
- data/data/Indian/Antananarivo +4 -0
- data/data/Indian/Chagos +3 -0
- data/data/Indian/Christmas +2 -0
- data/data/Indian/Cocos +2 -0
- data/data/Indian/Comoro +2 -0
- data/data/Indian/Kerguelen +2 -0
- data/data/Indian/Mahe +2 -0
- data/data/Indian/Maldives +3 -0
- data/data/Indian/Mauritius +6 -0
- data/data/Indian/Mayotte +2 -0
- data/data/Indian/Reunion +2 -0
- data/data/Iran +101 -0
- data/data/Israel +1068 -0
- data/data/Jamaica +23 -0
- data/data/Japan +12 -0
- data/data/Kwajalein +4 -0
- data/data/Libya +33 -0
- data/data/MET +1061 -0
- data/data/MST +1 -0
- data/data/MST7MDT +1074 -0
- data/data/Mexico/BajaNorte +1074 -0
- data/data/Mexico/BajaSur +1018 -0
- data/data/Mexico/General +1023 -0
- data/data/NZ +1081 -0
- data/data/NZ-CHAT +1054 -0
- data/data/Navajo +1083 -0
- data/data/PRC +18 -0
- data/data/PST8PDT +1074 -0
- data/data/Pacific/Apia +984 -0
- data/data/Pacific/Auckland +1081 -0
- data/data/Pacific/Bougainville +6 -0
- data/data/Pacific/Chatham +1054 -0
- data/data/Pacific/Chuuk +2 -0
- data/data/Pacific/Easter +1069 -0
- data/data/Pacific/Efate +22 -0
- data/data/Pacific/Enderbury +4 -0
- data/data/Pacific/Fakaofo +3 -0
- data/data/Pacific/Fiji +987 -0
- data/data/Pacific/Funafuti +2 -0
- data/data/Pacific/Galapagos +3 -0
- data/data/Pacific/Gambier +2 -0
- data/data/Pacific/Guadalcanal +2 -0
- data/data/Pacific/Guam +4 -0
- data/data/Pacific/Honolulu +7 -0
- data/data/Pacific/Johnston +7 -0
- data/data/Pacific/Kiritimati +4 -0
- data/data/Pacific/Kosrae +4 -0
- data/data/Pacific/Kwajalein +4 -0
- data/data/Pacific/Majuro +3 -0
- data/data/Pacific/Marquesas +2 -0
- data/data/Pacific/Midway +6 -0
- data/data/Pacific/Nauru +5 -0
- data/data/Pacific/Niue +4 -0
- data/data/Pacific/Norfolk +3 -0
- data/data/Pacific/Noumea +8 -0
- data/data/Pacific/Pago_Pago +5 -0
- data/data/Pacific/Palau +2 -0
- data/data/Pacific/Pitcairn +3 -0
- data/data/Pacific/Pohnpei +2 -0
- data/data/Pacific/Ponape +2 -0
- data/data/Pacific/Port_Moresby +3 -0
- data/data/Pacific/Rarotonga +28 -0
- data/data/Pacific/Saipan +5 -0
- data/data/Pacific/Samoa +5 -0
- data/data/Pacific/Tahiti +2 -0
- data/data/Pacific/Tarawa +2 -0
- data/data/Pacific/Tongatapu +9 -0
- data/data/Pacific/Truk +2 -0
- data/data/Pacific/Wake +2 -0
- data/data/Pacific/Wallis +2 -0
- data/data/Pacific/Yap +2 -0
- data/data/Poland +1090 -0
- data/data/Portugal +1146 -0
- data/data/ROC +42 -0
- data/data/ROK +16 -0
- data/data/Singapore +10 -0
- data/data/Turkey +1096 -0
- data/data/UCT +1 -0
- data/data/US/Alaska +1070 -0
- data/data/US/Aleutian +1070 -0
- data/data/US/Arizona +12 -0
- data/data/US/Central +1161 -0
- data/data/US/East-Indiana +1024 -0
- data/data/US/Eastern +1161 -0
- data/data/US/Hawaii +7 -0
- data/data/US/Indiana-Starke +1079 -0
- data/data/US/Michigan +1064 -0
- data/data/US/Mountain +1083 -0
- data/data/US/Pacific +1111 -0
- data/data/US/Pacific-New +1111 -0
- data/data/US/Samoa +5 -0
- data/data/UTC +1 -0
- data/data/Universal +1 -0
- data/data/W-SU +79 -0
- data/data/WET +1047 -0
- data/data/Zulu +1 -0
- data/lib/timezone/parser.rb +66 -22
- data/lib/timezone/version.rb +1 -1
- data/lib/timezone/zone.rb +38 -44
- data/test/timezone_test.rb +9 -13
- metadata +607 -503
- checksums.yaml +0 -7
- data/data/Africa/Abidjan.json +0 -21
- data/data/Africa/Accra.json +0 -147
- data/data/Africa/Addis_Ababa.json +0 -30
- data/data/Africa/Algiers.json +0 -318
- data/data/Africa/Asmara.json +0 -39
- data/data/Africa/Bamako.json +0 -39
- data/data/Africa/Bangui.json +0 -21
- data/data/Africa/Banjul.json +0 -39
- data/data/Africa/Bissau.json +0 -30
- data/data/Africa/Blantyre.json +0 -21
- data/data/Africa/Brazzaville.json +0 -21
- data/data/Africa/Bujumbura.json +0 -21
- data/data/Africa/Cairo.json +0 -1119
- data/data/Africa/Casablanca.json +0 -255
- data/data/Africa/Ceuta.json +0 -1380
- data/data/Africa/Conakry.json +0 -39
- data/data/Africa/Dakar.json +0 -30
- data/data/Africa/Dar_es_Salaam.json +0 -39
- data/data/Africa/Djibouti.json +0 -21
- data/data/Africa/Douala.json +0 -21
- data/data/Africa/El_Aaiun.json +0 -30
- data/data/Africa/Freetown.json +0 -291
- data/data/Africa/Gaborone.json +0 -39
- data/data/Africa/Harare.json +0 -21
- data/data/Africa/Johannesburg.json +0 -66
- data/data/Africa/Juba.json +0 -318
- data/data/Africa/Kampala.json +0 -48
- data/data/Africa/Khartoum.json +0 -318
- data/data/Africa/Kigali.json +0 -21
- data/data/Africa/Kinshasa.json +0 -21
- data/data/Africa/Lagos.json +0 -21
- data/data/Africa/Libreville.json +0 -21
- data/data/Africa/Lome.json +0 -21
- data/data/Africa/Luanda.json +0 -30
- data/data/Africa/Lubumbashi.json +0 -21
- data/data/Africa/Lusaka.json +0 -21
- data/data/Africa/Malabo.json +0 -30
- data/data/Africa/Maputo.json +0 -21
- data/data/Africa/Maseru.json +0 -39
- data/data/Africa/Mbabane.json +0 -21
- data/data/Africa/Mogadishu.json +0 -39
- data/data/Africa/Monrovia.json +0 -39
- data/data/Africa/Nairobi.json +0 -48
- data/data/Africa/Ndjamena.json +0 -39
- data/data/Africa/Niamey.json +0 -39
- data/data/Africa/Nouakchott.json +0 -39
- data/data/Africa/Ouagadougou.json +0 -21
- data/data/Africa/Porto-Novo.json +0 -30
- data/data/Africa/Sao_Tome.json +0 -30
- data/data/Africa/Tripoli.json +0 -273
- data/data/Africa/Tunis.json +0 -318
- data/data/Africa/Windhoek.json +0 -1083
- data/data/America/Adak.json +0 -1569
- data/data/America/Anchorage.json +0 -1551
- data/data/America/Anguilla.json +0 -21
- data/data/America/Antigua.json +0 -30
- data/data/America/Araguaina.json +0 -453
- data/data/America/Argentina/Buenos_Aires.json +0 -543
- data/data/America/Argentina/Catamarca.json +0 -525
- data/data/America/Argentina/Cordoba.json +0 -525
- data/data/America/Argentina/Jujuy.json +0 -525
- data/data/America/Argentina/La_Rioja.json +0 -552
- data/data/America/Argentina/Mendoza.json +0 -534
- data/data/America/Argentina/Rio_Gallegos.json +0 -543
- data/data/America/Argentina/Salta.json +0 -507
- data/data/America/Argentina/San_Juan.json +0 -552
- data/data/America/Argentina/San_Luis.json +0 -543
- data/data/America/Argentina/Tucuman.json +0 -543
- data/data/America/Argentina/Ushuaia.json +0 -543
- data/data/America/Aruba.json +0 -30
- data/data/America/Asuncion.json +0 -1407
- data/data/America/Atikokan.json +0 -75
- data/data/America/Bahia.json +0 -543
- data/data/America/Bahia_Banderas.json +0 -1083
- data/data/America/Barbados.json +0 -102
- data/data/America/Belem.json +0 -273
- data/data/America/Belize.json +0 -507
- data/data/America/Blanc-Sablon.json +0 -66
- data/data/America/Boa_Vista.json +0 -309
- data/data/America/Bogota.json +0 -48
- data/data/America/Boise.json +0 -1605
- data/data/America/Cambridge_Bay.json +0 -1344
- data/data/America/Campo_Grande.json +0 -1398
- data/data/America/Cancun.json +0 -1029
- data/data/America/Caracas.json +0 -48
- data/data/America/Cayenne.json +0 -30
- data/data/America/Cayman.json +0 -30
- data/data/America/Chicago.json +0 -2406
- data/data/America/Chihuahua.json +0 -1065
- data/data/America/Coral_Harbour.json +0 -75
- data/data/America/Costa_Rica.json +0 -102
- data/data/America/Creston.json +0 -39
- data/data/America/Cuiaba.json +0 -1380
- data/data/America/Curacao.json +0 -30
- data/data/America/Danmarkshavn.json +0 -300
- data/data/America/Dawson.json +0 -1389
- data/data/America/Dawson_Creek.json +0 -543
- data/data/America/Denver.json +0 -1704
- data/data/America/Detroit.json +0 -1524
- data/data/America/Dominica.json +0 -21
- data/data/America/Edmonton.json +0 -1641
- data/data/America/Eirunepe.json +0 -300
- data/data/America/El_Salvador.json +0 -57
- data/data/America/Fortaleza.json +0 -363
- data/data/America/Glace_Bay.json +0 -1533
- data/data/America/Godthab.json +0 -1281
- data/data/America/Goose_Bay.json +0 -2118
- data/data/America/Grand_Turk.json +0 -1326
- data/data/America/Grenada.json +0 -21
- data/data/America/Guadeloupe.json +0 -21
- data/data/America/Guatemala.json +0 -93
- data/data/America/Guayaquil.json +0 -30
- data/data/America/Guyana.json +0 -48
- data/data/America/Halifax.json +0 -2334
- data/data/America/Havana.json +0 -1650
- data/data/America/Hermosillo.json +0 -147
- data/data/America/Indiana/Indianapolis.json +0 -1182
- data/data/America/Indiana/Knox.json +0 -1641
- data/data/America/Indiana/Marengo.json +0 -1200
- data/data/America/Indiana/Petersburg.json +0 -1299
- data/data/America/Indiana/Tell_City.json +0 -1173
- data/data/America/Indiana/Vevay.json +0 -993
- data/data/America/Indiana/Vincennes.json +0 -1173
- data/data/America/Indiana/Winamac.json +0 -1227
- data/data/America/Inuvik.json +0 -1326
- data/data/America/Iqaluit.json +0 -1335
- data/data/America/Jamaica.json +0 -210
- data/data/America/Juneau.json +0 -1560
- data/data/America/Kentucky/Louisville.json +0 -1884
- data/data/America/Kentucky/Monticello.json +0 -1587
- data/data/America/Kralendijk.json +0 -30
- data/data/America/La_Paz.json +0 -39
- data/data/America/Lima.json +0 -156
- data/data/America/Los_Angeles.json +0 -1938
- data/data/America/Lower_Princes.json +0 -30
- data/data/America/Maceio.json +0 -381
- data/data/America/Managua.json +0 -156
- data/data/America/Manaus.json +0 -291
- data/data/America/Marigot.json +0 -21
- data/data/America/Martinique.json +0 -48
- data/data/America/Matamoros.json +0 -1056
- data/data/America/Mazatlan.json +0 -1083
- data/data/America/Menominee.json +0 -1542
- data/data/America/Merida.json +0 -1029
- data/data/America/Metlakatla.json +0 -345
- data/data/America/Mexico_City.json +0 -1137
- data/data/America/Miquelon.json +0 -1191
- data/data/America/Moncton.json +0 -2163
- data/data/America/Monterrey.json +0 -1047
- data/data/America/Montevideo.json +0 -1434
- data/data/America/Montreal.json +0 -2379
- data/data/America/Montserrat.json +0 -21
- data/data/America/Nassau.json +0 -1596
- data/data/America/New_York.json +0 -2406
- data/data/America/Nipigon.json +0 -1461
- data/data/America/Nome.json +0 -1569
- data/data/America/Noronha.json +0 -363
- data/data/America/North_Dakota/Beulah.json +0 -1596
- data/data/America/North_Dakota/Center.json +0 -1596
- data/data/America/North_Dakota/New_Salem.json +0 -1596
- data/data/America/Ojinaga.json +0 -1074
- data/data/America/Panama.json +0 -30
- data/data/America/Pangnirtung.json +0 -1344
- data/data/America/Paramaribo.json +0 -57
- data/data/America/Phoenix.json +0 -120
- data/data/America/Port-au-Prince.json +0 -336
- data/data/America/Port_of_Spain.json +0 -21
- data/data/America/Porto_Velho.json +0 -273
- data/data/America/Puerto_Rico.json +0 -48
- data/data/America/Rainy_River.json +0 -1461
- data/data/America/Rankin_Inlet.json +0 -1317
- data/data/America/Recife.json +0 -363
- data/data/America/Regina.json +0 -489
- data/data/America/Resolute.json +0 -1317
- data/data/America/Rio_Branco.json +0 -282
- data/data/America/Santa_Isabel.json +0 -1632
- data/data/America/Santarem.json +0 -282
- data/data/America/Santiago.json +0 -1668
- data/data/America/Santo_Domingo.json +0 -165
- data/data/America/Sao_Paulo.json +0 -1398
- data/data/America/Scoresbysund.json +0 -1281
- data/data/America/Shiprock.json +0 -1704
- data/data/America/Sitka.json +0 -1560
- data/data/America/St_Barthelemy.json +0 -21
- data/data/America/St_Johns.json +0 -2433
- data/data/America/St_Kitts.json +0 -21
- data/data/America/St_Lucia.json +0 -30
- data/data/America/St_Thomas.json +0 -21
- data/data/America/St_Vincent.json +0 -30
- data/data/America/Swift_Current.json +0 -228
- data/data/America/Tegucigalpa.json +0 -75
- data/data/America/Thule.json +0 -1101
- data/data/America/Thunder_Bay.json +0 -1524
- data/data/America/Tijuana.json +0 -1641
- data/data/America/Toronto.json +0 -2370
- data/data/America/Tortola.json +0 -21
- data/data/America/Vancouver.json +0 -1965
- data/data/America/Whitehorse.json +0 -1389
- data/data/America/Winnipeg.json +0 -1929
- data/data/America/Yakutat.json +0 -1560
- data/data/America/Yellowknife.json +0 -1353
- data/data/Antarctica/Casey.json +0 -39
- data/data/Antarctica/Davis.json +0 -57
- data/data/Antarctica/DumontDUrville.json +0 -39
- data/data/Antarctica/Macquarie.json +0 -867
- data/data/Antarctica/Mawson.json +0 -30
- data/data/Antarctica/McMurdo.json +0 -1398
- data/data/Antarctica/Palmer.json +0 -1362
- data/data/Antarctica/Rothera.json +0 -21
- data/data/Antarctica/South_Pole.json +0 -1398
- data/data/Antarctica/Syowa.json +0 -21
- data/data/Antarctica/Vostok.json +0 -21
- data/data/Arctic/Longyearbyen.json +0 -1497
- data/data/Asia/Aden.json +0 -21
- data/data/Asia/Almaty.json +0 -444
- data/data/Asia/Amman.json +0 -1317
- data/data/Asia/Anadyr.json +0 -588
- data/data/Asia/Aqtau.json +0 -453
- data/data/Asia/Aqtobe.json +0 -444
- data/data/Asia/Ashgabat.json +0 -246
- data/data/Asia/Baghdad.json +0 -498
- data/data/Asia/Bahrain.json +0 -30
- data/data/Asia/Baku.json +0 -1245
- data/data/Asia/Bangkok.json +0 -30
- data/data/Asia/Beirut.json +0 -1515
- data/data/Asia/Bishkek.json +0 -480
- data/data/Asia/Brunei.json +0 -30
- data/data/Asia/Choibalsan.json +0 -426
- data/data/Asia/Chongqing.json +0 -138
- data/data/Asia/Colombo.json +0 -84
- data/data/Asia/Damascus.json +0 -1605
- data/data/Asia/Dhaka.json +0 -84
- data/data/Asia/Dili.json +0 -57
- data/data/Asia/Dubai.json +0 -21
- data/data/Asia/Dushanbe.json +0 -228
- data/data/Asia/Gaza.json +0 -1542
- data/data/Asia/Harbin.json +0 -165
- data/data/Asia/Hebron.json +0 -876
- data/data/Asia/Ho_Chi_Minh.json +0 -48
- data/data/Asia/Hong_Kong.json +0 -633
- data/data/Asia/Hovd.json +0 -426
- data/data/Asia/Irkutsk.json +0 -597
- data/data/Asia/Istanbul.json +0 -1794
- data/data/Asia/Jakarta.json +0 -84
- data/data/Asia/Jayapura.json +0 -39
- data/data/Asia/Jerusalem.json +0 -1299
- data/data/Asia/Kabul.json +0 -30
- data/data/Asia/Kamchatka.json +0 -588
- data/data/Asia/Karachi.json +0 -111
- data/data/Asia/Kashgar.json +0 -147
- data/data/Asia/Kathmandu.json +0 -30
- data/data/Asia/Kolkata.json +0 -57
- data/data/Asia/Krasnoyarsk.json +0 -588
- data/data/Asia/Kuala_Lumpur.json +0 -84
- data/data/Asia/Kuching.json +0 -183
- data/data/Asia/Kuwait.json +0 -21
- data/data/Asia/Macau.json +0 -390
- data/data/Asia/Magadan.json +0 -588
- data/data/Asia/Makassar.json +0 -48
- data/data/Asia/Manila.json +0 -102
- data/data/Asia/Muscat.json +0 -21
- data/data/Asia/Nicosia.json +0 -1389
- data/data/Asia/Novokuznetsk.json +0 -588
- data/data/Asia/Novosibirsk.json +0 -588
- data/data/Asia/Omsk.json +0 -588
- data/data/Asia/Oral.json +0 -453
- data/data/Asia/Phnom_Penh.json +0 -48
- data/data/Asia/Pontianak.json +0 -84
- data/data/Asia/Pyongyang.json +0 -66
- data/data/Asia/Qatar.json +0 -30
- data/data/Asia/Qyzylorda.json +0 -453
- data/data/Asia/Rangoon.json +0 -48
- data/data/Asia/Riyadh.json +0 -21
- data/data/Asia/Sakhalin.json +0 -597
- data/data/Asia/Samarkand.json +0 -219
- data/data/Asia/Seoul.json +0 -129
- data/data/Asia/Shanghai.json +0 -174
- data/data/Asia/Singapore.json +0 -93
- data/data/Asia/Taipei.json +0 -381
- data/data/Asia/Tashkent.json +0 -228
- data/data/Asia/Tbilisi.json +0 -462
- data/data/Asia/Tehran.json +0 -912
- data/data/Asia/Thimphu.json +0 -30
- data/data/Asia/Tokyo.json +0 -111
- data/data/Asia/Ulaanbaatar.json +0 -426
- data/data/Asia/Urumqi.json +0 -138
- data/data/Asia/Vientiane.json +0 -48
- data/data/Asia/Vladivostok.json +0 -588
- data/data/Asia/Yakutsk.json +0 -588
- data/data/Asia/Yekaterinburg.json +0 -588
- data/data/Asia/Yerevan.json +0 -1281
- data/data/Atlantic/Azores.json +0 -2235
- data/data/Atlantic/Bermuda.json +0 -1416
- data/data/Atlantic/Canary.json +0 -1308
- data/data/Atlantic/Cape_Verde.json +0 -48
- data/data/Atlantic/Faroe.json +0 -1281
- data/data/Atlantic/Madeira.json +0 -2235
- data/data/Atlantic/Reykjavik.json +0 -597
- data/data/Atlantic/South_Georgia.json +0 -21
- data/data/Atlantic/St_Helena.json +0 -30
- data/data/Atlantic/Stanley.json +0 -1344
- data/data/Australia/Adelaide.json +0 -1533
- data/data/Australia/Brisbane.json +0 -165
- data/data/Australia/Broken_Hill.json +0 -1542
- data/data/Australia/Currie.json +0 -1524
- data/data/Australia/Darwin.json +0 -102
- data/data/Australia/Eucla.json +0 -183
- data/data/Australia/Hobart.json +0 -1596
- data/data/Australia/Lindeman.json +0 -201
- data/data/Australia/Lord_Howe.json +0 -1281
- data/data/Australia/Melbourne.json +0 -1524
- data/data/Australia/Perth.json +0 -183
- data/data/Australia/Sydney.json +0 -1524
- data/data/CET.json +0 -1470
- data/data/CST6CDT.json +0 -1587
- data/data/EET.json +0 -1344
- data/data/EST.json +0 -12
- data/data/EST5EDT.json +0 -1587
- data/data/Etc/GMT+0.json +0 -12
- data/data/Etc/GMT+1.json +0 -12
- data/data/Etc/GMT+10.json +0 -12
- data/data/Etc/GMT+11.json +0 -12
- data/data/Etc/GMT+12.json +0 -12
- data/data/Etc/GMT+2.json +0 -12
- data/data/Etc/GMT+3.json +0 -12
- data/data/Etc/GMT+4.json +0 -12
- data/data/Etc/GMT+5.json +0 -12
- data/data/Etc/GMT+6.json +0 -12
- data/data/Etc/GMT+7.json +0 -12
- data/data/Etc/GMT+8.json +0 -12
- data/data/Etc/GMT+9.json +0 -12
- data/data/Etc/GMT-0.json +0 -12
- data/data/Etc/GMT-1.json +0 -12
- data/data/Etc/GMT-10.json +0 -12
- data/data/Etc/GMT-11.json +0 -12
- data/data/Etc/GMT-12.json +0 -12
- data/data/Etc/GMT-13.json +0 -12
- data/data/Etc/GMT-14.json +0 -12
- data/data/Etc/GMT-2.json +0 -12
- data/data/Etc/GMT-3.json +0 -12
- data/data/Etc/GMT-4.json +0 -12
- data/data/Etc/GMT-5.json +0 -12
- data/data/Etc/GMT-6.json +0 -12
- data/data/Etc/GMT-7.json +0 -12
- data/data/Etc/GMT-8.json +0 -12
- data/data/Etc/GMT-9.json +0 -12
- data/data/Etc/GMT.json +0 -12
- data/data/Etc/GMT0.json +0 -12
- data/data/Etc/Greenwich.json +0 -12
- data/data/Etc/UCT.json +0 -12
- data/data/Etc/UTC.json +0 -12
- data/data/Etc/Universal.json +0 -12
- data/data/Etc/Zulu.json +0 -12
- data/data/Europe/Amsterdam.json +0 -1857
- data/data/Europe/Andorra.json +0 -1200
- data/data/Europe/Athens.json +0 -1479
- data/data/Europe/Belgrade.json +0 -1299
- data/data/Europe/Berlin.json +0 -1533
- data/data/Europe/Bratislava.json +0 -1524
- data/data/Europe/Brussels.json +0 -1884
- data/data/Europe/Bucharest.json +0 -1452
- data/data/Europe/Budapest.json +0 -1605
- data/data/Europe/Chisinau.json +0 -1488
- data/data/Europe/Copenhagen.json +0 -1452
- data/data/Europe/Dublin.json +0 -2271
- data/data/Europe/Gibraltar.json +0 -2037
- data/data/Europe/Guernsey.json +0 -2424
- data/data/Europe/Helsinki.json +0 -1308
- data/data/Europe/Isle_of_Man.json +0 -2424
- data/data/Europe/Istanbul.json +0 -1794
- data/data/Europe/Jersey.json +0 -2424
- data/data/Europe/Kaliningrad.json +0 -714
- data/data/Europe/Kiev.json +0 -1308
- data/data/Europe/Lisbon.json +0 -2235
- data/data/Europe/Ljubljana.json +0 -1299
- data/data/Europe/London.json +0 -2424
- data/data/Europe/Luxembourg.json +0 -1884
- data/data/Europe/Madrid.json +0 -1722
- data/data/Europe/Malta.json +0 -1749
- data/data/Europe/Mariehamn.json +0 -1308
- data/data/Europe/Minsk.json +0 -1326
- data/data/Europe/Monaco.json +0 -1911
- data/data/Europe/Moscow.json +0 -705
- data/data/Europe/Nicosia.json +0 -1389
- data/data/Europe/Oslo.json +0 -1497
- data/data/Europe/Paris.json +0 -1893
- data/data/Europe/Podgorica.json +0 -1299
- data/data/Europe/Prague.json +0 -1524
- data/data/Europe/Riga.json +0 -1371
- data/data/Europe/Rome.json +0 -1776
- data/data/Europe/Samara.json +0 -597
- data/data/Europe/San_Marino.json +0 -1776
- data/data/Europe/Sarajevo.json +0 -1299
- data/data/Europe/Simferopol.json +0 -1308
- data/data/Europe/Skopje.json +0 -1299
- data/data/Europe/Sofia.json +0 -1362
- data/data/Europe/Stockholm.json +0 -1326
- data/data/Europe/Tallinn.json +0 -1344
- data/data/Europe/Tirane.json +0 -1425
- data/data/Europe/Uzhgorod.json +0 -1326
- data/data/Europe/Vaduz.json +0 -1281
- data/data/Europe/Vatican.json +0 -1776
- data/data/Europe/Vienna.json +0 -1479
- data/data/Europe/Vilnius.json +0 -1317
- data/data/Europe/Volgograd.json +0 -579
- data/data/Europe/Warsaw.json +0 -1713
- data/data/Europe/Zagreb.json +0 -1299
- data/data/Europe/Zaporozhye.json +0 -1335
- data/data/Europe/Zurich.json +0 -1326
- data/data/GMT.json +0 -12
- data/data/HST.json +0 -12
- data/data/Indian/Antananarivo.json +0 -39
- data/data/Indian/Chagos.json +0 -30
- data/data/Indian/Christmas.json +0 -21
- data/data/Indian/Cocos.json +0 -21
- data/data/Indian/Comoro.json +0 -21
- data/data/Indian/Kerguelen.json +0 -21
- data/data/Indian/Mahe.json +0 -21
- data/data/Indian/Maldives.json +0 -30
- data/data/Indian/Mauritius.json +0 -57
- data/data/Indian/Mayotte.json +0 -21
- data/data/Indian/Reunion.json +0 -21
- data/data/MET.json +0 -1470
- data/data/MST.json +0 -12
- data/data/MST7MDT.json +0 -1587
- data/data/PST8PDT.json +0 -1587
- data/data/Pacific/Apia.json +0 -84
- data/data/Pacific/Auckland.json +0 -1650
- data/data/Pacific/Chatham.json +0 -1398
- data/data/Pacific/Chuuk.json +0 -21
- data/data/Pacific/Easter.json +0 -1533
- data/data/Pacific/Efate.json +0 -201
- data/data/Pacific/Enderbury.json +0 -39
- data/data/Pacific/Fakaofo.json +0 -21
- data/data/Pacific/Fiji.json +0 -93
- data/data/Pacific/Funafuti.json +0 -21
- data/data/Pacific/Galapagos.json +0 -30
- data/data/Pacific/Gambier.json +0 -21
- data/data/Pacific/Guadalcanal.json +0 -21
- data/data/Pacific/Guam.json +0 -39
- data/data/Pacific/Honolulu.json +0 -66
- data/data/Pacific/Johnston.json +0 -12
- data/data/Pacific/Kiritimati.json +0 -39
- data/data/Pacific/Kosrae.json +0 -39
- data/data/Pacific/Kwajalein.json +0 -39
- data/data/Pacific/Majuro.json +0 -30
- data/data/Pacific/Marquesas.json +0 -21
- data/data/Pacific/Midway.json +0 -57
- data/data/Pacific/Nauru.json +0 -48
- data/data/Pacific/Niue.json +0 -39
- data/data/Pacific/Norfolk.json +0 -30
- data/data/Pacific/Noumea.json +0 -75
- data/data/Pacific/Pago_Pago.json +0 -57
- data/data/Pacific/Palau.json +0 -21
- data/data/Pacific/Pitcairn.json +0 -30
- data/data/Pacific/Pohnpei.json +0 -21
- data/data/Pacific/Ponape.json +0 -21
- data/data/Pacific/Port_Moresby.json +0 -30
- data/data/Pacific/Rarotonga.json +0 -246
- data/data/Pacific/Saipan.json +0 -48
- data/data/Pacific/Tahiti.json +0 -21
- data/data/Pacific/Tarawa.json +0 -21
- data/data/Pacific/Tongatapu.json +0 -84
- data/data/Pacific/Truk.json +0 -21
- data/data/Pacific/Wake.json +0 -21
- data/data/Pacific/Wallis.json +0 -21
- data/data/WET.json +0 -1344
- data/lib/timezone/parser/data.rb +0 -103
- data/lib/timezone/parser/link.rb +0 -10
- data/lib/timezone/parser/rule.rb +0 -55
- data/lib/timezone/parser/rule/entry.rb +0 -74
- data/lib/timezone/parser/rule/on.rb +0 -30
- data/lib/timezone/parser/rule/on_rules.rb +0 -30
- data/lib/timezone/parser/zone.rb +0 -37
- data/lib/timezone/parser/zone/data_generator.rb +0 -77
- data/lib/timezone/parser/zone/entry.rb +0 -39
- data/lib/timezone/parser/zone/until.rb +0 -28
- data/test/timezone/parser/rule/on_rules_test.rb +0 -20
- data/test/timezone/parser/rule_test.rb +0 -52
- data/test/timezone/parser/zone/data_generator_test.rb +0 -101
- data/test/timezone/parser/zone/until_test.rb +0 -13
- data/test/timezone/parser/zone_test.rb +0 -42
- data/test/timezone/parser_test.rb +0 -12
data/lib/timezone/parser/data.rb
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
require 'json'
|
2
|
-
|
3
|
-
module Timezone
|
4
|
-
module Parser
|
5
|
-
def self.data(*args) ; Data.new(*args) ; end
|
6
|
-
|
7
|
-
def self.from_zone(previous, zone)
|
8
|
-
data(previous && previous.end_date, zone.end_date, zone)
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.extension(previous, zone)
|
12
|
-
data(previous.end_date, nil, zone)
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.from_rule(zone, rule)
|
16
|
-
data(rule.start_date, nil, zone, rule)
|
17
|
-
end
|
18
|
-
|
19
|
-
START_DATE = -377705116800000 # The very last date '9999-12-31T23:59:59Z'.
|
20
|
-
END_DATE = 253402300799000 # The very first date '-9999-01-01T00:00:00Z'.
|
21
|
-
|
22
|
-
class NilRule
|
23
|
-
def letter ; '-' ; end
|
24
|
-
def offset ; 0 ; end
|
25
|
-
def utime? ; false ; end
|
26
|
-
def dst? ; false ; end
|
27
|
-
end
|
28
|
-
|
29
|
-
# The resulting JSON data structure for a timezone file.
|
30
|
-
class Data
|
31
|
-
attr_accessor :start_date, :dst, :offset, :name
|
32
|
-
|
33
|
-
def initialize(start_date, end_date, zone, rule = NilRule.new)
|
34
|
-
@dst = rule.dst?
|
35
|
-
@offset = parse_offset(zone, rule)
|
36
|
-
@name = parse_name(zone.format, rule.letter)
|
37
|
-
@utime = rule.utime?
|
38
|
-
@start_date = parse_start_date(start_date)
|
39
|
-
self.end_date = end_date
|
40
|
-
end
|
41
|
-
|
42
|
-
def end_date=(date)
|
43
|
-
if date.nil? || @utime
|
44
|
-
@end_date = date
|
45
|
-
else
|
46
|
-
@end_date = date - (@offset * 1_000)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def end_date
|
51
|
-
@end_date || END_DATE
|
52
|
-
end
|
53
|
-
|
54
|
-
def has_end_date?
|
55
|
-
!!@end_date
|
56
|
-
end
|
57
|
-
|
58
|
-
def to_hash
|
59
|
-
{
|
60
|
-
'_from' => _from,
|
61
|
-
'from' => @start_date,
|
62
|
-
'_to' => _to,
|
63
|
-
'to' => end_date,
|
64
|
-
'dst' => @dst,
|
65
|
-
'offset' => @offset,
|
66
|
-
'name' => @name
|
67
|
-
}
|
68
|
-
end
|
69
|
-
|
70
|
-
def to_json
|
71
|
-
to_hash.to_json
|
72
|
-
end
|
73
|
-
|
74
|
-
private
|
75
|
-
|
76
|
-
def parse_offset(zone, rule)
|
77
|
-
zone.offset + rule.offset
|
78
|
-
end
|
79
|
-
|
80
|
-
def parse_start_date(date)
|
81
|
-
date || START_DATE
|
82
|
-
end
|
83
|
-
|
84
|
-
# Fills in a zone entry format with a rule entry letter.
|
85
|
-
#
|
86
|
-
# Examples:
|
87
|
-
#
|
88
|
-
# format "EE%sT" w/ letter "S" results in EEST
|
89
|
-
# format "EE%sT" w/ letter "-" results in EET
|
90
|
-
def parse_name(format, letter)
|
91
|
-
format.sub(/%s/, letter == '-' ? '' : letter)
|
92
|
-
end
|
93
|
-
|
94
|
-
def _from ; ftime(@start_date) ; end
|
95
|
-
def _to ; ftime(end_date) ; end
|
96
|
-
|
97
|
-
# Converts a millisecond time into the proper JSON output string.
|
98
|
-
def ftime(time)
|
99
|
-
Time.at(time / 1_000).utc.strftime('%Y-%m-%dT%H:%M:%SZ')
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
data/lib/timezone/parser/link.rb
DELETED
data/lib/timezone/parser/rule.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
require 'time'
|
2
|
-
|
3
|
-
module Timezone
|
4
|
-
module Parser
|
5
|
-
# Given a rule from a TZDATA file, generate the appropriate rule objects.
|
6
|
-
def self.rule(line) ; Rule.generate(line) ; end
|
7
|
-
|
8
|
-
# Get a list of all processed rules.
|
9
|
-
def self.rules ; Rule.rules ; end
|
10
|
-
|
11
|
-
# Select rules based on a name and end date.
|
12
|
-
def self.select_rules(name, end_date)
|
13
|
-
rules.fetch(name){ [] }
|
14
|
-
.select{ |rule| end_date.nil? || rule.start_date < end_date }
|
15
|
-
end
|
16
|
-
|
17
|
-
module Rule
|
18
|
-
# Format: Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
|
19
|
-
# Example: Rule EUAsia 1981 max - Mar lastSun 1:00u 1:00 S
|
20
|
-
RULE = /Rule\s+([\w-]+?)\s+(\d+?)\s+([^\s]+?)\s+([^\s]+?)\s+(\s*\w+?)\s+([\d\w\=\>\<]+?)\s+([\d:us]+?)\s+([\d:]+?)\s+([\w-]+)/
|
21
|
-
|
22
|
-
END_YEAR = 2050 # The actual value for the "to" field when set to "max".
|
23
|
-
|
24
|
-
# Rules are stored in a hash of arrays that are referenced by rule name.
|
25
|
-
@@rules = Hash.new{ |h, k| h[k] = [] }
|
26
|
-
def self.rules ; @@rules ; end
|
27
|
-
|
28
|
-
class << self
|
29
|
-
def generate(line)
|
30
|
-
name, from, to, *values = *line.match(RULE)[1..-1]
|
31
|
-
|
32
|
-
years(from, to).each do |year|
|
33
|
-
@@rules[name] << Entry.new(name, year, *values)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
private
|
38
|
-
|
39
|
-
def years(from, to)
|
40
|
-
(from.to_i..parse_end_year(from, to))
|
41
|
-
end
|
42
|
-
|
43
|
-
def parse_end_year(from, to)
|
44
|
-
case to
|
45
|
-
when 'only' then from.to_i
|
46
|
-
when 'max' then END_YEAR
|
47
|
-
else to.to_i
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
require 'timezone/parser/rule/entry'
|
@@ -1,74 +0,0 @@
|
|
1
|
-
require 'timezone/parser/rule'
|
2
|
-
require 'timezone/parser/rule/on_rules'
|
3
|
-
|
4
|
-
module Timezone::Parser::Rule
|
5
|
-
class Entry
|
6
|
-
attr_accessor :name, :offset
|
7
|
-
attr_reader :letter, :start_date
|
8
|
-
|
9
|
-
UTIME = /^.*u$/
|
10
|
-
STIME = /^.*s$/
|
11
|
-
START_DATE = '%Y %b %d %H:%M %Z'
|
12
|
-
|
13
|
-
def initialize(name, year, type, month, day, time, save, letter)
|
14
|
-
@name, @offset, @letter = name, offset, letter
|
15
|
-
|
16
|
-
@month, @day = parse_month_day(day, month, year)
|
17
|
-
@utime = parse_utime(time)
|
18
|
-
@stime = parse_stime(time)
|
19
|
-
@time = parse_time(time)
|
20
|
-
@day = parse_day(@day)
|
21
|
-
@offset = parse_offset(save)
|
22
|
-
@start_date = parse_start_date(year, @month, @day, @time)
|
23
|
-
@dst = parse_dst(save)
|
24
|
-
end
|
25
|
-
|
26
|
-
def utime? ; @utime ; end
|
27
|
-
def stime? ; @stime ; end
|
28
|
-
def dst? ; @dst ; end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
# Day should be zero padded.
|
33
|
-
def parse_day(day)
|
34
|
-
'%.2d' % day.to_i
|
35
|
-
end
|
36
|
-
|
37
|
-
# Time should be zero padded and not include 'u' or 's'.
|
38
|
-
def parse_time(time)
|
39
|
-
time = "0#{time}" if time.match(/^\d:\d\d/)
|
40
|
-
time = time.gsub(/u/, '') if utime?
|
41
|
-
time = time.gsub(/s/, '') if stime?
|
42
|
-
|
43
|
-
time
|
44
|
-
end
|
45
|
-
|
46
|
-
def parse_utime(time)
|
47
|
-
time =~ UTIME
|
48
|
-
end
|
49
|
-
|
50
|
-
def parse_stime(time)
|
51
|
-
time =~ STIME
|
52
|
-
end
|
53
|
-
|
54
|
-
# Offset is calculated in seconds.
|
55
|
-
def parse_offset(save)
|
56
|
-
offset = Time.parse(save == '0' ? '0:00' : save)
|
57
|
-
offset.hour*60*60 + offset.min*60 + offset.sec
|
58
|
-
end
|
59
|
-
|
60
|
-
# Check special rules that modify the month and day depending on the year.
|
61
|
-
def parse_month_day(day, month, year)
|
62
|
-
On.parse(day, month, year)
|
63
|
-
end
|
64
|
-
|
65
|
-
# The UTC time on which the rule beings to apply in milliseconds.
|
66
|
-
def parse_start_date(y, m, d, t)
|
67
|
-
Time.strptime([y, m, d, t, 'UTC'].join(' '), START_DATE).to_i * 1_000
|
68
|
-
end
|
69
|
-
|
70
|
-
def parse_dst(save)
|
71
|
-
save != '0'
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'timezone/parser/rule'
|
2
|
-
require 'time'
|
3
|
-
|
4
|
-
module Timezone::Parser::Rule
|
5
|
-
def self.on(*args) ; On.new(*args) ; end
|
6
|
-
|
7
|
-
class On
|
8
|
-
@@rules = []
|
9
|
-
|
10
|
-
# Given a Rule `on` field, parse the appropriate day and month.
|
11
|
-
def self.parse(day, month, year)
|
12
|
-
@@rules.each do |rule|
|
13
|
-
if match = day.match(rule.expression)
|
14
|
-
return rule.block.call(match, day, month, year)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
[month, day]
|
19
|
-
end
|
20
|
-
|
21
|
-
attr_reader :expression, :block
|
22
|
-
|
23
|
-
def initialize(name, expression, block)
|
24
|
-
@name = name
|
25
|
-
@expression = expression
|
26
|
-
@block = block
|
27
|
-
@@rules << self
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'timezone/parser/rule/on'
|
2
|
-
|
3
|
-
# A simple DSL for definining rules to parse the "ON" field in TZData rules.
|
4
|
-
module Timezone::Parser::Rule
|
5
|
-
on 'lastDAY', /^last(\w+)$/, lambda{ |match, _, month, year|
|
6
|
-
31.downto(1).each do |day|
|
7
|
-
begin
|
8
|
-
date = Time.strptime("#{year} #{month} #{day}", '%Y %b %d')
|
9
|
-
|
10
|
-
if date.strftime('%a') == match[1]
|
11
|
-
return [month, date.strftime('%d')]
|
12
|
-
end
|
13
|
-
rescue
|
14
|
-
next
|
15
|
-
end
|
16
|
-
end
|
17
|
-
}
|
18
|
-
|
19
|
-
on 'DAY>=NUM', /^(\w+)>=(\d+)$/, lambda{ |match, _, month, year|
|
20
|
-
start = Time.strptime("#{year} #{month} #{match[2]}", '%Y %b %d')
|
21
|
-
|
22
|
-
(1..8).to_a.each do |plus|
|
23
|
-
date = start + (plus * 24 * 60 * 60)
|
24
|
-
|
25
|
-
if date.strftime('%a') == match[1]
|
26
|
-
return [date.strftime('%b'), date.strftime('%d')]
|
27
|
-
end
|
28
|
-
end
|
29
|
-
}
|
30
|
-
end
|
data/lib/timezone/parser/zone.rb
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
require 'time'
|
2
|
-
|
3
|
-
module Timezone
|
4
|
-
module Parser
|
5
|
-
# Given a line from the TZDATA file, generate an Entry object.
|
6
|
-
def self.zone(line) ; Zone.parse(line) ; end
|
7
|
-
|
8
|
-
# Get a list of all processed entries.
|
9
|
-
def self.zones ; Zone.zones ; end
|
10
|
-
|
11
|
-
module Zone
|
12
|
-
# Each entry follows this format.
|
13
|
-
# GMT-OFFSET RULES FORMAT [UNTIL]
|
14
|
-
ENTRY = /(\d+?:\d+?:*\d*?)\s+(.+?)\s([^\s]+)\s*(.*?)$/
|
15
|
-
|
16
|
-
# The header entry also includes the Zone name.
|
17
|
-
# Zone ZONE-NAME GMT-OFFSET RULES FORMAT [UNTIL]
|
18
|
-
HEADER = /Zone\s+(.+?)\s+/
|
19
|
-
|
20
|
-
# Zones are stored in a hash of arrays that are referenced by name.
|
21
|
-
@@zones = Hash.new{ |h, k| h[k] = [] }
|
22
|
-
def self.zones ; @@zones ; end
|
23
|
-
|
24
|
-
# The name of the current zone is parsed from the header zone entry.
|
25
|
-
# It can then be accessed using `Timezone::Parser::Zone.last`.
|
26
|
-
class << self ; attr_accessor :last ; end
|
27
|
-
|
28
|
-
def self.parse(line)
|
29
|
-
self.last = $~[1] if line.match(HEADER)
|
30
|
-
|
31
|
-
@@zones[last] << Entry.new(last, *line.match(ENTRY)[1..-1])
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
require 'timezone/parser/zone/entry'
|
@@ -1,77 +0,0 @@
|
|
1
|
-
require 'timezone/parser/zone'
|
2
|
-
require 'timezone/parser/data'
|
3
|
-
require 'time'
|
4
|
-
|
5
|
-
module Timezone::Parser::Zone
|
6
|
-
def self.generate(zones) ; DataGenerator.generate(zones) ; end
|
7
|
-
|
8
|
-
def self.data ; DataGenerator.data ; end
|
9
|
-
|
10
|
-
# TODO [panthomakos] This needs refactoring.
|
11
|
-
module DataGenerator
|
12
|
-
@@data = Hash.new{ |h,k| h[k] = [] }
|
13
|
-
def self.data ; @@data ; end
|
14
|
-
|
15
|
-
class << self
|
16
|
-
def generate(zone)
|
17
|
-
zones = Timezone::Parser.zones[zone].to_a
|
18
|
-
|
19
|
-
return if zones.empty?
|
20
|
-
|
21
|
-
@@data[zone] = zones
|
22
|
-
.each_cons(2)
|
23
|
-
.inject(update(zones.first)) do |set, (previous, zone)|
|
24
|
-
update(zone, set, previous && previous.end_date)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
def update(zone, set = [], limit = nil)
|
31
|
-
additions = [first_addition(zone, set)]
|
32
|
-
|
33
|
-
zone.rules.each do |rule|
|
34
|
-
data = additions.last
|
35
|
-
|
36
|
-
if rule_applies?(rule, data, limit)
|
37
|
-
Timezone::Parser.from_rule(zone, rule).tap do |insert|
|
38
|
-
data.end_date = insert.start_date
|
39
|
-
# We do this because the start date is always based on the
|
40
|
-
# previous entry end date calculation.
|
41
|
-
insert.start_date = data.end_date
|
42
|
-
|
43
|
-
additions << insert
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
set + additions
|
49
|
-
end
|
50
|
-
|
51
|
-
# The rule has to fall within the time range (start_date..limit).
|
52
|
-
def rule_applies?(rule, data, limit)
|
53
|
-
rule.start_date > data.start_date &&
|
54
|
-
(!limit || rule.start_date > limit)
|
55
|
-
end
|
56
|
-
|
57
|
-
def first_addition(zone, set)
|
58
|
-
previous = set.last
|
59
|
-
|
60
|
-
if zone.rules.empty?
|
61
|
-
# If there are no rules, generate a new entry for this time period.
|
62
|
-
Timezone::Parser.from_zone(previous, zone)
|
63
|
-
else
|
64
|
-
if previous && previous.has_end_date?
|
65
|
-
# If the last entry had a hard cutoff end date, create a new
|
66
|
-
# addition that picks up from where the last entry left off.
|
67
|
-
Timezone::Parser.extension(previous, zone)
|
68
|
-
else
|
69
|
-
# If the last entry did not have a hard cutoff end date, pop it off
|
70
|
-
# the stack for use in these calculations.
|
71
|
-
set.pop
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'timezone/parser/zone'
|
2
|
-
require 'timezone/parser/zone/until'
|
3
|
-
require 'timezone/parser/rule'
|
4
|
-
require 'time'
|
5
|
-
|
6
|
-
# The data object that represents a zone entry in the TZData file.
|
7
|
-
# Tests for this class are contained in the parser/zone_test.rb file.
|
8
|
-
module Timezone::Parser::Zone
|
9
|
-
class Entry
|
10
|
-
attr_reader :name, :format, :offset, :end_date, :rules
|
11
|
-
|
12
|
-
def initialize(name, offset, rule, format, end_date)
|
13
|
-
@name, @format = name, format
|
14
|
-
|
15
|
-
@end_date = parse_end_date(end_date)
|
16
|
-
@offset = parse_offset(offset)
|
17
|
-
@rules = parse_rules(rule, @end_date)
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
# Only select rules that fall within the timeline of this entry.
|
23
|
-
# Then apply the rule to this entry so that the offset is accurate.
|
24
|
-
def parse_rules(name, end_date)
|
25
|
-
Timezone::Parser.select_rules(name, end_date).sort_by(&:start_date)
|
26
|
-
end
|
27
|
-
|
28
|
-
# Use the UNTIL parser to decode the end date.
|
29
|
-
def parse_end_date(end_date)
|
30
|
-
Until.parse(end_date)
|
31
|
-
end
|
32
|
-
|
33
|
-
# The offset is calculated in minutes.
|
34
|
-
def parse_offset(offset)
|
35
|
-
offset = Time.parse(offset)
|
36
|
-
offset.hour*60*60 + offset.min*60 + offset.sec
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|