Skip to content

Instantly share code, notes, and snippets.

@dgavey
Created March 4, 2019 18:17
Show Gist options
  • Save dgavey/7be6e0df2fae9d20b09aa8c829c82c70 to your computer and use it in GitHub Desktop.
Save dgavey/7be6e0df2fae9d20b09aa8c829c82c70 to your computer and use it in GitHub Desktop.
Rails friendly timezone name to IANA name JS map
export const TIMEZONE_MAP = [
{rails_zone_name: 'International Date Line West',
iana_zone_name: 'Etc/GMT+12'},
{rails_zone_name: 'Midway Island',
iana_zone_name: 'Pacific/Midway'},
{rails_zone_name: 'American Samoa',
iana_zone_name: 'Pacific/Pago_Pago'},
{rails_zone_name: 'Hawaii',
iana_zone_name: 'Pacific/Honolulu'},
{rails_zone_name: 'Alaska',
iana_zone_name: 'America/Juneau'},
{rails_zone_name: 'Pacific Time (US & Canada)',
iana_zone_name: 'America/Los_Angeles'},
{rails_zone_name: 'Tijuana',
iana_zone_name: 'America/Tijuana'},
{rails_zone_name: 'Mountain Time (US & Canada)',
iana_zone_name: 'America/Denver'},
{rails_zone_name: 'Arizona',
iana_zone_name: 'America/Phoenix'},
{rails_zone_name: 'Chihuahua',
iana_zone_name: 'America/Chihuahua'},
{rails_zone_name: 'Mazatlan',
iana_zone_name: 'America/Mazatlan'},
{rails_zone_name: 'Central Time (US & Canada)',
iana_zone_name: 'America/Chicago'},
{rails_zone_name: 'Saskatchewan',
iana_zone_name: 'America/Regina'},
{rails_zone_name: 'Guadalajara',
iana_zone_name: 'America/Mexico_City'},
{rails_zone_name: 'Mexico City',
iana_zone_name: 'America/Mexico_City'},
{rails_zone_name: 'Monterrey',
iana_zone_name: 'America/Monterrey'},
{rails_zone_name: 'Central America',
iana_zone_name: 'America/Guatemala'},
{rails_zone_name: 'Eastern Time (US & Canada)',
iana_zone_name: 'America/New_York'},
{rails_zone_name: 'Indiana (East)',
iana_zone_name: 'America/Indiana/Indianapolis'},
{rails_zone_name: 'Bogota',
iana_zone_name: 'America/Bogota'},
{rails_zone_name: 'Lima',
iana_zone_name: 'America/Lima'},
{rails_zone_name: 'Quito',
iana_zone_name: 'America/Lima'},
{rails_zone_name: 'Atlantic Time (Canada)',
iana_zone_name: 'America/Halifax'},
{rails_zone_name: 'Caracas',
iana_zone_name: 'America/Caracas'},
{rails_zone_name: 'La Paz',
iana_zone_name: 'America/La_Paz'},
{rails_zone_name: 'Santiago',
iana_zone_name: 'America/Santiago'},
{rails_zone_name: 'Newfoundland',
iana_zone_name: 'America/St_Johns'},
{rails_zone_name: 'Brasilia',
iana_zone_name: 'America/Sao_Paulo'},
{rails_zone_name: 'Buenos Aires',
iana_zone_name: 'America/Argentina/Buenos_Aires'},
{rails_zone_name: 'Montevideo',
iana_zone_name: 'America/Montevideo'},
{rails_zone_name: 'Georgetown',
iana_zone_name: 'America/Guyana'},
{rails_zone_name: 'Puerto Rico',
iana_zone_name: 'America/Puerto_Rico'},
{rails_zone_name: 'Greenland',
iana_zone_name: 'America/Godthab'},
{rails_zone_name: 'Mid-Atlantic',
iana_zone_name: 'Atlantic/South_Georgia'},
{rails_zone_name: 'Azores',
iana_zone_name: 'Atlantic/Azores'},
{rails_zone_name: 'Cape Verde Is.',
iana_zone_name: 'Atlantic/Cape_Verde'},
{rails_zone_name: 'Dublin',
iana_zone_name: 'Europe/Dublin'},
{rails_zone_name: 'Edinburgh',
iana_zone_name: 'Europe/London'},
{rails_zone_name: 'Lisbon',
iana_zone_name: 'Europe/Lisbon'},
{rails_zone_name: 'London',
iana_zone_name: 'Europe/London'},
{rails_zone_name: 'Casablanca',
iana_zone_name: 'Africa/Casablanca'},
{rails_zone_name: 'Monrovia',
iana_zone_name: 'Africa/Monrovia'},
{rails_zone_name: 'UTC',
iana_zone_name: 'Etc/UTC'},
{rails_zone_name: 'Belgrade',
iana_zone_name: 'Europe/Belgrade'},
{rails_zone_name: 'Bratislava',
iana_zone_name: 'Europe/Bratislava'},
{rails_zone_name: 'Budapest',
iana_zone_name: 'Europe/Budapest'},
{rails_zone_name: 'Ljubljana',
iana_zone_name: 'Europe/Ljubljana'},
{rails_zone_name: 'Prague',
iana_zone_name: 'Europe/Prague'},
{rails_zone_name: 'Sarajevo',
iana_zone_name: 'Europe/Sarajevo'},
{rails_zone_name: 'Skopje',
iana_zone_name: 'Europe/Skopje'},
{rails_zone_name: 'Warsaw',
iana_zone_name: 'Europe/Warsaw'},
{rails_zone_name: 'Zagreb',
iana_zone_name: 'Europe/Zagreb'},
{rails_zone_name: 'Brussels',
iana_zone_name: 'Europe/Brussels'},
{rails_zone_name: 'Copenhagen',
iana_zone_name: 'Europe/Copenhagen'},
{rails_zone_name: 'Madrid',
iana_zone_name: 'Europe/Madrid'},
{rails_zone_name: 'Paris',
iana_zone_name: 'Europe/Paris'},
{rails_zone_name: 'Amsterdam',
iana_zone_name: 'Europe/Amsterdam'},
{rails_zone_name: 'Berlin',
iana_zone_name: 'Europe/Berlin'},
{rails_zone_name: 'Bern',
iana_zone_name: 'Europe/Zurich'},
{rails_zone_name: 'Zurich',
iana_zone_name: 'Europe/Zurich'},
{rails_zone_name: 'Rome',
iana_zone_name: 'Europe/Rome'},
{rails_zone_name: 'Stockholm',
iana_zone_name: 'Europe/Stockholm'},
{rails_zone_name: 'Vienna',
iana_zone_name: 'Europe/Vienna'},
{rails_zone_name: 'West Central Africa',
iana_zone_name: 'Africa/Algiers'},
{rails_zone_name: 'Bucharest',
iana_zone_name: 'Europe/Bucharest'},
{rails_zone_name: 'Cairo',
iana_zone_name: 'Africa/Cairo'},
{rails_zone_name: 'Helsinki',
iana_zone_name: 'Europe/Helsinki'},
{rails_zone_name: 'Kyiv',
iana_zone_name: 'Europe/Kiev'},
{rails_zone_name: 'Riga',
iana_zone_name: 'Europe/Riga'},
{rails_zone_name: 'Sofia',
iana_zone_name: 'Europe/Sofia'},
{rails_zone_name: 'Tallinn',
iana_zone_name: 'Europe/Tallinn'},
{rails_zone_name: 'Vilnius',
iana_zone_name: 'Europe/Vilnius'},
{rails_zone_name: 'Athens',
iana_zone_name: 'Europe/Athens'},
{rails_zone_name: 'Istanbul',
iana_zone_name: 'Europe/Istanbul'},
{rails_zone_name: 'Minsk',
iana_zone_name: 'Europe/Minsk'},
{rails_zone_name: 'Jerusalem',
iana_zone_name: 'Asia/Jerusalem'},
{rails_zone_name: 'Harare',
iana_zone_name: 'Africa/Harare'},
{rails_zone_name: 'Pretoria',
iana_zone_name: 'Africa/Johannesburg'},
{rails_zone_name: 'Kaliningrad',
iana_zone_name: 'Europe/Kaliningrad'},
{rails_zone_name: 'Moscow',
iana_zone_name: 'Europe/Moscow'},
{rails_zone_name: 'St. Petersburg',
iana_zone_name: 'Europe/Moscow'},
{rails_zone_name: 'Volgograd',
iana_zone_name: 'Europe/Volgograd'},
{rails_zone_name: 'Samara',
iana_zone_name: 'Europe/Samara'},
{rails_zone_name: 'Kuwait',
iana_zone_name: 'Asia/Kuwait'},
{rails_zone_name: 'Riyadh',
iana_zone_name: 'Asia/Riyadh'},
{rails_zone_name: 'Nairobi',
iana_zone_name: 'Africa/Nairobi'},
{rails_zone_name: 'Baghdad',
iana_zone_name: 'Asia/Baghdad'},
{rails_zone_name: 'Tehran',
iana_zone_name: 'Asia/Tehran'},
{rails_zone_name: 'Abu Dhabi',
iana_zone_name: 'Asia/Muscat'},
{rails_zone_name: 'Muscat',
iana_zone_name: 'Asia/Muscat'},
{rails_zone_name: 'Baku',
iana_zone_name: 'Asia/Baku'},
{rails_zone_name: 'Tbilisi',
iana_zone_name: 'Asia/Tbilisi'},
{rails_zone_name: 'Yerevan',
iana_zone_name: 'Asia/Yerevan'},
{rails_zone_name: 'Kabul',
iana_zone_name: 'Asia/Kabul'},
{rails_zone_name: 'Ekaterinburg',
iana_zone_name: 'Asia/Yekaterinburg'},
{rails_zone_name: 'Islamabad',
iana_zone_name: 'Asia/Karachi'},
{rails_zone_name: 'Karachi',
iana_zone_name: 'Asia/Karachi'},
{rails_zone_name: 'Tashkent',
iana_zone_name: 'Asia/Tashkent'},
{rails_zone_name: 'Chennai',
iana_zone_name: 'Asia/Kolkata'},
{rails_zone_name: 'Kolkata',
iana_zone_name: 'Asia/Kolkata'},
{rails_zone_name: 'Mumbai',
iana_zone_name: 'Asia/Kolkata'},
{rails_zone_name: 'New Delhi',
iana_zone_name: 'Asia/Kolkata'},
{rails_zone_name: 'Kathmandu',
iana_zone_name: 'Asia/Kathmandu'},
{rails_zone_name: 'Astana',
iana_zone_name: 'Asia/Dhaka'},
{rails_zone_name: 'Dhaka',
iana_zone_name: 'Asia/Dhaka'},
{rails_zone_name: 'Sri Jayawardenepura',
iana_zone_name: 'Asia/Colombo'},
{rails_zone_name: 'Almaty',
iana_zone_name: 'Asia/Almaty'},
{rails_zone_name: 'Novosibirsk',
iana_zone_name: 'Asia/Novosibirsk'},
{rails_zone_name: 'Rangoon',
iana_zone_name: 'Asia/Rangoon'},
{rails_zone_name: 'Bangkok',
iana_zone_name: 'Asia/Bangkok'},
{rails_zone_name: 'Hanoi',
iana_zone_name: 'Asia/Bangkok'},
{rails_zone_name: 'Jakarta',
iana_zone_name: 'Asia/Jakarta'},
{rails_zone_name: 'Krasnoyarsk',
iana_zone_name: 'Asia/Krasnoyarsk'},
{rails_zone_name: 'Beijing',
iana_zone_name: 'Asia/Shanghai'},
{rails_zone_name: 'Chongqing',
iana_zone_name: 'Asia/Chongqing'},
{rails_zone_name: 'Hong Kong',
iana_zone_name: 'Asia/Hong_Kong'},
{rails_zone_name: 'Urumqi',
iana_zone_name: 'Asia/Urumqi'},
{rails_zone_name: 'Kuala Lumpur',
iana_zone_name: 'Asia/Kuala_Lumpur'},
{rails_zone_name: 'Singapore',
iana_zone_name: 'Asia/Singapore'},
{rails_zone_name: 'Taipei',
iana_zone_name: 'Asia/Taipei'},
{rails_zone_name: 'Perth',
iana_zone_name: 'Australia/Perth'},
{rails_zone_name: 'Irkutsk',
iana_zone_name: 'Asia/Irkutsk'},
{rails_zone_name: 'Ulaanbaatar',
iana_zone_name: 'Asia/Ulaanbaatar'},
{rails_zone_name: 'Seoul',
iana_zone_name: 'Asia/Seoul'},
{rails_zone_name: 'Osaka',
iana_zone_name: 'Asia/Tokyo'},
{rails_zone_name: 'Sapporo',
iana_zone_name: 'Asia/Tokyo'},
{rails_zone_name: 'Tokyo',
iana_zone_name: 'Asia/Tokyo'},
{rails_zone_name: 'Yakutsk',
iana_zone_name: 'Asia/Yakutsk'},
{rails_zone_name: 'Darwin',
iana_zone_name: 'Australia/Darwin'},
{rails_zone_name: 'Adelaide',
iana_zone_name: 'Australia/Adelaide'},
{rails_zone_name: 'Canberra',
iana_zone_name: 'Australia/Melbourne'},
{rails_zone_name: 'Melbourne',
iana_zone_name: 'Australia/Melbourne'},
{rails_zone_name: 'Sydney',
iana_zone_name: 'Australia/Sydney'},
{rails_zone_name: 'Brisbane',
iana_zone_name: 'Australia/Brisbane'},
{rails_zone_name: 'Hobart',
iana_zone_name: 'Australia/Hobart'},
{rails_zone_name: 'Vladivostok',
iana_zone_name: 'Asia/Vladivostok'},
{rails_zone_name: 'Guam',
iana_zone_name: 'Pacific/Guam'},
{rails_zone_name: 'Port Moresby',
iana_zone_name: 'Pacific/Port_Moresby'},
{rails_zone_name: 'Magadan',
iana_zone_name: 'Asia/Magadan'},
{rails_zone_name: 'Srednekolymsk',
iana_zone_name: 'Asia/Srednekolymsk'},
{rails_zone_name: 'Solomon Is.',
iana_zone_name: 'Pacific/Guadalcanal'},
{rails_zone_name: 'New Caledonia',
iana_zone_name: 'Pacific/Noumea'},
{rails_zone_name: 'Fiji',
iana_zone_name: 'Pacific/Fiji'},
{rails_zone_name: 'Kamchatka',
iana_zone_name: 'Asia/Kamchatka'},
{rails_zone_name: 'Marshall Is.',
iana_zone_name: 'Pacific/Majuro'},
{rails_zone_name: 'Auckland',
iana_zone_name: 'Pacific/Auckland'},
{rails_zone_name: 'Wellington',
iana_zone_name: 'Pacific/Auckland'},
{rails_zone_name: 'Nuku\'alofa',
iana_zone_name: 'Pacific/Tongatapu'},
{rails_zone_name: 'Tokelau Is.',
iana_zone_name: 'Pacific/Fakaofo'},
{rails_zone_name: 'Chatham Is.',
iana_zone_name: 'Pacific/Chatham'},
{rails_zone_name: 'Samoa',
iana_zone_name: 'Pacific/Apia'},
];
export const railsZoneNames = function() {
return TIMEZONE_MAP.mapBy('rails_zone_name');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment