Skip to content

Instantly share code, notes, and snippets.

@jpmckinney
Created January 5, 2011 21:44
Show Gist options
  • Save jpmckinney/767070 to your computer and use it in GitHub Desktop.
Save jpmckinney/767070 to your computer and use it in GitHub Desktop.
Maps tz database time zone identifiers to Rails time zone identifiers
# blog post: http://blog.slashpoundbang.com/post/2613268281/changing-from-tz-database-identifiers-to-rails-friendly
{
"Australia/Adelaide" => "Adelaide",
"Australia/Broken_Hill" => "Adelaide",
"America/Anchorage" => "Alaska",
"America/Juneau" => "Alaska",
"America/Nome" => "Alaska",
"America/Yakutat" => "Alaska",
"Pacific/Gambier" => "Alaska",
"Asia/Almaty" => "Almaty",
"Europe/Amsterdam" => "Amsterdam",
"Europe/Athens" => "Athens",
"America/Anguilla" => "Atlantic Time (Canada)",
"America/Antigua" => "Atlantic Time (Canada)",
"America/Argentina/San_Luis" => "Atlantic Time (Canada)",
"America/Aruba" => "Atlantic Time (Canada)",
"America/Asuncion" => "Atlantic Time (Canada)",
"America/Barbados" => "Atlantic Time (Canada)",
"America/Blanc-Sablon" => "Atlantic Time (Canada)",
"America/Boa_Vista" => "Atlantic Time (Canada)",
"America/Campo_Grande" => "Atlantic Time (Canada)",
"America/Cuiaba" => "Atlantic Time (Canada)",
"America/Curacao" => "Atlantic Time (Canada)",
"America/Dominica" => "Atlantic Time (Canada)",
"America/Eirunepe" => "Atlantic Time (Canada)",
"America/Glace_Bay" => "Atlantic Time (Canada)",
"America/Goose_Bay" => "Atlantic Time (Canada)",
"America/Grenada" => "Atlantic Time (Canada)",
"America/Guadeloupe" => "Atlantic Time (Canada)",
"America/Guyana" => "Atlantic Time (Canada)",
"America/Halifax" => "Atlantic Time (Canada)",
"America/Manaus" => "Atlantic Time (Canada)",
"America/Marigot" => "Atlantic Time (Canada)",
"America/Martinique" => "Atlantic Time (Canada)",
"America/Moncton" => "Atlantic Time (Canada)",
"America/Montserrat" => "Atlantic Time (Canada)",
"America/Porto_Velho" => "Atlantic Time (Canada)",
"America/Port_of_Spain" => "Atlantic Time (Canada)",
"America/Puerto_Rico" => "Atlantic Time (Canada)",
"America/Rio_Branco" => "Atlantic Time (Canada)",
"America/Santo_Domingo" => "Atlantic Time (Canada)",
"America/St_Barthelemy" => "Atlantic Time (Canada)",
"America/St_Kitts" => "Atlantic Time (Canada)",
"America/St_Lucia" => "Atlantic Time (Canada)",
"America/St_Thomas" => "Atlantic Time (Canada)",
"America/St_Vincent" => "Atlantic Time (Canada)",
"America/Thule" => "Atlantic Time (Canada)",
"America/Tortola" => "Atlantic Time (Canada)",
"Antarctica/Palmer" => "Atlantic Time (Canada)",
"Atlantic/Bermuda" => "Atlantic Time (Canada)",
"Atlantic/Stanley" => "Atlantic Time (Canada)",
"Antarctica/McMurdo" => "Auckland",
"Antarctica/South_Pole" => "Auckland",
"Pacific/Auckland" => "Auckland",
"Pacific/Funafuti" => "Auckland",
"Pacific/Kwajalein" => "Auckland",
"Pacific/Majuro" => "Auckland",
"Pacific/Nauru" => "Auckland",
"Pacific/Tarawa" => "Auckland",
"Pacific/Wake" => "Auckland",
"Pacific/Wallis" => "Auckland",
"Atlantic/Azores" => "Azores",
"Asia/Baghdad" => "Baghdad",
"Asia/Baku" => "Baku",
"Asia/Dubai" => "Baku",
"Indian/Mahe" => "Baku",
"Indian/Mauritius" => "Baku",
"Indian/Reunion" => "Baku",
"Asia/Bangkok" => "Bangkok",
"Europe/Belgrade" => "Belgrade",
"Europe/Berlin" => "Berlin",
"America/Bogota" => "Bogota",
"Europe/Bratislava" => "Bratislava",
"Australia/Brisbane" => "Brisbane",
"Europe/Brussels" => "Brussels",
"Europe/Bucharest" => "Bucharest",
"Europe/Budapest" => "Budapest",
"America/Araguaina" => "Buenos Aires",
"America/Argentina/Buenos_Aires" => "Buenos Aires",
"America/Argentina/Catamarca" => "Buenos Aires",
"America/Argentina/Cordoba" => "Buenos Aires",
"America/Argentina/Jujuy" => "Buenos Aires",
"America/Argentina/La_Rioja" => "Buenos Aires",
"America/Argentina/Mendoza" => "Buenos Aires",
"America/Argentina/Rio_Gallegos" => "Buenos Aires",
"America/Argentina/Salta" => "Buenos Aires",
"America/Argentina/San_Juan" => "Buenos Aires",
"America/Argentina/Tucuman" => "Buenos Aires",
"America/Argentina/Ushuaia" => "Buenos Aires",
"America/Bahia" => "Buenos Aires",
"America/Belem" => "Buenos Aires",
"America/Cayenne" => "Buenos Aires",
"America/Fortaleza" => "Buenos Aires",
"America/Godthab" => "Buenos Aires",
"America/Maceio" => "Buenos Aires",
"America/Miquelon" => "Buenos Aires",
"America/Montevideo" => "Buenos Aires",
"America/Paramaribo" => "Buenos Aires",
"America/Recife" => "Buenos Aires",
"America/Santarem" => "Buenos Aires",
"America/Sao_Paulo" => "Buenos Aires",
"Antarctica/Rothera" => "Buenos Aires",
"Africa/Blantyre" => "Cairo",
"Africa/Bujumbura" => "Cairo",
"Africa/Cairo" => "Cairo",
"Africa/Gaborone" => "Cairo",
"Africa/Johannesburg" => "Cairo",
"Africa/Kigali" => "Cairo",
"Africa/Lubumbashi" => "Cairo",
"Africa/Lusaka" => "Cairo",
"Africa/Maputo" => "Cairo",
"Africa/Maseru" => "Cairo",
"Africa/Mbabane" => "Cairo",
"Africa/Tripoli" => "Cairo",
"Asia/Amman" => "Cairo",
"Asia/Beirut" => "Cairo",
"Asia/Damascus" => "Cairo",
"Asia/Gaza" => "Cairo",
"Asia/Nicosia" => "Cairo",
"Europe/Chisinau" => "Cairo",
"Europe/Kaliningrad" => "Cairo",
"Europe/Kiev" => "Cairo",
"Europe/Mariehamn" => "Cairo",
"Europe/Simferopol" => "Cairo",
"Europe/Uzhgorod" => "Cairo",
"Europe/Zaporozhye" => "Cairo",
"America/Scoresbysund" => "Cape Verde Is.",
"Atlantic/Cape_Verde" => "Cape Verde Is.",
"America/Caracas" => "Caracas",
"Africa/Casablanca" => "Casablanca",
"America/Belize" => "Central Time (US & Canada)",
"America/Cancun" => "Central Time (US & Canada)",
"America/Chicago" => "Central Time (US & Canada)",
"America/Costa_Rica" => "Central Time (US & Canada)",
"America/El_Salvador" => "Central Time (US & Canada)",
"America/Guatemala" => "Central Time (US & Canada)",
"America/Indiana/Knox" => "Central Time (US & Canada)",
"America/Indiana/Tell_City" => "Central Time (US & Canada)",
"America/Managua" => "Central Time (US & Canada)",
"America/Matamoros" => "Central Time (US & Canada)",
"America/Menominee" => "Central Time (US & Canada)",
"America/Merida" => "Central Time (US & Canada)",
"America/North_Dakota/Center" => "Central Time (US & Canada)",
"America/North_Dakota/New_Salem" => "Central Time (US & Canada)",
"America/Rainy_River" => "Central Time (US & Canada)",
"America/Rankin_Inlet" => "Central Time (US & Canada)",
"America/Regina" => "Central Time (US & Canada)",
"America/Swift_Current" => "Central Time (US & Canada)",
"America/Tegucigalpa" => "Central Time (US & Canada)",
"America/Winnipeg" => "Central Time (US & Canada)",
"Pacific/Easter" => "Central Time (US & Canada)",
"Pacific/Galapagos" => "Central Time (US & Canada)",
"America/Chihuahua" => "Chihuahua",
"Asia/Chongqing" => "Chongqing",
"Europe/Copenhagen" => "Copenhagen",
"Australia/Darwin" => "Darwin",
"Antarctica/Mawson" => "Dhaka",
"Asia/Bishkek" => "Dhaka",
"Asia/Dhaka" => "Dhaka",
"Asia/Karachi" => "Dhaka",
"Asia/Novokuznetsk" => "Dhaka",
"Asia/Omsk" => "Dhaka",
"Asia/Qyzylorda" => "Dhaka",
"Asia/Thimphu" => "Dhaka",
"Indian/Chagos" => "Dhaka",
"Europe/Dublin" => "Dublin",
"America/Atikokan" => "Eastern Time (US & Canada)",
"America/Cayman" => "Eastern Time (US & Canada)",
"America/Detroit" => "Eastern Time (US & Canada)",
"America/Grand_Turk" => "Eastern Time (US & Canada)",
"America/Guayaquil" => "Eastern Time (US & Canada)",
"America/Havana" => "Eastern Time (US & Canada)",
"America/Indiana/Indianapolis" => "Eastern Time (US & Canada)",
"America/Indiana/Marengo" => "Eastern Time (US & Canada)",
"America/Indiana/Petersburg" => "Eastern Time (US & Canada)",
"America/Indiana/Vevay" => "Eastern Time (US & Canada)",
"America/Indiana/Vincennes" => "Eastern Time (US & Canada)",
"America/Indiana/Winamac" => "Eastern Time (US & Canada)",
"America/Iqaluit" => "Eastern Time (US & Canada)",
"America/Jamaica" => "Eastern Time (US & Canada)",
"America/Kentucky/Louisville" => "Eastern Time (US & Canada)",
"America/Kentucky/Monticello" => "Eastern Time (US & Canada)",
"America/Montreal" => "Eastern Time (US & Canada)",
"America/Nassau" => "Eastern Time (US & Canada)",
"America/New_York" => "Eastern Time (US & Canada)",
"America/Nipigon" => "Eastern Time (US & Canada)",
"America/Panama" => "Eastern Time (US & Canada)",
"America/Pangnirtung" => "Eastern Time (US & Canada)",
"America/Port-au-Prince" => "Eastern Time (US & Canada)",
"America/Resolute" => "Eastern Time (US & Canada)",
"America/Thunder_Bay" => "Eastern Time (US & Canada)",
"America/Toronto" => "Eastern Time (US & Canada)",
"Pacific/Fiji" => "Fiji",
"Pacific/Guam" => "Guam",
"Africa/Harare" => "Harare",
"America/Adak" => "Hawaii",
"Pacific/Fakaofo" => "Hawaii",
"Pacific/Honolulu" => "Hawaii",
"Pacific/Johnston" => "Hawaii",
"Pacific/Rarotonga" => "Hawaii",
"Pacific/Tahiti" => "Hawaii",
"Europe/Helsinki" => "Helsinki",
"Australia/Hobart" => "Hobart",
"Antarctica/Casey" => "Hong Kong",
"Asia/Brunei" => "Hong Kong",
"Asia/Choibalsan" => "Hong Kong",
"Asia/Harbin" => "Hong Kong",
"Asia/Hong_Kong" => "Hong Kong",
"Asia/Kashgar" => "Hong Kong",
"Asia/Kuching" => "Hong Kong",
"Asia/Macau" => "Hong Kong",
"Asia/Makassar" => "Hong Kong",
"Asia/Manila" => "Hong Kong",
"Asia/Shanghai" => "Hong Kong",
"Asia/Ulaanbaatar" => "Hong Kong",
"Asia/Irkutsk" => "Irkutsk",
"Europe/Istanbul" => "Istanbul",
"Antarctica/Davis" => "Jakarta",
"Asia/Hovd" => "Jakarta",
"Asia/Ho_Chi_Minh" => "Jakarta",
"Asia/Jakarta" => "Jakarta",
"Asia/Phnom_Penh" => "Jakarta",
"Asia/Pontianak" => "Jakarta",
"Asia/Vientiane" => "Jakarta",
"Indian/Christmas" => "Jakarta",
"Asia/Jerusalem" => "Jerusalem",
"Asia/Kabul" => "Kabul",
"Asia/Kamchatka" => "Kamchatka",
"Asia/Aqtau" => "Karachi",
"Asia/Aqtobe" => "Karachi",
"Asia/Ashgabat" => "Karachi",
"Asia/Dushanbe" => "Karachi",
"Asia/Oral" => "Karachi",
"Asia/Samarkand" => "Karachi",
"Asia/Yekaterinburg" => "Karachi",
"Indian/Kerguelen" => "Karachi",
"Indian/Maldives" => "Karachi",
"Asia/Kathmandu" => "Kathmandu",
"Asia/Kolkata" => "Kolkata",
"Asia/Krasnoyarsk" => "Krasnoyarsk",
"Asia/Kuala_Lumpur" => "Kuala Lumpur",
"Asia/Kuwait" => "Kuwait",
"America/La_Paz" => "La Paz",
"America/Lima" => "Lima",
"Europe/Lisbon" => "Lisbon",
"Europe/Ljubljana" => "Ljubljana",
"Africa/Abidjan" => "London",
"Africa/Accra" => "London",
"Africa/Bamako" => "London",
"Africa/Banjul" => "London",
"Africa/Bissau" => "London",
"Africa/Conakry" => "London",
"Africa/Dakar" => "London",
"Africa/El_Aaiun" => "London",
"Africa/Freetown" => "London",
"Africa/Lome" => "London",
"Africa/Nouakchott" => "London",
"Africa/Ouagadougou" => "London",
"Africa/Sao_Tome" => "London",
"America/Danmarkshavn" => "London",
"Antarctica/Vostok" => "London",
"Atlantic/Canary" => "London",
"Atlantic/Faroe" => "London",
"Atlantic/Madeira" => "London",
"Atlantic/Reykjavik" => "London",
"Atlantic/St_Helena" => "London",
"Europe/Guernsey" => "London",
"Europe/Isle_of_Man" => "London",
"Europe/Jersey" => "London",
"Europe/London" => "London",
"Europe/Madrid" => "Madrid",
"Asia/Magadan" => "Magadan",
"America/Mazatlan" => "Mazatlan",
"Australia/Melbourne" => "Melbourne",
"America/Mexico_City" => "Mexico City",
"America/Noronha" => "Mid-Atlantic",
"Atlantic/South_Georgia" => "Mid-Atlantic",
"Europe/Minsk" => "Minsk",
"Africa/Monrovia" => "Monrovia",
"America/Monterrey" => "Monterrey",
"Africa/Addis_Ababa" => "Moscow",
"Africa/Asmara" => "Moscow",
"Africa/Dar_es_Salaam" => "Moscow",
"Africa/Djibouti" => "Moscow",
"Africa/Kampala" => "Moscow",
"Africa/Khartoum" => "Moscow",
"Africa/Mogadishu" => "Moscow",
"Antarctica/Syowa" => "Moscow",
"Asia/Aden" => "Moscow",
"Asia/Bahrain" => "Moscow",
"Asia/Qatar" => "Moscow",
"Europe/Moscow" => "Moscow",
"Europe/Samara" => "Moscow",
"Indian/Antananarivo" => "Moscow",
"Indian/Comoro" => "Moscow",
"Indian/Mayotte" => "Moscow",
"America/Boise" => "Mountain Time (US & Canada)",
"America/Cambridge_Bay" => "Mountain Time (US & Canada)",
"America/Dawson_Creek" => "Mountain Time (US & Canada)",
"America/Denver" => "Mountain Time (US & Canada)",
"America/Edmonton" => "Mountain Time (US & Canada)",
"America/Hermosillo" => "Mountain Time (US & Canada)",
"America/Inuvik" => "Mountain Time (US & Canada)",
"America/Ojinaga" => "Mountain Time (US & Canada)",
"America/Phoenix" => "Mountain Time (US & Canada)",
"America/Shiprock" => "Mountain Time (US & Canada)",
"America/Yellowknife" => "Mountain Time (US & Canada)",
"Asia/Colombo" => "Mumbai",
"Asia/Muscat" => "Muscat",
"Africa/Nairobi" => "Nairobi",
"America/St_Johns" => "Newfoundland",
"Asia/Novosibirsk" => "Novosibirsk",
"Pacific/Enderbury" => "Nuku'alofa",
"Pacific/Tongatapu" => "Nuku'alofa",
"America/Dawson" => "Pacific Time (US & Canada)",
"America/Los_Angeles" => "Pacific Time (US & Canada)",
"America/Santa_Isabel" => "Pacific Time (US & Canada)",
"America/Vancouver" => "Pacific Time (US & Canada)",
"America/Whitehorse" => "Pacific Time (US & Canada)",
"Pacific/Pitcairn" => "Pacific Time (US & Canada)",
"Africa/Algiers" => "Paris",
"Africa/Bangui" => "Paris",
"Africa/Brazzaville" => "Paris",
"Africa/Ceuta" => "Paris",
"Africa/Douala" => "Paris",
"Africa/Kinshasa" => "Paris",
"Africa/Lagos" => "Paris",
"Africa/Libreville" => "Paris",
"Africa/Luanda" => "Paris",
"Africa/Malabo" => "Paris",
"Africa/Ndjamena" => "Paris",
"Africa/Niamey" => "Paris",
"Africa/Porto-Novo" => "Paris",
"Africa/Tunis" => "Paris",
"Africa/Windhoek" => "Paris",
"Arctic/Longyearbyen" => "Paris",
"Europe/Andorra" => "Paris",
"Europe/Gibraltar" => "Paris",
"Europe/Luxembourg" => "Paris",
"Europe/Malta" => "Paris",
"Europe/Monaco" => "Paris",
"Europe/Oslo" => "Paris",
"Europe/Paris" => "Paris",
"Europe/Podgorica" => "Paris",
"Europe/San_Marino" => "Paris",
"Europe/Tirane" => "Paris",
"Europe/Vaduz" => "Paris",
"Europe/Vatican" => "Paris",
"Europe/Zurich" => "Paris",
"Australia/Perth" => "Perth",
"Pacific/Port_Moresby" => "Port Moresby",
"Europe/Prague" => "Prague",
"Asia/Rangoon" => "Rangoon",
"Indian/Cocos" => "Rangoon",
"Europe/Riga" => "Riga",
"Asia/Riyadh" => "Riyadh",
"Europe/Rome" => "Rome",
"Pacific/Apia" => "Samoa",
"Pacific/Midway" => "Samoa",
"Pacific/Niue" => "Samoa",
"Pacific/Pago_Pago" => "Samoa",
"America/Santiago" => "Santiago",
"Europe/Sarajevo" => "Sarajevo",
"Asia/Seoul" => "Seoul",
"Asia/Singapore" => "Singapore",
"Europe/Skopje" => "Skopje",
"Europe/Sofia" => "Sofia",
"Asia/Anadyr" => "Solomon Is.",
"Pacific/Efate" => "Solomon Is.",
"Pacific/Guadalcanal" => "Solomon Is.",
"Pacific/Kosrae" => "Solomon Is.",
"Pacific/Noumea" => "Solomon Is.",
"Pacific/Ponape" => "Solomon Is.",
"Europe/Stockholm" => "Stockholm",
"Antarctica/DumontDUrville" => "Sydney",
"Asia/Sakhalin" => "Sydney",
"Australia/Currie" => "Sydney",
"Australia/Lindeman" => "Sydney",
"Australia/Sydney" => "Sydney",
"Pacific/Saipan" => "Sydney",
"Pacific/Truk" => "Sydney",
"Asia/Taipei" => "Taipei",
"Europe/Tallinn" => "Tallinn",
"Asia/Tashkent" => "Tashkent",
"Asia/Tbilisi" => "Tbilisi",
"Asia/Tehran" => "Tehran",
"America/Tijuana" => "Tijuana",
"Asia/Dili" => "Tokyo",
"Asia/Jayapura" => "Tokyo",
"Asia/Pyongyang" => "Tokyo",
"Asia/Tokyo" => "Tokyo",
"Pacific/Palau" => "Tokyo",
"Asia/Urumqi" => "Urumqi",
"Europe/Vienna" => "Vienna",
"Europe/Vilnius" => "Vilnius",
"Asia/Vladivostok" => "Vladivostok",
"Europe/Volgograd" => "Volgograd",
"Europe/Warsaw" => "Warsaw",
"Asia/Yakutsk" => "Yakutsk",
"Asia/Yerevan" => "Yerevan",
"Europe/Zagreb" => "Zagreb",
}
@JulianKingman
Copy link

JulianKingman commented Mar 13, 2019

The actual mappings used by Ruby are here: https://github.com/rails/rails/blob/master/activesupport/lib/active_support/values/time_zone.rb

They include the above missing parts

Edit: for reverse mappings, I found a more comprehensive list here: https://gist.github.com/stevelacey/0c8656a0129b415843b0

@ngobin
Copy link

ngobin commented Dec 11, 2024

I've published a list that is more current, complete, and correct here.

As JulianKingman noted, the intent of the list is not to include the IANA mappings that are already provided in ActiveSupport, but to provide all the mappings that are not provided.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment