diff --git a/tztable.h b/tztable.h index b1dc9c8..4f65dfb 100644 --- a/tztable.h +++ b/tztable.h @@ -1,431 +1,599 @@ //This file was generated by the zonetabconversion.py script static const char* olsonTimezones[] = { - "Europe/Andorra", - "Asia/Dubai", - "Asia/Kabul", - "America/Antigua", - "America/Anguilla", - "Europe/Tirane", - "Asia/Yerevan", + "Africa/Abidjan", + "Africa/Accra", + "Africa/Addis_Ababa", + "Africa/Algiers", + "Africa/Asmara", + "Africa/Asmera", + "Africa/Bamako", + "Africa/Bangui", + "Africa/Banjul", + "Africa/Bissau", + "Africa/Blantyre", + "Africa/Brazzaville", + "Africa/Bujumbura", + "Africa/Cairo", + "Africa/Casablanca", + "Africa/Ceuta", + "Africa/Conakry", + "Africa/Dakar", + "Africa/Dar_es_Salaam", + "Africa/Djibouti", + "Africa/Douala", + "Africa/El_Aaiun", + "Africa/Freetown", + "Africa/Gaborone", + "Africa/Harare", + "Africa/Johannesburg", + "Africa/Juba", + "Africa/Kampala", + "Africa/Khartoum", + "Africa/Kigali", + "Africa/Kinshasa", + "Africa/Lagos", + "Africa/Libreville", + "Africa/Lome", "Africa/Luanda", - "Antarctica/McMurdo", - "Antarctica/Casey", - "Antarctica/Davis", - "Antarctica/DumontDUrville", - "Antarctica/Mawson", - "Antarctica/Palmer", - "Antarctica/Rothera", - "Antarctica/Syowa", - "Antarctica/Troll", - "Antarctica/Vostok", - "America/Argentina/Buenos_Aires", - "America/Argentina/Cordoba", - "America/Argentina/Salta", - "America/Argentina/Jujuy", - "America/Argentina/Tucuman", - "America/Argentina/Catamarca", - "America/Argentina/La_Rioja", - "America/Argentina/San_Juan", - "America/Argentina/Mendoza", - "America/Argentina/San_Luis", - "America/Argentina/Rio_Gallegos", - "America/Argentina/Ushuaia", - "Pacific/Pago_Pago", - "Europe/Vienna", - "Australia/Lord_Howe", - "Antarctica/Macquarie", - "Australia/Hobart", - "Australia/Currie", - "Australia/Melbourne", - "Australia/Sydney", - "Australia/Broken_Hill", - "Australia/Brisbane", - "Australia/Lindeman", - "Australia/Adelaide", - "Australia/Darwin", - "Australia/Perth", - "Australia/Eucla", - "America/Aruba", - "Europe/Mariehamn", - "Asia/Baku", - "Europe/Sarajevo", - "America/Barbados", - "Asia/Dhaka", - "Europe/Brussels", + "Africa/Lubumbashi", + "Africa/Lusaka", + "Africa/Malabo", + "Africa/Maputo", + "Africa/Maseru", + "Africa/Mbabane", + "Africa/Mogadishu", + "Africa/Monrovia", + "Africa/Nairobi", + "Africa/Ndjamena", + "Africa/Niamey", + "Africa/Nouakchott", "Africa/Ouagadougou", - "Europe/Sofia", - "Asia/Bahrain", - "Africa/Bujumbura", "Africa/Porto-Novo", - "America/St_Barthelemy", - "Atlantic/Bermuda", - "Asia/Brunei", - "America/La_Paz", - "America/Kralendijk", - "America/Noronha", - "America/Belem", - "America/Fortaleza", - "America/Recife", + "Africa/Sao_Tome", + "Africa/Timbuktu", + "Africa/Tripoli", + "Africa/Tunis", + "Africa/Windhoek", + "America/Adak", + "America/Anchorage", + "America/Anguilla", + "America/Antigua", "America/Araguaina", - "America/Maceio", + "America/Aruba", + "America/Asuncion", + "America/Atikokan", + "America/Atka", "America/Bahia", - "America/Sao_Paulo", + "America/Bahia_Banderas", + "America/Barbados", + "America/Belem", + "America/Belize", + "America/Blanc-Sablon", + "America/Boa_Vista", + "America/Bogota", + "America/Boise", + "America/Buenos_Aires", + "America/Cambridge_Bay", "America/Campo_Grande", + "America/Cancun", + "America/Caracas", + "America/Catamarca", + "America/Cayenne", + "America/Cayman", + "America/Chicago", + "America/Chihuahua", + "America/Coral_Harbour", + "America/Cordoba", + "America/Costa_Rica", + "America/Creston", "America/Cuiaba", - "America/Santarem", - "America/Porto_Velho", - "America/Boa_Vista", - "America/Manaus", + "America/Curacao", + "America/Danmarkshavn", + "America/Dawson", + "America/Dawson_Creek", + "America/Denver", + "America/Detroit", + "America/Dominica", + "America/Edmonton", "America/Eirunepe", - "America/Rio_Branco", - "America/Nassau", - "Asia/Thimphu", - "Africa/Gaborone", - "Europe/Minsk", - "America/Belize", - "America/St_Johns", - "America/Halifax", + "America/El_Salvador", + "America/Ensenada", + "America/Fort_Nelson", + "America/Fort_Wayne", + "America/Fortaleza", "America/Glace_Bay", - "America/Moncton", + "America/Godthab", "America/Goose_Bay", - "America/Blanc-Sablon", - "America/Toronto", - "America/Nipigon", - "America/Thunder_Bay", + "America/Grand_Turk", + "America/Grenada", + "America/Guadeloupe", + "America/Guatemala", + "America/Guayaquil", + "America/Guyana", + "America/Halifax", + "America/Havana", + "America/Hermosillo", + "America/Indianapolis", + "America/Inuvik", "America/Iqaluit", + "America/Jamaica", + "America/Jujuy", + "America/Juneau", + "America/Knox_IN", + "America/Kralendijk", + "America/La_Paz", + "America/Lima", + "America/Los_Angeles", + "America/Louisville", + "America/Lower_Princes", + "America/Maceio", + "America/Managua", + "America/Manaus", + "America/Marigot", + "America/Martinique", + "America/Matamoros", + "America/Mazatlan", + "America/Mendoza", + "America/Menominee", + "America/Merida", + "America/Metlakatla", + "America/Mexico_City", + "America/Miquelon", + "America/Moncton", + "America/Monterrey", + "America/Montevideo", + "America/Montreal", + "America/Montserrat", + "America/Nassau", + "America/New_York", + "America/Nipigon", + "America/Nome", + "America/Noronha", + "America/Ojinaga", + "America/Panama", "America/Pangnirtung", - "America/Atikokan", - "America/Winnipeg", + "America/Paramaribo", + "America/Phoenix", + "America/Port-au-Prince", + "America/Port_of_Spain", + "America/Porto_Acre", + "America/Porto_Velho", + "America/Puerto_Rico", + "America/Punta_Arenas", "America/Rainy_River", - "America/Resolute", "America/Rankin_Inlet", + "America/Recife", "America/Regina", + "America/Resolute", + "America/Rio_Branco", + "America/Rosario", + "America/Santa_Isabel", + "America/Santarem", + "America/Santiago", + "America/Santo_Domingo", + "America/Sao_Paulo", + "America/Scoresbysund", + "America/Shiprock", + "America/Sitka", + "America/St_Barthelemy", + "America/St_Johns", + "America/St_Kitts", + "America/St_Lucia", + "America/St_Thomas", + "America/St_Vincent", "America/Swift_Current", - "America/Edmonton", - "America/Cambridge_Bay", - "America/Yellowknife", - "America/Inuvik", - "America/Creston", - "America/Dawson_Creek", - "America/Fort_Nelson", + "America/Tegucigalpa", + "America/Thule", + "America/Thunder_Bay", + "America/Tijuana", + "America/Toronto", + "America/Tortola", "America/Vancouver", + "America/Virgin", "America/Whitehorse", - "America/Dawson", - "Indian/Cocos", - "Africa/Kinshasa", - "Africa/Lubumbashi", - "Africa/Bangui", - "Africa/Brazzaville", - "Europe/Zurich", - "Africa/Abidjan", - "Pacific/Rarotonga", - "America/Santiago", - "America/Punta_Arenas", - "Pacific/Easter", - "Africa/Douala", - "Asia/Shanghai", - "Asia/Urumqi", - "America/Bogota", - "America/Costa_Rica", - "America/Havana", - "Atlantic/Cape_Verde", - "America/Curacao", - "Indian/Christmas", - "Asia/Nicosia", - "Asia/Famagusta", - "Europe/Prague", - "Europe/Berlin", - "Europe/Busingen", - "Africa/Djibouti", - "Europe/Copenhagen", - "America/Dominica", - "America/Santo_Domingo", - "Africa/Algiers", - "America/Guayaquil", - "Pacific/Galapagos", - "Europe/Tallinn", - "Africa/Cairo", - "Africa/El_Aaiun", - "Africa/Asmara", - "Europe/Madrid", - "Africa/Ceuta", - "Atlantic/Canary", - "Africa/Addis_Ababa", - "Europe/Helsinki", - "Pacific/Fiji", - "Atlantic/Stanley", - "Pacific/Chuuk", - "Pacific/Pohnpei", - "Pacific/Kosrae", - "Atlantic/Faroe", - "Europe/Paris", - "Africa/Libreville", - "Europe/London", - "America/Grenada", - "Asia/Tbilisi", - "America/Cayenne", - "Europe/Guernsey", - "Africa/Accra", - "Europe/Gibraltar", - "America/Godthab", - "America/Danmarkshavn", - "America/Scoresbysund", - "America/Thule", - "Africa/Banjul", - "Africa/Conakry", - "America/Guadeloupe", - "Africa/Malabo", - "Europe/Athens", - "Atlantic/South_Georgia", - "America/Guatemala", - "Pacific/Guam", - "Africa/Bissau", - "America/Guyana", + "America/Winnipeg", + "America/Yakutat", + "America/Yellowknife", + "Antarctica/Casey", + "Antarctica/Davis", + "Antarctica/DumontDUrville", + "Antarctica/Macquarie", + "Antarctica/Mawson", + "Antarctica/McMurdo", + "Antarctica/Palmer", + "Antarctica/Rothera", + "Antarctica/South_Pole", + "Antarctica/Syowa", + "Antarctica/Troll", + "Antarctica/Vostok", + "Arctic/Longyearbyen", + "Argentina/Buenos_Aires", + "Argentina/Catamarca", + "Argentina/ComodRivadavia", + "Argentina/Cordoba", + "Argentina/Jujuy", + "Argentina/La_Rioja", + "Argentina/Mendoza", + "Argentina/Rio_Gallegos", + "Argentina/Salta", + "Argentina/San_Juan", + "Argentina/San_Luis", + "Argentina/Tucuman", + "Argentina/Ushuaia", + "Asia/Aden", + "Asia/Almaty", + "Asia/Amman", + "Asia/Anadyr", + "Asia/Aqtau", + "Asia/Aqtobe", + "Asia/Ashgabat", + "Asia/Ashkhabad", + "Asia/Atyrau", + "Asia/Baghdad", + "Asia/Bahrain", + "Asia/Baku", + "Asia/Bangkok", + "Asia/Barnaul", + "Asia/Beirut", + "Asia/Bishkek", + "Asia/Brunei", + "Asia/Calcutta", + "Asia/Chita", + "Asia/Choibalsan", + "Asia/Chongqing", + "Asia/Chungking", + "Asia/Colombo", + "Asia/Dacca", + "Asia/Damascus", + "Asia/Dhaka", + "Asia/Dili", + "Asia/Dubai", + "Asia/Dushanbe", + "Asia/Famagusta", + "Asia/Gaza", + "Asia/Harbin", + "Asia/Hebron", + "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", - "America/Tegucigalpa", - "Europe/Zagreb", - "America/Port-au-Prince", - "Europe/Budapest", + "Asia/Hovd", + "Asia/Irkutsk", + "Asia/Istanbul", "Asia/Jakarta", - "Asia/Pontianak", - "Asia/Makassar", "Asia/Jayapura", - "Europe/Dublin", "Asia/Jerusalem", - "Europe/Isle_of_Man", + "Asia/Kabul", + "Asia/Kamchatka", + "Asia/Karachi", + "Asia/Kashgar", + "Asia/Kathmandu", + "Asia/Katmandu", + "Asia/Khandyga", "Asia/Kolkata", - "Indian/Chagos", - "Asia/Baghdad", - "Asia/Tehran", - "Atlantic/Reykjavik", - "Europe/Rome", - "Europe/Jersey", - "America/Jamaica", - "Asia/Amman", - "Asia/Tokyo", - "Africa/Nairobi", - "Asia/Bishkek", + "Asia/Krasnoyarsk", + "Asia/Kuala_Lumpur", + "Asia/Kuching", + "Asia/Kuwait", + "Asia/Macao", + "Asia/Macau", + "Asia/Magadan", + "Asia/Makassar", + "Asia/Manila", + "Asia/Muscat", + "Asia/Nicosia", + "Asia/Novokuznetsk", + "Asia/Novosibirsk", + "Asia/Omsk", + "Asia/Oral", "Asia/Phnom_Penh", - "Pacific/Tarawa", - "Pacific/Enderbury", - "Pacific/Kiritimati", - "Indian/Comoro", - "America/St_Kitts", + "Asia/Pontianak", "Asia/Pyongyang", - "Asia/Seoul", - "Asia/Kuwait", - "America/Cayman", - "Asia/Almaty", - "Asia/Qyzylorda", + "Asia/Qatar", "Asia/Qostanay", - "Asia/Aqtobe", - "Asia/Aqtau", - "Asia/Atyrau", - "Asia/Oral", + "Asia/Qyzylorda", + "Asia/Rangoon", + "Asia/Riyadh", + "Asia/Saigon", + "Asia/Sakhalin", + "Asia/Samarkand", + "Asia/Seoul", + "Asia/Shanghai", + "Asia/Singapore", + "Asia/Srednekolymsk", + "Asia/Taipei", + "Asia/Tashkent", + "Asia/Tbilisi", + "Asia/Tehran", + "Asia/Tel_Aviv", + "Asia/Thimbu", + "Asia/Thimphu", + "Asia/Tokyo", + "Asia/Tomsk", + "Asia/Ujung_Pandang", + "Asia/Ulaanbaatar", + "Asia/Ulan_Bator", + "Asia/Urumqi", + "Asia/Ust-Nera", "Asia/Vientiane", - "Asia/Beirut", - "America/St_Lucia", - "Europe/Vaduz", - "Asia/Colombo", - "Africa/Monrovia", - "Africa/Maseru", - "Europe/Vilnius", - "Europe/Luxembourg", - "Europe/Riga", - "Africa/Tripoli", - "Africa/Casablanca", - "Europe/Monaco", - "Europe/Chisinau", - "Europe/Podgorica", - "America/Marigot", - "Indian/Antananarivo", - "Pacific/Majuro", - "Pacific/Kwajalein", - "Europe/Skopje", - "Africa/Bamako", + "Asia/Vladivostok", + "Asia/Yakutsk", "Asia/Yangon", - "Asia/Ulaanbaatar", - "Asia/Hovd", - "Asia/Choibalsan", - "Asia/Macau", - "Pacific/Saipan", - "America/Martinique", - "Africa/Nouakchott", - "America/Montserrat", - "Europe/Malta", - "Indian/Mauritius", - "Indian/Maldives", - "Africa/Blantyre", - "America/Mexico_City", - "America/Cancun", - "America/Merida", - "America/Monterrey", - "America/Matamoros", - "America/Mazatlan", - "America/Chihuahua", - "America/Ojinaga", - "America/Hermosillo", - "America/Tijuana", - "America/Bahia_Banderas", - "Asia/Kuala_Lumpur", - "Asia/Kuching", - "Africa/Maputo", - "Africa/Windhoek", - "Pacific/Noumea", - "Africa/Niamey", - "Pacific/Norfolk", - "Africa/Lagos", - "America/Managua", - "Europe/Amsterdam", - "Europe/Oslo", - "Asia/Kathmandu", - "Pacific/Nauru", - "Pacific/Niue", - "Pacific/Auckland", - "Pacific/Chatham", - "Asia/Muscat", - "America/Panama", - "America/Lima", - "Pacific/Tahiti", - "Pacific/Marquesas", - "Pacific/Gambier", - "Pacific/Port_Moresby", - "Pacific/Bougainville", - "Asia/Manila", - "Asia/Karachi", - "Europe/Warsaw", - "America/Miquelon", - "Pacific/Pitcairn", - "America/Puerto_Rico", - "Asia/Gaza", - "Asia/Hebron", - "Europe/Lisbon", - "Atlantic/Madeira", + "Asia/Yekaterinburg", + "Asia/Yerevan", "Atlantic/Azores", - "Pacific/Palau", - "America/Asuncion", - "Asia/Qatar", - "Indian/Reunion", - "Europe/Bucharest", + "Atlantic/Bermuda", + "Atlantic/Canary", + "Atlantic/Cape_Verde", + "Atlantic/Faeroe", + "Atlantic/Faroe", + "Atlantic/Jan_Mayen", + "Atlantic/Madeira", + "Atlantic/Reykjavik", + "Atlantic/South_Georgia", + "Atlantic/St_Helena", + "Atlantic/Stanley", + "Australia/ACT", + "Australia/Adelaide", + "Australia/Brisbane", + "Australia/Broken_Hill", + "Australia/Canberra", + "Australia/Currie", + "Australia/Darwin", + "Australia/Eucla", + "Australia/Hobart", + "Australia/LHI", + "Australia/Lindeman", + "Australia/Lord_Howe", + "Australia/Melbourne", + "Australia/NSW", + "Australia/North", + "Australia/Perth", + "Australia/Queensland", + "Australia/South", + "Australia/Sydney", + "Australia/Tasmania", + "Australia/Victoria", + "Australia/West", + "Australia/Yancowinna", + "Brazil/Acre", + "Brazil/DeNoronha", + "Brazil/East", + "Brazil/West", + "CET", + "CST6CDT", + "Canada/Atlantic", + "Canada/Central", + "Canada/Eastern", + "Canada/Mountain", + "Canada/Newfoundland", + "Canada/Pacific", + "Canada/Saskatchewan", + "Canada/Yukon", + "Chile/Continental", + "Chile/EasterIsland", + "Cuba", + "EET", + "EST", + "EST5EDT", + "Egypt", + "Eire", + "Etc/GMT", + "Etc/GMT+0", + "Etc/GMT+1", + "Etc/GMT+10", + "Etc/GMT+11", + "Etc/GMT+12", + "Etc/GMT+2", + "Etc/GMT+3", + "Etc/GMT+4", + "Etc/GMT+5", + "Etc/GMT+6", + "Etc/GMT+7", + "Etc/GMT+8", + "Etc/GMT+9", + "Etc/GMT-0", + "Etc/GMT-1", + "Etc/GMT-10", + "Etc/GMT-11", + "Etc/GMT-12", + "Etc/GMT-13", + "Etc/GMT-14", + "Etc/GMT-2", + "Etc/GMT-3", + "Etc/GMT-4", + "Etc/GMT-5", + "Etc/GMT-6", + "Etc/GMT-7", + "Etc/GMT-8", + "Etc/GMT-9", + "Etc/GMT0", + "Etc/Greenwich", + "Etc/UCT", + "Etc/UTC", + "Etc/Universal", + "Etc/Zulu", + "Europe/Amsterdam", + "Europe/Andorra", + "Europe/Astrakhan", + "Europe/Athens", + "Europe/Belfast", "Europe/Belgrade", + "Europe/Berlin", + "Europe/Bratislava", + "Europe/Brussels", + "Europe/Bucharest", + "Europe/Budapest", + "Europe/Busingen", + "Europe/Chisinau", + "Europe/Copenhagen", + "Europe/Dublin", + "Europe/Gibraltar", + "Europe/Guernsey", + "Europe/Helsinki", + "Europe/Isle_of_Man", + "Europe/Istanbul", + "Europe/Jersey", "Europe/Kaliningrad", - "Europe/Moscow", - "Europe/Simferopol", + "Europe/Kiev", "Europe/Kirov", - "Europe/Astrakhan", - "Europe/Volgograd", - "Europe/Saratov", - "Europe/Ulyanovsk", - "Europe/Samara", - "Asia/Yekaterinburg", - "Asia/Omsk", - "Asia/Novosibirsk", - "Asia/Barnaul", - "Asia/Tomsk", - "Asia/Novokuznetsk", - "Asia/Krasnoyarsk", - "Asia/Irkutsk", - "Asia/Chita", - "Asia/Yakutsk", - "Asia/Khandyga", - "Asia/Vladivostok", - "Asia/Ust-Nera", - "Asia/Magadan", - "Asia/Sakhalin", - "Asia/Srednekolymsk", - "Asia/Kamchatka", - "Asia/Anadyr", - "Africa/Kigali", - "Asia/Riyadh", - "Pacific/Guadalcanal", - "Indian/Mahe", - "Africa/Khartoum", - "Europe/Stockholm", - "Asia/Singapore", - "Atlantic/St_Helena", + "Europe/Lisbon", "Europe/Ljubljana", - "Arctic/Longyearbyen", - "Europe/Bratislava", - "Africa/Freetown", + "Europe/London", + "Europe/Luxembourg", + "Europe/Madrid", + "Europe/Malta", + "Europe/Mariehamn", + "Europe/Minsk", + "Europe/Monaco", + "Europe/Moscow", + "Europe/Nicosia", + "Europe/Oslo", + "Europe/Paris", + "Europe/Podgorica", + "Europe/Prague", + "Europe/Riga", + "Europe/Rome", + "Europe/Samara", "Europe/San_Marino", - "Africa/Dakar", - "Africa/Mogadishu", - "America/Paramaribo", - "Africa/Juba", - "Africa/Sao_Tome", - "America/El_Salvador", - "America/Lower_Princes", - "Asia/Damascus", - "Africa/Mbabane", - "America/Grand_Turk", - "Africa/Ndjamena", + "Europe/Sarajevo", + "Europe/Saratov", + "Europe/Simferopol", + "Europe/Skopje", + "Europe/Sofia", + "Europe/Stockholm", + "Europe/Tallinn", + "Europe/Tirane", + "Europe/Tiraspol", + "Europe/Ulyanovsk", + "Europe/Uzhgorod", + "Europe/Vaduz", + "Europe/Vatican", + "Europe/Vienna", + "Europe/Vilnius", + "Europe/Volgograd", + "Europe/Warsaw", + "Europe/Zagreb", + "Europe/Zaporozhye", + "Europe/Zurich", + "GB", + "GB-Eire", + "GMT", + "GMT+0", + "GMT-0", + "GMT0", + "Greenwich", + "HST", + "Hongkong", + "Iceland", + "Indian/Antananarivo", + "Indian/Chagos", + "Indian/Christmas", + "Indian/Cocos", + "Indian/Comoro", "Indian/Kerguelen", - "Africa/Lome", - "Asia/Bangkok", - "Asia/Dushanbe", + "Indian/Mahe", + "Indian/Maldives", + "Indian/Mauritius", + "Indian/Mayotte", + "Indian/Reunion", + "Indiana/Indianapolis", + "Indiana/Knox", + "Indiana/Marengo", + "Indiana/Petersburg", + "Indiana/Tell_City", + "Indiana/Vevay", + "Indiana/Vincennes", + "Indiana/Winamac", + "Iran", + "Israel", + "Jamaica", + "Japan", + "Kentucky/Louisville", + "Kentucky/Monticello", + "Kwajalein", + "Libya", + "MET", + "MST", + "MST7MDT", + "Mexico/BajaNorte", + "Mexico/BajaSur", + "Mexico/General", + "NZ", + "NZ-CHAT", + "Navajo", + "North_Dakota/Beulah", + "North_Dakota/Center", + "North_Dakota/New_Salem", + "PRC", + "PST8PDT", + "Pacific/Apia", + "Pacific/Auckland", + "Pacific/Bougainville", + "Pacific/Chatham", + "Pacific/Chuuk", + "Pacific/Easter", + "Pacific/Efate", + "Pacific/Enderbury", "Pacific/Fakaofo", - "Asia/Dili", - "Asia/Ashgabat", - "Africa/Tunis", - "Pacific/Tongatapu", - "Europe/Istanbul", - "America/Port_of_Spain", + "Pacific/Fiji", "Pacific/Funafuti", - "Asia/Taipei", - "Africa/Dar_es_Salaam", - "Europe/Kiev", - "Europe/Uzhgorod", - "Europe/Zaporozhye", - "Africa/Kampala", + "Pacific/Galapagos", + "Pacific/Gambier", + "Pacific/Guadalcanal", + "Pacific/Guam", + "Pacific/Honolulu", + "Pacific/Johnston", + "Pacific/Kiritimati", + "Pacific/Kosrae", + "Pacific/Kwajalein", + "Pacific/Majuro", + "Pacific/Marquesas", "Pacific/Midway", + "Pacific/Nauru", + "Pacific/Niue", + "Pacific/Norfolk", + "Pacific/Noumea", + "Pacific/Pago_Pago", + "Pacific/Palau", + "Pacific/Pitcairn", + "Pacific/Pohnpei", + "Pacific/Ponape", + "Pacific/Port_Moresby", + "Pacific/Rarotonga", + "Pacific/Saipan", + "Pacific/Samoa", + "Pacific/Tahiti", + "Pacific/Tarawa", + "Pacific/Tongatapu", + "Pacific/Truk", "Pacific/Wake", - "America/New_York", - "America/Detroit", - "America/Kentucky/Louisville", - "America/Kentucky/Monticello", - "America/Indiana/Indianapolis", - "America/Indiana/Vincennes", - "America/Indiana/Winamac", - "America/Indiana/Marengo", - "America/Indiana/Petersburg", - "America/Indiana/Vevay", - "America/Chicago", - "America/Indiana/Tell_City", - "America/Indiana/Knox", - "America/Menominee", - "America/North_Dakota/Center", - "America/North_Dakota/New_Salem", - "America/North_Dakota/Beulah", - "America/Denver", - "America/Boise", - "America/Phoenix", - "America/Los_Angeles", - "America/Anchorage", - "America/Juneau", - "America/Sitka", - "America/Metlakatla", - "America/Yakutat", - "America/Nome", - "America/Adak", - "Pacific/Honolulu", - "America/Montevideo", - "Asia/Samarkand", - "Asia/Tashkent", - "Europe/Vatican", - "America/St_Vincent", - "America/Caracas", - "America/Tortola", - "America/St_Thomas", - "Asia/Ho_Chi_Minh", - "Pacific/Efate", "Pacific/Wallis", - "Pacific/Apia", - "Asia/Aden", - "Indian/Mayotte", - "Africa/Johannesburg", - "Africa/Lusaka", - "Africa/Harare" + "Pacific/Yap", + "Poland", + "Portugal", + "ROC", + "ROK", + "Singapore", + "Turkey", + "UCT", + "US/Alaska", + "US/Aleutian", + "US/Arizona", + "US/Central", + "US/East-Indiana", + "US/Eastern", + "US/Hawaii", + "US/Indiana-Starke", + "US/Michigan", + "US/Mountain", + "US/Pacific", + "US/Pacific-New", + "US/Samoa", + "UTC", + "Universal", + "W-SU", + "WET", + "Zulu" }; static const long unsigned int numOlsonTimezones = sizeof olsonTimezones / sizeof *olsonTimezones; diff --git a/utils/zonetabconversion.py b/utils/zonetabconversion.py index 9de8c94..682a1c4 100755 --- a/utils/zonetabconversion.py +++ b/utils/zonetabconversion.py @@ -1,29 +1,42 @@ #!/bin/python2.7 +import os + + +timezones = [] + +for root, directories, filenames in os.walk('/usr/share/zoneinfo/'): + for filename in filenames: + if filename.endswith('.tab'): + continue + + if filename.endswith('.zi'): + continue + + if filename == 'leapseconds': + continue + + if filename == 'posixrules': + continue + + if os.path.basename(root) == "posix": + continue + + if os.path.basename(root) == "right": + continue + + timezones.append(os.path.join(os.path.basename(root), filename)) + + +timezones = sorted(list(set(timezones))) + tztable = open("tztable.h", "w") -tztable.write("//This file was generated by the zonetabconversion.py script\n"); -tztable.write("static const char* olsonTimezones[] = {\n"); - -zonefile = open("/usr/share/zoneinfo/zone.tab", "r") -first = True -for line in zonefile: - # print line - if line.startswith('#'): - # print "continue" - continue - else: - tz = line.split(None)[2] - print tz - if first: - first = False - tztable.write(" \"") - else: - tztable.write(",\n \"") - tztable.write(tz) - tztable.write("\"") - -tztable.write("\n};\n") -tztable.write("\n") -tztable.write("static const long unsigned int numOlsonTimezones = sizeof olsonTimezones / sizeof *olsonTimezones;\n") +tztable.write("//This file was generated by the zonetabconversion.py script\n") +tztable.write("static const char* olsonTimezones[] = {\n") + +tztable.write(' "') +tztable.write('",\n "'.join(timezones)) +tztable.write('"\n};\n') +tztable.write('\n') +tztable.write('static const long unsigned int numOlsonTimezones = sizeof olsonTimezones / sizeof *olsonTimezones;\n') tztable.write("\n") -