Forked from hlung/ActiveSupport_to_iOS_timezones.plist
Last active
March 13, 2023 04:17
-
-
Save rjregenold/5243201 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>Information</key> | |
<dict> | |
<key>Description</key> | |
<string>Map Rails ActiveSupport timezones to iOS readable timezone IDs.</string> | |
<key>Version</key> | |
<string>1.0</string> | |
</dict> | |
<key>TimeZones</key> | |
<dict> | |
<key>International Date Line West</key> | |
<string>Pacific/Midway</string> | |
<key>Midway Island</key> | |
<string>Pacific/Midway</string> | |
<key>American Samoa</key> | |
<string>Pacific/Pago_Pago</string> | |
<key>Hawaii</key> | |
<string>Pacific/Honolulu</string> | |
<key>Alaska</key> | |
<string>America/Juneau</string> | |
<key>Pacific Time (US & Canada)</key> | |
<string>America/Los_Angeles</string> | |
<key>Tijuana</key> | |
<string>America/Tijuana</string> | |
<key>Mountain Time (US & Canada)</key> | |
<string>America/Denver</string> | |
<key>Arizona</key> | |
<string>America/Phoenix</string> | |
<key>Chihuahua</key> | |
<string>America/Chihuahua</string> | |
<key>Mazatlan</key> | |
<string>America/Mazatlan</string> | |
<key>Central Time (US & Canada)</key> | |
<string>America/Chicago</string> | |
<key>Saskatchewan</key> | |
<string>America/Regina</string> | |
<key>Guadalajara</key> | |
<string>America/Mexico_City</string> | |
<key>Mexico City</key> | |
<string>America/Mexico_City</string> | |
<key>Monterrey</key> | |
<string>America/Monterrey</string> | |
<key>Central America</key> | |
<string>America/Guatemala</string> | |
<key>Eastern Time (US & Canada)</key> | |
<string>America/New_York</string> | |
<key>Indiana (East)</key> | |
<string>America/Indiana/Indianapolis</string> | |
<key>Bogota</key> | |
<string>America/Bogota</string> | |
<key>Lima</key> | |
<string>America/Lima</string> | |
<key>Quito</key> | |
<string>America/Lima</string> | |
<key>Atlantic Time (Canada)</key> | |
<string>America/Halifax</string> | |
<key>Caracas</key> | |
<string>America/Caracas</string> | |
<key>La Paz</key> | |
<string>America/La_Paz</string> | |
<key>Santiago</key> | |
<string>America/Santiago</string> | |
<key>Newfoundland</key> | |
<string>America/St_Johns</string> | |
<key>Brasilia</key> | |
<string>America/Sao_Paulo</string> | |
<key>Buenos Aires</key> | |
<string>America/Argentina/Buenos_Aires</string> | |
<key>Georgetown</key> | |
<string>America/Guyana</string> | |
<key>Greenland</key> | |
<string>America/Godthab</string> | |
<key>Mid-Atlantic</key> | |
<string>Atlantic/South_Georgia</string> | |
<key>Azores</key> | |
<string>Atlantic/Azores</string> | |
<key>Cape Verde Is.</key> | |
<string>Atlantic/Cape_Verde</string> | |
<key>Dublin</key> | |
<string>Europe/Dublin</string> | |
<key>Edinburgh</key> | |
<string>Europe/London</string> | |
<key>Lisbon</key> | |
<string>Europe/Lisbon</string> | |
<key>London</key> | |
<string>Europe/London</string> | |
<key>Casablanca</key> | |
<string>Africa/Casablanca</string> | |
<key>Monrovia</key> | |
<string>Africa/Monrovia</string> | |
<key>UTC</key> | |
<string>Etc/UTC</string> | |
<key>Belgrade</key> | |
<string>Europe/Belgrade</string> | |
<key>Bratislava</key> | |
<string>Europe/Bratislava</string> | |
<key>Budapest</key> | |
<string>Europe/Budapest</string> | |
<key>Ljubljana</key> | |
<string>Europe/Ljubljana</string> | |
<key>Prague</key> | |
<string>Europe/Prague</string> | |
<key>Sarajevo</key> | |
<string>Europe/Sarajevo</string> | |
<key>Skopje</key> | |
<string>Europe/Skopje</string> | |
<key>Warsaw</key> | |
<string>Europe/Warsaw</string> | |
<key>Zagreb</key> | |
<string>Europe/Zagreb</string> | |
<key>Brussels</key> | |
<string>Europe/Brussels</string> | |
<key>Copenhagen</key> | |
<string>Europe/Copenhagen</string> | |
<key>Madrid</key> | |
<string>Europe/Madrid</string> | |
<key>Paris</key> | |
<string>Europe/Paris</string> | |
<key>Amsterdam</key> | |
<string>Europe/Amsterdam</string> | |
<key>Berlin</key> | |
<string>Europe/Berlin</string> | |
<key>Bern</key> | |
<string>Europe/Berlin</string> | |
<key>Rome</key> | |
<string>Europe/Rome</string> | |
<key>Stockholm</key> | |
<string>Europe/Stockholm</string> | |
<key>Vienna</key> | |
<string>Europe/Vienna</string> | |
<key>West Central Africa</key> | |
<string>Africa/Algiers</string> | |
<key>Bucharest</key> | |
<string>Europe/Bucharest</string> | |
<key>Cairo</key> | |
<string>Africa/Cairo</string> | |
<key>Helsinki</key> | |
<string>Europe/Helsinki</string> | |
<key>Kyiv</key> | |
<string>Europe/Kiev</string> | |
<key>Riga</key> | |
<string>Europe/Riga</string> | |
<key>Sofia</key> | |
<string>Europe/Sofia</string> | |
<key>Tallinn</key> | |
<string>Europe/Tallinn</string> | |
<key>Vilnius</key> | |
<string>Europe/Vilnius</string> | |
<key>Athens</key> | |
<string>Europe/Athens</string> | |
<key>Istanbul</key> | |
<string>Europe/Istanbul</string> | |
<key>Minsk</key> | |
<string>Europe/Minsk</string> | |
<key>Jerusalem</key> | |
<string>Asia/Jerusalem</string> | |
<key>Harare</key> | |
<string>Africa/Harare</string> | |
<key>Pretoria</key> | |
<string>Africa/Johannesburg</string> | |
<key>Moscow</key> | |
<string>Europe/Moscow</string> | |
<key>St. Petersburg</key> | |
<string>Europe/Moscow</string> | |
<key>Volgograd</key> | |
<string>Europe/Moscow</string> | |
<key>Kuwait</key> | |
<string>Asia/Kuwait</string> | |
<key>Riyadh</key> | |
<string>Asia/Riyadh</string> | |
<key>Nairobi</key> | |
<string>Africa/Nairobi</string> | |
<key>Baghdad</key> | |
<string>Asia/Baghdad</string> | |
<key>Tehran</key> | |
<string>Asia/Tehran</string> | |
<key>Abu Dhabi</key> | |
<string>Asia/Muscat</string> | |
<key>Muscat</key> | |
<string>Asia/Muscat</string> | |
<key>Baku</key> | |
<string>Asia/Baku</string> | |
<key>Tbilisi</key> | |
<string>Asia/Tbilisi</string> | |
<key>Yerevan</key> | |
<string>Asia/Yerevan</string> | |
<key>Kabul</key> | |
<string>Asia/Kabul</string> | |
<key>Ekaterinburg</key> | |
<string>Asia/Yekaterinburg</string> | |
<key>Islamabad</key> | |
<string>Asia/Karachi</string> | |
<key>Karachi</key> | |
<string>Asia/Karachi</string> | |
<key>Tashkent</key> | |
<string>Asia/Tashkent</string> | |
<key>Chennai</key> | |
<string>Asia/Kolkata</string> | |
<key>Kolkata</key> | |
<string>Asia/Kolkata</string> | |
<key>Mumbai</key> | |
<string>Asia/Kolkata</string> | |
<key>New Delhi</key> | |
<string>Asia/Kolkata</string> | |
<key>Kathmandu</key> | |
<string>Asia/Kathmandu</string> | |
<key>Astana</key> | |
<string>Asia/Dhaka</string> | |
<key>Dhaka</key> | |
<string>Asia/Dhaka</string> | |
<key>Sri Jayawardenepura</key> | |
<string>Asia/Colombo</string> | |
<key>Almaty</key> | |
<string>Asia/Almaty</string> | |
<key>Novosibirsk</key> | |
<string>Asia/Novosibirsk</string> | |
<key>Rangoon</key> | |
<string>Asia/Rangoon</string> | |
<key>Bangkok</key> | |
<string>Asia/Bangkok</string> | |
<key>Hanoi</key> | |
<string>Asia/Bangkok</string> | |
<key>Jakarta</key> | |
<string>Asia/Jakarta</string> | |
<key>Krasnoyarsk</key> | |
<string>Asia/Krasnoyarsk</string> | |
<key>Beijing</key> | |
<string>Asia/Shanghai</string> | |
<key>Chongqing</key> | |
<string>Asia/Chongqing</string> | |
<key>Hong Kong</key> | |
<string>Asia/Hong_Kong</string> | |
<key>Urumqi</key> | |
<string>Asia/Urumqi</string> | |
<key>Kuala Lumpur</key> | |
<string>Asia/Kuala_Lumpur</string> | |
<key>Singapore</key> | |
<string>Asia/Singapore</string> | |
<key>Taipei</key> | |
<string>Asia/Taipei</string> | |
<key>Perth</key> | |
<string>Australia/Perth</string> | |
<key>Irkutsk</key> | |
<string>Asia/Irkutsk</string> | |
<key>Ulaan Bataar</key> | |
<string>Asia/Ulaanbaatar</string> | |
<key>Seoul</key> | |
<string>Asia/Seoul</string> | |
<key>Osaka</key> | |
<string>Asia/Tokyo</string> | |
<key>Sapporo</key> | |
<string>Asia/Tokyo</string> | |
<key>Tokyo</key> | |
<string>Asia/Tokyo</string> | |
<key>Yakutsk</key> | |
<string>Asia/Yakutsk</string> | |
<key>Darwin</key> | |
<string>Australia/Darwin</string> | |
<key>Adelaide</key> | |
<string>Australia/Adelaide</string> | |
<key>Canberra</key> | |
<string>Australia/Melbourne</string> | |
<key>Melbourne</key> | |
<string>Australia/Melbourne</string> | |
<key>Sydney</key> | |
<string>Australia/Sydney</string> | |
<key>Brisbane</key> | |
<string>Australia/Brisbane</string> | |
<key>Hobart</key> | |
<string>Australia/Hobart</string> | |
<key>Vladivostok</key> | |
<string>Asia/Vladivostok</string> | |
<key>Guam</key> | |
<string>Pacific/Guam</string> | |
<key>Port Moresby</key> | |
<string>Pacific/Port_Moresby</string> | |
<key>Magadan</key> | |
<string>Asia/Magadan</string> | |
<key>Solomon Is.</key> | |
<string>Asia/Magadan</string> | |
<key>New Caledonia</key> | |
<string>Pacific/Noumea</string> | |
<key>Fiji</key> | |
<string>Pacific/Fiji</string> | |
<key>Kamchatka</key> | |
<string>Asia/Kamchatka</string> | |
<key>Marshall Is.</key> | |
<string>Pacific/Majuro</string> | |
<key>Auckland</key> | |
<string>Pacific/Auckland</string> | |
<key>Wellington</key> | |
<string>Pacific/Auckland</string> | |
<key>Nuku'alofa</key> | |
<string>Pacific/Tongatapu</string> | |
<key>Tokelau Is.</key> | |
<string>Pacific/Fakaofo</string> | |
<key>Samoa</key> | |
<string>Pacific/Apia</string> | |
</dict> | |
</dict> | |
</plist> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Save the above plist somewhere in your project. Then use it like this: | |
NSString *activeRecordTimeZoneName = @"American Samoa"; | |
NSDictionary *timeZoneMap = [[NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"ActiveRecord2iOS_Timezones" ofType:@"plist"]] objectForKey:@"TimeZones"]; | |
return [NSTimeZone timeZoneWithName:[timeZoneMap valueForKey:activeRecordTimeZoneName]]; |
Nice Work.Thanks
Swift Implementation:
let activeRecordTimeZoneName = "American Samoa"
let path = Bundle.main.path(forResource: "ActiveSupport2iOS_Timezones", ofType: "plist")!
let timeZoneMap: NSDictionary = NSDictionary(contentsOfFile: path)!["TimeZones"]
return timeZoneMap[activeRecordTimeZoneName]
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
All of these still work except for "Ulaan Bataar" which is now "Ulaanbaatar" in rails.