Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import re
- from datetime import datetime, timezone, timedelta
- runner = input()
- stdin:str = input().upper()[1:-1]
- timezones = {
- "AD": {
- "country": "Europe",
- "zones": [
- {"zone": "Andorra", "utc": 2}
- ]
- },
- "AE": {
- "country": "Asia",
- "zones": [
- {"zone": "Dubai", "utc": 4}
- ]
- },
- "AF": {
- "country": "Asia",
- "zones": [
- {"zone": "Kabul", "utc": [4, 30]}
- ]
- },
- "AG": {
- "country": "America",
- "zones": [
- {"zone": "Antiga", "utc": -4}
- ]
- },
- "AI": {
- "country": "America",
- "zones": [
- {"zone": "Anguilla", "utc": -4}
- ]
- },
- "AL": {
- "country": "Europe",
- "zones": [
- {"zone": "Tirane", "utc": 2}
- ]
- },
- "AM": {
- "country": "Asia",
- "zones": [
- {"zone": "Yerevan", "utc": 4}
- ]
- },
- "AO": {
- "country": "Africa",
- "zones": [
- {"zone": "Luanda", "utc": 1}
- ]
- },
- "AQ": {
- "country": "Antarctica",
- "zones": [
- {"zone": "Troll", "utc": 2},
- {"zone": "Syowa", "utc": 3},
- {"zone": "Mawson", "utc": 5},
- {"zone": "Vostok", "utc": 6},
- {"zone": "Davis", "utc": 7},
- {"zone": "DumontDUrville", "utc": 10},
- {"zone": "Casey", "utc": 11},
- {"zone": "McMurdo", "utc": 13},
- {"zone": "Palmer", "utc": -3},
- {"zone": "Rothera", "utc": -3}
- ]
- },
- "AR": {
- "country": "America/Argentina",
- "zones": [
- {"zone": "Buenos_Aires", "utc": -3},
- {"zone": "Catamarca", "utc": -3},
- {"zone": "ComodRivadavia", "utc": -3},
- {"zone": "Cordoba", "utc": -3},
- {"zone": "Jujuy", "utc": -3},
- {"zone": "La_Rioja", "utc": -3},
- {"zone": "Mendoza", "utc": -3},
- {"zone": "Rio_Gallegos", "utc": -3},
- {"zone": "Salta", "utc": -3},
- {"zone": "San_Juan", "utc": -3},
- {"zone": "San_Luis", "utc": -3},
- {"zone": "Tucuman", "utc": -3},
- {"zone": "Ushuaia", "utc": -3}
- ]
- },
- "AS": {
- "country": "Pacific",
- "zones": [
- {"zone": "Pago_Pago", "utc": 0}
- ]
- },
- "AT": {
- "country": "Europe",
- "zones": [
- {"zone": "Vienna", "utc": 2}
- ]
- },
- "AU": {
- "country": "Australia/Antarctica",
- "zones": [
- {"zone": "Perth", "utc": 8},
- {"zone": "Eucla", "utc": [8, 45]},
- {"zone": "Darwin", "utc": [9, 30]},
- {"zone": "Brisbane", "utc": 10},
- {"zone": "Vladivostok", "utc": 10},
- {"zone": "Brisbane", "utc": 10},
- {"zone": "Lindeman", "utc": 10},
- {"zone": "Adelaide", "utc": [10, 30]},
- {"zone": "Broken_Hill", "utc": [10, 30]},
- {"zone": "Lord_Howe", "utc": 11},
- {"zone": "Currie", "utc": 11},
- {"zone": "Hobart", "utc": 11},
- {"zone": "Melbourne", "utc": 11},
- {"zone": "Macquarie (Antarctica)", "utc": 11},
- {"zone": "Sydney", "utc": 11},
- ]
- },
- "AW": {
- "country": "America",
- "zones": [
- {"zone": "Aruba", "utc": -4}
- ]
- },
- "AX": {
- "country": "Europe",
- "zones": [
- {"zone": "Mariehamn", "utc": 3}
- ]
- },
- "AZ": {
- "country": "Asia",
- "zones": [
- {"zone": "Baku", "utc": 4}
- ]
- },
- "BA": {
- "country": "Europe",
- "zones": [
- {"zone": "Sarajevo", "utc": 0}
- ]
- },
- "BB": {
- "country": "America",
- "zones": [
- {"zone": "Barbados", "utc": -4}
- ]
- },
- "BD": {
- "country": "Asia",
- "zones": [
- {"zone": "Dhaka", "utc": 6}
- ]
- },
- "BE": {
- "country": "Europe",
- "zones": [
- {"zone": "Brussels", "utc": 2}
- ]
- },
- "BF": {
- "country": "Africa",
- "zones": [
- {"zone": "Ouagadougou", "utc": 0}
- ]
- },
- "BG": {
- "country": "Europe",
- "zones": [
- {"zone": "Sofia", "utc": 3}
- ]
- },
- "BH": {
- "country": "Asia",
- "zones": [
- {"zone": "Bahrain", "utc": 3}
- ]
- },
- "BI": {
- "country": "Africa",
- "zones": [
- {"zone": "Bujumbura", "utc": 2}
- ]
- },
- "BJ": {
- "country": "Africa",
- "zones": [
- {"zone": "Porto-Novo", "utc": 1}
- ]
- },
- "BL": {
- "country": "America",
- "zones": [
- {"zone": "St_Barthelemy", "utc": -4}
- ]
- },
- "BM": {
- "country": "America",
- "zones": [
- {"zone": "Bermuda", "utc": -3}
- ]
- },
- "BN": {
- "country": "Asia",
- "zones": [
- {"zone": "Brunei", "utc": 8}
- ]
- },
- "BO": {
- "country": "America",
- "zones": [
- {"zone": "La_Paz", "utc": -4}
- ]
- },
- "BQ": {
- "country": "America",
- "zones": [
- {"zone": "Kralendijk", "utc": -4}
- ]
- },
- "BR": {
- "country": "America",
- "zones": [
- {"zone": "Noronha", "utc": -2},
- {"zone": "Araguaina", "utc": -3},
- {"zone": "Bahia", "utc": -3},
- {"zone": "Belem", "utc": -3},
- {"zone": "Maceio", "utc": -3},
- {"zone": "Recife", "utc": -3},
- {"zone": "Santarem", "utc": -3},
- {"zone": "Sao_Paulo", "utc": -3},
- {"zone": "Campo_Grande", "utc": -3},
- {"zone": "Boa_Vista", "utc": -4},
- {"zone": "Cuiaba", "utc": -4},
- {"zone": "Manaus", "utc": -4},
- {"zone": "Porto_Velho", "utc": -4},
- {"zone": "Eirunepe", "utc": -5},
- {"zone": "Rio_Branco", "utc": -5}
- ]
- },
- "BS": {
- "country": "America",
- "zones": [
- {"zone": "Nassau", "utc": -4}
- ]
- },
- "BT": {
- "country": "Asia",
- "zones": [
- {"zone": "Thimphu", "utc": 6}
- ]
- },
- "BW": {
- "country": "Africa",
- "zones": [
- {"zone": "Gaborone", "utc": 2}
- ]
- },
- "BY": {
- "country": "",
- "zones": [
- {"zone": "", "utc": 0}
- ]
- },
- "BZ": {
- "country": "America",
- "zones": [
- {"zone": "Belize", "utc": -6}
- ]
- },
- "CA": {
- "country": "America",
- "zones": [
- {"zone": "St_Johns", "utc": [-2, -30]},
- {"zone": "Glace_Bay", "utc": -3},
- {"zone": "Goose_Bay", "utc": -3},
- {"zone": "Halifax", "utc": -3},
- {"zone": "Moncton", "utc": -3},
- {"zone": "Blanc-Sablon and Iqaluit", "utc": -4},
- {"zone": "Nipigon", "utc": -4},
- {"zone": "Pangnirtung", "utc": -4},
- {"zone": "Thunder_Bay", "utc": -4},
- {"zone": "Toronto", "utc": -4},
- {"zone": "Atikokan", "utc": -5},
- {"zone": "Rainy_River", "utc": -5},
- {"zone": "Rankin_Inlet", "utc": -5},
- {"zone": "Resolute", "utc": -5},
- {"zone": "Winnipeg", "utc": -5},
- {"zone": "Regina", "utc": -6},
- {"zone": "Swift_Current", "utc": -6},
- {"zone": "Cambridge_Bay", "utc": -6},
- {"zone": "Edmonton", "utc": -6},
- {"zone": "Inuvik", "utc": -6},
- {"zone": "Yellowknife", "utc": -6},
- {"zone": "Creston", "utc": -7},
- {"zone": "Fort_Nelson", "utc": -7},
- {"zone": "Dawson and Dawson Creek", "utc": -7},
- {"zone": "Vancouver and Whitehorse", "utc": -7},
- ]
- },
- "CC": {
- "country": "Indian",
- "zones": [
- {"zone": "Cocos", "utc": [6, 30]}
- ]
- },
- "CD": {
- "country": "Africa",
- "zones": [
- {"zone": "Kinshasa", "utc": 1},
- {"zone": "Lubumbashi", "utc": 2}
- ]
- },
- "CF": {
- "country": "Africa",
- "zones": [
- {"zone": "Bangui", "utc": 1}
- ]
- },
- "CG": {
- "country": "Africa",
- "zones": [
- {"zone": "Brazzaville", "utc": 1}
- ]
- },
- "CH": {
- "country": "Europe",
- "zones": [
- {"zone": "Zurich", "utc": 2}
- ]
- },
- "CI": {
- "country": "Africa",
- "zones": [
- {"zone": "Abidjan", "utc": 0}
- ]
- },
- "CK": {
- "country": "Pacific",
- "zones": [
- {"zone": "Rarotonga", "utc": -10}
- ]
- },
- "CL": {
- "country": "America/Pacific",
- "zones": [
- {"zone": "Punta_Arenas (America)", "utc": -3},
- {"zone": "Santiago (America)", "utc": -3},
- {"zone": "Easter (Pacific)", "utc": -5}
- ]
- },
- "CM": {
- "country": "Africa",
- "zones": [
- {"zone": "Douala", "utc": 1}
- ]
- },
- "CN": {
- "country": "Asia",
- "zones": [
- {"zone": "Urumqui", "utc": 6},
- {"zone": "Shanghai", "utc": 8}
- ]
- },
- "CO": {
- "country": "America",
- "zones": [
- {"zone": "Bogota", "utc": -5}
- ]
- },
- "CR": {
- "country": "America",
- "zones": [
- {"zone": "Costa_Rica", "utc": -6}
- ]
- },
- "CU": {
- "country": "America",
- "zones": [
- {"zone": "Havana", "utc": -4}
- ]
- },
- "CV": {
- "country": "Atlantic",
- "zones": [
- {"zone": "Cape_Verde", "utc": -1}
- ]
- },
- "CW": {
- "country": "America",
- "zones": [
- {"zone": "Cuiaba", "utc": -3}
- ]
- },
- "CX": {
- "country": "Indian",
- "zones": [
- {"zone": "Christmas", "utc": 7}
- ]
- },
- "CY": {
- "country": "Asia",
- "zones": [
- {"zone": "Famagusta", "utc": 2},
- {"zone": "Nicosia", "utc": 3}
- ]
- },
- "CZ": {
- "country": "Europe",
- "zones": [
- {"zone": "Prague", "utc": 2}
- ]
- },
- "DE": {
- "country": "Europe",
- "zones": [
- {"zone": "Berlin", "utc": 2},
- {"zone": "Busingen", "utc": 1}
- ]
- },
- "DJ": {
- "country": "Africa",
- "zones": [
- {"zone": "Djibouti", "utc": 3}
- ]
- },
- "DK": {
- "country": "Europe",
- "zones": [
- {"zone": "Copenhagen", "utc": 2}
- ]
- },
- "DM": {
- "country": "America",
- "zones": [
- {"zone": "Dominica", "utc": -4}
- ]
- },
- "DO": {
- "country": "America",
- "zones": [
- {"zone": "Santo_Domingo", "utc": -4}
- ]
- },
- "DZ": {
- "country": "Africa",
- "zones": [
- {"zone": "Algiers", "utc": 1}
- ]
- },
- "EC": {
- "country": "America/Pacific",
- "zones": [
- {"zone": "Guayaquil (America)", "utc": -5},
- {"zone": "Galapagos (Pacific)", "utc": -6}
- ]
- },
- "EE": {
- "country": "Europe",
- "zones": [
- {"zone": "Tallinn", "utc": 3}
- ]
- },
- "EG": {
- "country": "Africa",
- "zones": [
- {"zone": "Cairo", "utc": 2}
- ]
- },
- "EH": {
- "country": "Africa",
- "zones": [
- {"zone": "El_Aiun", "utc": 0}
- ]
- },
- "ER": {
- "country": "Africa",
- "zones": [
- {"zone": "Asmara", "utc": 3}
- ]
- },
- "ES": {
- "country": "Atlantic/Africa/Europe",
- "zones": [
- {"zone": "Canary (Atlantic)", "utc": 1},
- {"zone": "Ceuta (Africa)", "utc": 1},
- {"zone": "Madrid (Europe)", "utc": 2}
- ]
- },
- "ET": {
- "country": "Africa",
- "zones": [
- {"zone": "Addis_Ababa", "utc": 3}
- ]
- },
- "FI": {
- "country": "Europe",
- "zones": [
- {"zone": "Helsinki", "utc": 3}
- ]
- },
- "FJ": {
- "country": "Pacific",
- "zones": [
- {"zone": "Fiji", "utc": 13}
- ]
- },
- "FK": {
- "country": "Atlantic",
- "zones": [
- {"zone": "Stanley", "utc": -3}
- ]
- },
- "FM": {
- "country": "Pacific",
- "zones": [
- {"zone": "Chuuk", "utc": 10},
- {"zone": "Kosrae", "utc": 11},
- {"zone": "Pohnpei", "utc": 11}
- ]
- },
- "FO": {
- "country": "Atlantic",
- "zones": [
- {"zone": "Faroe", "utc": 1}
- ]
- },
- "FR": {
- "country": "Europe",
- "zones": [
- {"zone": "Paris", "utc": 2}
- ]
- },
- "GA": {
- "country": "Africa",
- "zones": [
- {"zone": "Libreville", "utc": 1}
- ]
- },
- "GB": {
- "country": "Europe",
- "zones": [
- {"zone": "London", "utc": 1}
- ]
- },
- "GD": {
- "country": "America",
- "zones": [
- {"zone": "Grenada", "utc": -4}
- ]
- },
- "GE": {
- "country": "Asia",
- "zones": [
- {"zone": "Tbilisi", "utc": 4}
- ]
- },
- "GF": {
- "country": "America",
- "zones": [
- {"zone": "Cayenne", "utc": -3}
- ]
- },
- "GG": {
- "country": "Europe",
- "zones": [
- {"zone": "Guernsey", "utc": 1}
- ]
- },
- "GH": {
- "country": "Africa",
- "zones": [
- {"zone": "Accra", "utc": 0}
- ]
- },
- "GI": {
- "country": "Europe",
- "zones": [
- {"zone": "Gibraltar", "utc": 2}
- ]
- },
- "GL": {
- "country": "America",
- "zones": [
- {"zone": "Danmarkshavn", "utc": 0},
- {"zone": "Scoresbysund", "utc": 0},
- {"zone": "Godthab", "utc": -2},
- {"zone": "Thule", "utc": -3}
- ]
- },
- "GM": {
- "country": "Africa",
- "zones": [
- {"zone": "Banjul", "utc": 0}
- ]
- },
- "GN": {
- "country": "Africa",
- "zones": [
- {"zone": "Conakry", "utc": 0}
- ]
- },
- "GP": {
- "country": "America",
- "zones": [
- {"zone": "Guadeloupe", "utc": -4}
- ]
- },
- "GQ": {
- "country": "Africa",
- "zones": [
- {"zone": "Malabo", "utc": 0}
- ]
- },
- "GR": {
- "country": "Europe",
- "zones": [
- {"zone": "Athens", "utc": 3}
- ]
- },
- "GS": {
- "country": "Atlantic",
- "zones": [
- {"zone": "South_Georgia", "utc": -2}
- ]
- },
- "GT": {
- "country": "America",
- "zones": [
- {"zone": "Guatemala", "utc": -6}
- ]
- },
- "GU": {
- "country": "Pacific",
- "zones": [
- {"zone": "Guam", "utc": 10}
- ]
- },
- "GW": {
- "country": "Africa",
- "zones": [
- {"zone": "Bissau", "utc": 0}
- ]
- },
- "GY": {
- "country": "America",
- "zones": [
- {"zone": "Guyana", "utc": -4}
- ]
- },
- "HK": {
- "country": "Asia",
- "zones": [
- {"zone": "Hong_Kong", "utc": 8}
- ]
- },
- "HN": {
- "country": "America",
- "zones": [
- {"zone": "Tegucigalpa", "utc": -6}
- ]
- },
- "HR": {
- "country": "Europe",
- "zones": [
- {"zone": "Zagreb", "utc": 2}
- ]
- },
- "HT": {
- "country": "America",
- "zones": [
- {"zone": "Port-au-Prince", "utc": -4}
- ]
- },
- "HU": {
- "country": "Europe",
- "zones": [
- {"zone": "Budapest", "utc": 2}
- ]
- },
- "ID": {
- "country": "Asia",
- "zones": [
- {"zone": "Jakarta", "utc": 7},
- {"zone": "Pontianak", "utc": 7},
- {"zone": "Makassar", "utc": 8},
- {"zone": "Jayapure", "utc": 9}
- ]
- },
- "IE": {
- "country": "Europe",
- "zones": [
- {"zone": "Dublin", "utc": 1}
- ]
- },
- "IL": {
- "country": "Asia",
- "zones": [
- {"zone": "Jerusalem", "utc": 3}
- ]
- },
- "IM": {
- "country": "Europe",
- "zones": [
- {"zone": "Isle_of_Man", "utc": 1}
- ]
- },
- "IN": {
- "country": "Asia",
- "zones": [
- {"zone": "Kolkata", "utc": [5, 30]}
- ]
- },
- "IO": {
- "country": "Indian",
- "zones": [
- {"zone": "Chagos", "utc": 6}
- ]
- },
- "IQ": {
- "country": "Asia",
- "zones": [
- {"zone": "Baghdad", "utc": 3}
- ]
- },
- "IR": {
- "country": "Asia",
- "zones": [
- {"zone": "Tehran", "utc": [4, 30]}
- ]
- },
- "IS": {
- "country": "Atlantic",
- "zones": [
- {"zone": "Reykjavik", "utc": 0}
- ]
- },
- "IT": {
- "country": "Europe",
- "zones": [
- {"zone": "Rome", "utc": 2}
- ]
- },
- "JE": {
- "country": "Europe",
- "zones": [
- {"zone": "Jersey", "utc": 1}
- ]
- },
- "JM": {
- "country": "",
- "zones": [
- {"zone": "", "utc": 0}
- ]
- },
- "JO": {
- "country": "Asia",
- "zones": [
- {"zone": "Amman", "utc": 3}
- ]
- },
- "JP": {
- "country": "Asia",
- "zones": [
- {"zone": "Tokyo", "utc": 9}
- ]
- },
- "KE": {
- "country": "Africa",
- "zones": [
- {"zone": "Nairobi", "utc": 3}
- ]
- },
- "KG": {
- "country": "Asia",
- "zones": [
- {"zone": "Bishkek", "utc": 6}
- ]
- },
- "KH": {
- "country": "Asia",
- "zones": [
- {"zone": "Phnom_Penh", "utc": 7}
- ]
- },
- "KI": {
- "country": "Pacific",
- "zones": [
- {"zone": "Tarawa", "utc": 12},
- {"zone": "Enderbury", "utc": 13},
- {"zone": "Kiritimati", "utc": 14}
- ]
- },
- "KM": {
- "country": "Indian",
- "zones": [
- {"zone": "Comoro", "utc": 3}
- ]
- },
- "KN": {
- "country": "America",
- "zones": [
- {"zone": "St_Kitts", "utc": -4}
- ]
- },
- "KP": {
- "country": "Asia",
- "zones": [
- {"zone": "Pyongyang", "utc": 9}
- ]
- },
- "KR": {
- "country": "Asia",
- "zones": [
- {"zone": "Seoul", "utc": 9}
- ]
- },
- "KW": {
- "country": "Asia",
- "zones": [
- {"zone": "Kuwait", "utc": 3}
- ]
- },
- "KY": {
- "country": "America",
- "zones": [
- {"zone": "Cayman", "utc": -5}
- ]
- },
- "KZ": {
- "country": "Asia",
- "zones": [
- {"zone": "Aqtau", "utc": 5},
- {"zone": "Aqtobe", "utc": 5},
- {"zone": "Atyrau", "utc": 5},
- {"zone": "Oral", "utc": 5},
- {"zone": "Qyzylorda", "utc": 5},
- {"zone": "Almaty", "utc": 6}
- ]
- },
- "LA": {
- "country": "Asia",
- "zones": [
- {"zone": "Vientiane", "utc": 7}
- ]
- },
- "LB": {
- "country": "Asia",
- "zones": [
- {"zone": "Beirut", "utc": 3}
- ]
- },
- "LC": {
- "country": "America",
- "zones": [
- {"zone": "St_Lucia", "utc": -4}
- ]
- },
- "LI": {
- "country": "Europe",
- "zones": [
- {"zone": "Vaduz", "utc": 2}
- ]
- },
- "LK": {
- "country": "Asia",
- "zones": [
- {"zone": "Colombo", "utc": [5, 30]},
- ]
- },
- "LR": {
- "country": "Africa",
- "zones": [
- {"zone": "Monrovia", "utc": 0}
- ]
- },
- "LS": {
- "country": "Africa",
- "zones": [
- {"zone": "Maseru", "utc": 2}
- ]
- },
- "LT": {
- "country": "Europe",
- "zones": [
- {"zone": "Vilnius", "utc": 3}
- ]
- },
- "LU": {
- "country": "Europe",
- "zones": [
- {"zone": "Luxembourg", "utc": 2}
- ]
- },
- "LV": {
- "country": "Europe",
- "zones": [
- {"zone": "Riga", "utc": 3}
- ]
- },
- "LY": {
- "country": "Africa",
- "zones": [
- {"zone": "Tripoli", "utc": 2}
- ]
- },
- "MA": {
- "country": "Africa",
- "zones": [
- {"zone": "Casablanca", "utc": 1}
- ]
- },
- "MC": {
- "country": "Europe",
- "zones": [
- {"zone": "Monaco", "utc": 2}
- ]
- },
- "MD": {
- "country": "Europe",
- "zones": [
- {"zone": "Chisinau", "utc": 3}
- ]
- },
- "ME": {
- "country": "Europe",
- "zones": [
- {"zone": "Podgorica", "utc": 2}
- ]
- },
- "MF": {
- "country": "America",
- "zones": [
- {"zone": "Marigot", "utc": -4}
- ]
- },
- "MG": {
- "country": "Indian",
- "zones": [
- {"zone": "Antananarivo", "utc": 3}
- ]
- },
- "MH": {
- "country": "Pacific",
- "zones": [
- {"zone": "Kwajelein", "utc": 12},
- {"zone": "Majuro", "utc": 12}
- ]
- },
- "MK": {
- "country": "Europe",
- "zones": [
- {"zone": "Skopje", "utc": 1}
- ]
- },
- "ML": {
- "country": "Africa",
- "zones": [
- {"zone": "Bamako", "utc": 0}
- ]
- },
- "MM": {
- "country": "Asia",
- "zones": [
- {"zone": "Rangoon", "utc": [6, 30]},
- {"zone": "Yangon", "utc": [6, 30]}
- ]
- },
- "MN": {
- "country": "Asia",
- "zones": [
- {"zone": "Hovd", "utc": 7},
- {"zone": "Choibalsan", "utc": 8},
- {"zone": "Ulaanbaatar", "utc": 8}
- ]
- },
- "MO": {
- "country": "Asia",
- "zones": [
- {"zone": "Macau", "utc": 8}
- ]
- },
- "MP": {
- "country": "Pacific",
- "zones": [
- {"zone": "Saipan", "utc": 10}
- ]
- },
- "MQ": {
- "country": "America",
- "zones": [
- {"zone": "Martinique", "utc": -4}
- ]
- },
- "MR": {
- "country": "Africa",
- "zones": [
- {"zone": "Nouakchott", "utc": 0}
- ]
- },
- "MS": {
- "country": "America",
- "zones": [
- {"zone": "Montserrat", "utc": -4}
- ]
- },
- "MT": {
- "country": "Europe",
- "zones": [
- {"zone": "Malta", "utc": 2}
- ]
- },
- "MU": {
- "country": "Indian",
- "zones": [
- {"zone": "Mauritius", "utc": 4}
- ]
- },
- "MV": {
- "country": "Indian",
- "zones": [
- {"zone": "Maldives", "utc": 5}
- ]
- },
- "MW": {
- "country": "Africa",
- "zones": [
- {"zone": "Blantyre", "utc": 2}
- ]
- },
- "MX": {
- "country": "America",
- "zones": [
- {"zone": "Bahia_Banderas", "utc": -5},
- {"zone": "Cancun", "utc": -5},
- {"zone": "Matamoros", "utc": -5},
- {"zone": "Merida", "utc": -5},
- {"zone": "Mexico_City", "utc": -5},
- {"zone": "Monterrey", "utc": -5},
- {"zone": "Chihuahua", "utc": -6},
- {"zone": "Mazatlan", "utc": -6},
- {"zone": "Ojinaga", "utc": -6},
- {"zone": "Hermosillo", "utc": -7},
- {"zone": "Tijuana", "utc": -7}
- ]
- },
- "MY": {
- "country": "Asia",
- "zones": [
- {"zone": "Kuala_Lumpur", "utc": 8},
- {"zone": "Kuching", "utc": 8}
- ]
- },
- "MZ": {
- "country": "Africa",
- "zones": [
- {"zone": "Maputo", "utc": 2}
- ]
- },
- "NA": {
- "country": "Africa",
- "zones": [
- {"zone": "Windhoek", "utc": 2}
- ]
- },
- "NC": {
- "country": "Pacific",
- "zones": [
- {"zone": "Nourmea", "utc": 11}
- ]
- },
- "NE": {
- "country": "Africa",
- "zones": [
- {"zone": "Niamey", "utc": 1}
- ]
- },
- "NF": {
- "country": "Pacific",
- "zones": [
- {"zone": "Norfolk", "utc": 11}
- ]
- },
- "NG": {
- "country": "Africa",
- "zones": [
- {"zone": "Lagos", "utc": 1}
- ]
- },
- "NI": {
- "country": "America",
- "zones": [
- {"zone": "Managua", "utc": -6}
- ]
- },
- "NL": {
- "country": "Europe",
- "zones": [
- {"zone": "Amsterdam", "utc": 2}
- ]
- },
- "NO": {
- "country": "Europe",
- "zones": [
- {"zone": "Oslo", "utc": 2}
- ]
- },
- "NP": {
- "country": "Asia",
- "zones": [
- {"zone": "Kathmandu", "utc": [5, 45]}
- ]
- },
- "NR": {
- "country": "Pacific",
- "zones": [
- {"zone": "Nauru", "utc": 12}
- ]
- },
- "NU": {
- "country": "Pacific",
- "zones": [
- {"zone": "Niue", "utc": -11}
- ]
- },
- "NZ": {
- "country": "Pacific",
- "zones": [
- {"zone": "Auckland", "utc": 13},
- {"zone": "Chatham", "utc": [13, 45]}
- ]
- },
- "OM": {
- "country": "Asia",
- "zones": [
- {"zone": "Muscat", "utc": 4}
- ]
- },
- "PA": {
- "country": "America",
- "zones": [
- {"zone": "Panama", "utc": -5}
- ]
- },
- "PE": {
- "country": "",
- "zones": [
- {"zone": "", "utc": 0}
- ]
- },
- "PF": {
- "country": "Pacific",
- "zones": [
- {"zone": "Gambier", "utc": -9},
- {"zone": "Marquesas", "utc": [-9, -30]},
- {"zone": "Tahiti", "utc": -10}
- ]
- },
- "PG": {
- "country": "Pacific",
- "zones": [
- {"zone": "Port_Moresby", "utc": 10},
- {"zone": "Bougainville", "utc": 11}
- ]
- },
- "PH": {
- "country": "Asia",
- "zones": [
- {"zone": "Manila", "utc": 8}
- ]
- },
- "PK": {
- "country": "Asia",
- "zones": [
- {"zone": "Karachi", "utc": 5}
- ]
- },
- "PL": {
- "country": "Europe",
- "zones": [
- {"zone": "Warsaw", "utc": 1}
- ]
- },
- "PM": {
- "country": "America",
- "zones": [
- {"zone": "Miquelon", "utc": -2}
- ]
- },
- "PN": {
- "country": "Pacific",
- "zones": [
- {"zone": "Pitcairn", "utc": -8}
- ]
- },
- "PR": {
- "country": "America",
- "zones": [
- {"zone": "Puerto_Rico", "utc": -4}
- ]
- },
- "PS": {
- "country": "Asia",
- "zones": [
- {"zone": "Gaza", "utc": 3},
- {"zone": "Hebron", "utc": 3}
- ]
- },
- "PT": {
- "country": "Atlantic/Europe",
- "zones": [
- {"zone": "Madeira (Atlantic)", "utc": 1},
- {"zone": "Lisbon (Europe)", "utc": 1},
- {"zone": "Azores (Atlantic)", "utc": 0}
- ]
- },
- "PW": {
- "country": "Pacific",
- "zones": [
- {"zone": "Palau", "utc": 9}
- ]
- },
- "PY": {
- "country": "America",
- "zones": [
- {"zone": "Asuncion", "utc": -3}
- ]
- },
- "QA": {
- "country": "Asia",
- "zones": [
- {"zone": "Qatar", "utc": 3}
- ]
- },
- "RE": {
- "country": "Indian",
- "zones": [
- {"zone": "Reunion", "utc": 4}
- ]
- },
- "RO": {
- "country": "Europe",
- "zones": [
- {"zone": "Bucharest", "utc": 3}
- ]
- },
- "RS": {
- "country": "Europe",
- "zones": [
- {"zone": "Belgrade", "utc": 2}
- ]
- },
- "RU": {
- "country": "Europe/Asia",
- "zones": [
- {"zone": "Kaliningrad (Europe)", "utc": 2},
- {"zone": "Kirov (Europe)", "utc": 3},
- {"zone": "Astrakhan (Europe)", "utc": 4},
- {"zone": "Samara (Europe)", "utc": 4},
- {"zone": "Saratov (Europe)", "utc": 4},
- {"zone": "Ulyanovsk (Europe)", "utc": 4},
- {"zone": "Volgograd (Europe)", "utc": 4},
- {"zone": "Yekaterinburg (Asia)", "utc": 5},
- {"zone": "Omsk (Asia)", "utc": 6},
- {"zone": "Barnaul (Asia)", "utc": 7},
- {"zone": "Krasnoyarsk (Asia)", "utc": 7},
- {"zone": "Novokuznetsk (Asia)", "utc": 7},
- {"zone": "Novosibirk (Asia)", "utc": 7},
- {"zone": "Tomsk (Asia)", "utc": 7},
- {"zone": "Irkutsk (Asia)", "utc": 8},
- {"zone": "Chita (Asia)", "utc": 9},
- {"zone": "Khandyga (Asia)", "utc": 9},
- {"zone": "Yakutsk (Asia)", "utc": 9},
- {"zone": "Ust-Nera (Asia)", "utc": 10},
- {"zone": "Vladivostok (Asia)", "utc": 10},
- {"zone": "Magadan (Asia)", "utc": 11},
- {"zone": "Sakhalin (Asia)", "utc": 11},
- {"zone": "Srednekolymsk (Asia)", "utc": 11},
- {"zone": "Anadyr (Asia)", "utc": 12},
- {"zone": "Kamchatka (Asia)", "utc": 12}
- ]
- },
- "RW": {
- "country": "Africa",
- "zones": [
- {"zone": "Kigali", "utc": 2}
- ]
- },
- "SA": {
- "country": "Asia",
- "zones": [
- {"zone": "Riyadh", "utc": 3}
- ]
- },
- "SB": {
- "country": "Pacific",
- "zones": [
- {"zone": "Guadalcanal", "utc": 11}
- ]
- },
- "SC": {
- "country": "Indian",
- "zones": [
- {"zone": "Mahe", "utc": 4}
- ]
- },
- "SD": {
- "country": "Africa",
- "zones": [
- {"zone": "Khartoum", "utc": 2}
- ]
- },
- "SE": {
- "country": "Europe",
- "zones": [
- {"zone": "Stockholm", "utc": 2}
- ]
- },
- "SG": {
- "country": "Asia",
- "zones": [
- {"zone": "Singapore", "utc": 8}
- ]
- },
- "SH": {
- "country": "Atlantic",
- "zones": [
- {"zone": "St_Helena", "utc": 0}
- ]
- },
- "SI": {
- "country": "Europe",
- "zones": [
- {"zone": "Ljubljana", "utc": 2}
- ]
- },
- "SJ": {
- "country": "Arctic",
- "zones": [
- {"zone": "Longyearbyen", "utc": 2}
- ]
- },
- "SK": {
- "country": "Europe",
- "zones": [
- {"zone": "Bratislava", "utc": 2}
- ]
- },
- "SL": {
- "country": "Africa",
- "zones": [
- {"zone": "Freetown", "utc": 0}
- ]
- },
- "SM": {
- "country": "Europe",
- "zones": [
- {"zone": "San_Marino", "utc": 2}
- ]
- },
- "SN": {
- "country": "Africa",
- "zones": [
- {"zone": "Dakar", "utc": 0}
- ]
- },
- "SO": {
- "country": "Africa",
- "zones": [
- {"zone": "Mogadishu", "utc": 3}
- ]
- },
- "SR": {
- "country": "America",
- "zones": [
- {"zone": "Paramaribo", "utc": -3}
- ]
- },
- "SS": {
- "country": "Africa",
- "zones": [
- {"zone": "Juba", "utc": 3}
- ]
- },
- "ST": {
- "country": "Africa",
- "zones": [
- {"zone": "Sao_Tome", "utc": 0}
- ]
- },
- "SV": {
- "country": "America",
- "zones": [
- {"zone": "El_Salvador", "utc": -6}
- ]
- },
- "SX": {
- "country": "America",
- "zones": [
- {"zone": "Lower_Princes", "utc": -4}
- ]
- },
- "SY": {
- "country": "Asia",
- "zones": [
- {"zone": "Damascus", "utc": 3}
- ]
- },
- "SZ": {
- "country": "Africa",
- "zones": [
- {"zone": "Mbabane", "utc": 2}
- ]
- },
- "TC": {
- "country": "America",
- "zones": [
- {"zone": "Grand_Turk", "utc": -4}
- ]
- },
- "TD": {
- "country": "Africa",
- "zones": [
- {"zone": "Ndjamena", "utc": 0}
- ]
- },
- "TF": {
- "country": "Indian",
- "zones": [
- {"zone": "Kerguelen", "utc": 5}
- ]
- },
- "TG": {
- "country": "Africa",
- "zones": [
- {"zone": "Lome", "utc": 0}
- ]
- },
- "TH": {
- "country": "Asia",
- "zones": [
- {"zone": "Bangkok", "utc": 7}
- ]
- },
- "TJ": {
- "country": "Asia",
- "zones": [
- {"zone": "Dushanbe", "utc": 0}
- ]
- },
- "TK": {
- "country": "Pacific",
- "zones": [
- {"zone": "Fakaofo", "utc": 13}
- ]
- },
- "TL": {
- "country": "Asia",
- "zones": [
- {"zone": "Dili", "utc": 9}
- ]
- },
- "TM": {
- "country": "Asia",
- "zones": [
- {"zone": "Ashgabat", "utc": 5}
- ]
- },
- "TN": {
- "country": "Africa",
- "zones": [
- {"zone": "Tunis", "utc": 0}
- ]
- },
- "TO": {
- "country": "Pacific",
- "zones": [
- {"zone": "Tongatapu", "utc": 14}
- ]
- },
- "TR": {
- "country": "Europe",
- "zones": [
- {"zone": "Istanbul", "utc": 3}
- ]
- },
- "TT": {
- "country": "America",
- "zones": [
- {"zone": "Port_of_Spain", "utc": -4}
- ]
- },
- "TV": {
- "country": "Pacific",
- "zones": [
- {"zone": "Funafuti", "utc": 12}
- ]
- },
- "TW": {
- "country": "Asia",
- "zones": [
- {"zone": "Taipei", "utc": 8}
- ]
- },
- "TZ": {
- "country": "Africa",
- "zones": [
- {"zone": "Dar_es_Salaam", "utc": 3}
- ]
- },
- "UA": {
- "country": "Europe",
- "zones": [
- {"zone": "Kiev", "utc": 3},
- {"zone": "Uzhgorod", "utc": 3},
- {"zone": "Zaporozhye", "utc": 3},
- {"zone": "Simferopol", "utc": 3}
- ]
- },
- "UG": {
- "country": "Africa",
- "zones": [
- {"zone": "Kampala", "utc": 3}
- ]
- },
- "UM": {
- "country": "Pacific",
- "zones": [
- {"zone": "Wake", "utc": 12},
- {"zone": "Midway", "utc": -11}
- ]
- },
- "US": {
- "country": "America",
- "zones": [
- {"zone": "Detroit and New_York", "utc": -4},
- {"zone": "Indiana/Indianapolis", "utc": -4},
- {"zone": "Indiana/Marengo", "utc": -4},
- {"zone": "Indiana/Petersburg", "utc": -4},
- {"zone": "Indiana/Vevay", "utc": -4},
- {"zone": "Indiana/Vincennes", "utc": -4},
- {"zone": "Indiana/Winamac", "utc": -4},
- {"zone": "Chicago", "utc": -5},
- {"zone": "Indiana/Knox and Tell_City", "utc": -5},
- {"zone": "Menominee", "utc": -5},
- {"zone": "North_Dakota/Beulah", "utc": -5},
- {"zone": "North_Dakota/Center", "utc": -5},
- {"zone": "North_Dakota/New_Salem", "utc": -5},
- {"zone": "Boise", "utc": -6},
- {"zone": "Denver", "utc": -6},
- {"zone": "Phoenix", "utc": -7},
- {"zone": "Los_Angeles", "utc": -7},
- {"zone": "Anchorage", "utc": -8},
- {"zone": "Juneau", "utc": -8},
- {"zone": "Meltakatla", "utc": -8},
- {"zone": "Nome", "utc": -8},
- {"zone": "Sitka", "utc": -8},
- {"zone": "Yakutat", "utc": -8},
- {"zone": "Adak", "utc": -9},
- {"zone": "Honolulu", "utc": -10}
- ]
- },
- "UY": {
- "country": "America",
- "zones": [
- {"zone": "Montevideo", "utc": -3}
- ]
- },
- "UZ": {
- "country": "Asia",
- "zones": [
- {"zone": "Samarkand", "utc": 5},
- {"zone": "Tashkent", "utc": 5}
- ]
- },
- "VA": {
- "country": "Europe",
- "zones": [
- {"zone": "Vatican", "utc": 2}
- ]
- },
- "VC": {
- "country": "America",
- "zones": [
- {"zone": "St_Vincent", "utc": -4}
- ]
- },
- "VE": {
- "country": "America",
- "zones": [
- {"zone": "Caracas", "utc": -4}
- ]
- },
- "VG": {
- "country": "America",
- "zones": [
- {"zone": "Tortola", "utc": -4}
- ]
- },
- "VI": {
- "country": "America",
- "zones": [
- {"zone": "St_Thomas", "utc": -4}
- ]
- },
- "VN": {
- "country": "Asia",
- "zones": [
- {"zone": "Ho_Chi_Minh", "utc": 7}
- ]
- },
- "VU": {
- "country": "Pacific",
- "zones": [
- {"zone": "Efate", "utc": 11}
- ]
- },
- "WF": {
- "country": "Pacific",
- "zones": [
- {"zone": "Wallis", "utc": 12}
- ]
- },
- "WS": {
- "country": "Pacific",
- "zones": [
- {"zone": "Apia", "utc": 14}
- ]
- },
- "YE": {
- "country": "Asia",
- "zones": [
- {"zone": "Aden", "utc": 3}
- ]
- },
- "YT": {
- "country": "Indian",
- "zones": [
- {"zone": "Mayotte", "utc": 3}
- ]
- },
- "ZA": {
- "country": "Africa",
- "zones": [
- {"zone": "Johannesburg", "utc": 2}
- ]
- },
- "ZM": {
- "country": "Africa",
- "zones": [
- {"zone": "Lusaka", "utc": 2}
- ]
- },
- "ZW": {
- "country": "Africa",
- "zones": [
- {"zone": "Harare", "utc": 2}
- ]
- }
- }
- def convert_time(zone, hour=None, minute=None, sec=None):
- now = datetime.now(timezone.utc)
- """now = datetime.datetime.now()
- hour = hour or now.hour
- minute = minute or now.minute
- sec = sec or now.second"""
- if hour:
- now = datetime(now.year, now.month, now.day, hour, minute, sec)
- converted = []
- if zone not in timezones:
- return False, False
- else:
- #print(timezones[zone])
- for tzone in timezones[zone]["zones"]:
- if type(tzone["utc"]) == list:
- t = now + timedelta(hours=tzone["utc"][0], minutes=tzone["utc"][1])
- converted.append({"name": tzone["zone"], "value": t.strftime("%I:%M %p `(%m/%d/%Y)`"), "inline": True})
- else:
- t = now + timedelta(hours=tzone["utc"])
- converted.append({"name": tzone["zone"], "value": t.strftime("%I:%M %p `(%m/%d/%Y)`"), "inline": True})
- return converted, timezones[zone]["country"]
- desc = ""
- res = []
- embed = {
- "title": ":x: Error",
- "description": "Invalid country code, please run `> worldclock help` to know more about this command",
- "color": 0xcc0000
- }
- if re.match(r"^[A-Z][A-Z]$", stdin):
- #print("only country code")
- zone = re.match(r"^[A-Z][A-Z]$", stdin).group()
- res, area = convert_time(zone)
- if not res:
- print(json.dumps(embed))
- else:
- embed = {
- "title": ":globe_with_meridians: Worldclock :clock130:",
- "description": f"**Country/Continent:** :flag_{zone.lower()}: {area}",
- "fields": res,
- "color": 0x0BABC8
- }
- print(json.dumps(embed))
- else:
- if re.match(r"HELP?\s*", stdin):
- embed = {
- "title": "Help :speech_balloon:",
- "description": """
- Welcome to the worldclock help menu. Use this command if you want to know the time of any timezone in the world.
- **Example usage**
- `> worldclock us` - Provides the current time of all the timezones in USA
- **Syntax**
- `> worldclock <COUNTRY-CODE>`
- - where <COUNTRY-CODE> is a valid country code. See all the valid country codes [here](https://countrycode.org/)
- Type `> worldclock help` for this help menu
- """,
- "color": 0xFCD420
- }
- print(json.dumps(embed))
- else:
- print(json.dumps(embed))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement