timezone 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +2 -0
- data/CHANGES.markdown +2 -2
- data/CONTRIBUTING.markdown +6 -2
- data/README.markdown +10 -4
- data/Rakefile +1 -1
- data/data/Asia/Nicosia.json +1 -1
- data/lib/timezone.rb +2 -2
- data/lib/timezone/active_support.rb +410 -0
- data/lib/timezone/parser.rb +29 -0
- data/lib/timezone/parser/data.rb +103 -0
- data/lib/timezone/parser/link.rb +10 -0
- data/lib/timezone/parser/rule.rb +55 -0
- data/lib/timezone/parser/rule/entry.rb +74 -0
- data/lib/timezone/parser/rule/on.rb +30 -0
- data/lib/timezone/parser/rule/on_rules.rb +30 -0
- data/lib/timezone/parser/zone.rb +37 -0
- data/lib/timezone/parser/zone/data_generator.rb +77 -0
- data/lib/timezone/parser/zone/entry.rb +39 -0
- data/lib/timezone/parser/zone/until.rb +28 -0
- data/lib/timezone/version.rb +1 -1
- data/lib/timezone/zone.rb +7 -2
- data/test/data/asia +2717 -0
- data/test/timezone/parser/rule/on_rules_test.rb +20 -0
- data/test/timezone/parser/rule_test.rb +52 -0
- data/test/timezone/parser/zone/data_generator_test.rb +101 -0
- data/test/timezone/parser/zone/until_test.rb +13 -0
- data/test/timezone/parser/zone_test.rb +42 -0
- data/test/timezone/parser_test.rb +12 -0
- data/test/timezone_test.rb +47 -1
- data/timezone.gemspec +1 -1
- metadata +33 -10
- data/lib/timezone/rule.rb +0 -30
- data/test/rule_test.rb +0 -42
data/.travis.yml
CHANGED
data/CHANGES.markdown
CHANGED
data/CONTRIBUTING.markdown
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
* Bundler is used to manage dependencies.
|
4
4
|
* Tests can be run with the `rake` command.
|
5
|
-
* Updated JSON data is imported from the
|
6
|
-
[tzdata](https://gitorious.org/tz/tzdata) repository.
|
7
5
|
* Write tests and create pull requests.
|
6
|
+
|
7
|
+
# How to Acquire New TZData Information
|
8
|
+
|
9
|
+
* Download `tzdataXYZ.tar.gz` from [IANA](http://www.iana.org/time-zones).
|
10
|
+
* Extract using `tar -xvzf tzdataXYZ.tar.gz -C path`.
|
11
|
+
* Convert the timezone text files to JSON.
|
data/README.markdown
CHANGED
@@ -42,13 +42,19 @@ Finally, pass the coordinates to your timezone initialization function.
|
|
42
42
|
timezone.time Time.now
|
43
43
|
=> 2011-02-12 12:02:13 UTC
|
44
44
|
|
45
|
+
## Displaying a timezone's name in a Rails/ActiveSupport compatible format
|
46
|
+
|
47
|
+
timezone = Timezone::Zone.new :latlon => [-34.92771808058, 138.477041423321]
|
48
|
+
timezone.active_support_time_zone
|
49
|
+
=> "Eastern Time (US & Canada)"
|
50
|
+
|
45
51
|
## Getting the complete list of timezones.
|
46
52
|
|
47
53
|
Retrieving the complete list of timezones is quite simple:
|
48
54
|
|
49
55
|
timezones = Timezone::Zone.names
|
50
56
|
=> ["Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", ...]
|
51
|
-
|
57
|
+
|
52
58
|
## Listing current information from specific timezones
|
53
59
|
|
54
60
|
If you need information from a specific set of timezones rather than a complete list or one at a time, this can be accomplished with the following:
|
@@ -62,19 +68,19 @@ If you need information from a specific set of timezones rather than a complete
|
|
62
68
|
# :utc_offset => -5, # UTC offset in hours
|
63
69
|
# :dst => false
|
64
70
|
# }
|
65
|
-
|
71
|
+
|
66
72
|
You can customize what is placed in the `:title` key in the configuration block. This would be useful in the case of an HTML select list that you would like to display different values than the default name. For example, the following configuration will set the `:title` key in the list hash to "Chicago" rather than "America/Chicago".
|
67
73
|
|
68
74
|
Timezone::Configure.build do |c|
|
69
75
|
c.replace "America/Chicago", with: "Chicago"
|
70
76
|
end
|
71
|
-
|
77
|
+
|
72
78
|
Also, if you make numerous calls to the **Zone#list** method in your software, but you would like to avoid duplicating which timezones to retrieve, you can set a default in the configuration:
|
73
79
|
|
74
80
|
Timezone::Configure.begin do |c|
|
75
81
|
c.default_for_list = "America/Chicago", "America/New_York", "Australia/Sydney"
|
76
82
|
end
|
77
|
-
|
83
|
+
|
78
84
|
Finally, by default the **Zone#list** method will order the results by the timezone's UTC offset. You can customize this behavior this way:
|
79
85
|
|
80
86
|
Timezone::Configure.begin do |c|
|
data/Rakefile
CHANGED
data/data/Asia/Nicosia.json
CHANGED
data/lib/timezone.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
require
|
1
|
+
require 'timezone/zone'
|
2
2
|
|
3
|
-
module Timezone; end
|
3
|
+
module Timezone; end
|
@@ -0,0 +1,410 @@
|
|
1
|
+
module Timezone
|
2
|
+
# ActiveSupport class for mapping tz info identifiers to rails identifiers
|
3
|
+
class ActiveSupport
|
4
|
+
TIMEZONE_MAPPING = {
|
5
|
+
"Australia/Adelaide" => "Adelaide",
|
6
|
+
"Australia/Broken_Hill" => "Adelaide",
|
7
|
+
"America/Anchorage" => "Alaska",
|
8
|
+
"America/Juneau" => "Alaska",
|
9
|
+
"America/Nome" => "Alaska",
|
10
|
+
"America/Yakutat" => "Alaska",
|
11
|
+
"Pacific/Gambier" => "Alaska",
|
12
|
+
"Asia/Almaty" => "Almaty",
|
13
|
+
"Europe/Amsterdam" => "Amsterdam",
|
14
|
+
"Europe/Athens" => "Athens",
|
15
|
+
"America/Anguilla" => "Atlantic Time (Canada)",
|
16
|
+
"America/Antigua" => "Atlantic Time (Canada)",
|
17
|
+
"America/Argentina/San_Luis" => "Atlantic Time (Canada)",
|
18
|
+
"America/Aruba" => "Atlantic Time (Canada)",
|
19
|
+
"America/Asuncion" => "Atlantic Time (Canada)",
|
20
|
+
"America/Barbados" => "Atlantic Time (Canada)",
|
21
|
+
"America/Blanc-Sablon" => "Atlantic Time (Canada)",
|
22
|
+
"America/Boa_Vista" => "Atlantic Time (Canada)",
|
23
|
+
"America/Campo_Grande" => "Atlantic Time (Canada)",
|
24
|
+
"America/Cuiaba" => "Atlantic Time (Canada)",
|
25
|
+
"America/Curacao" => "Atlantic Time (Canada)",
|
26
|
+
"America/Dominica" => "Atlantic Time (Canada)",
|
27
|
+
"America/Eirunepe" => "Atlantic Time (Canada)",
|
28
|
+
"America/Glace_Bay" => "Atlantic Time (Canada)",
|
29
|
+
"America/Goose_Bay" => "Atlantic Time (Canada)",
|
30
|
+
"America/Grenada" => "Atlantic Time (Canada)",
|
31
|
+
"America/Guadeloupe" => "Atlantic Time (Canada)",
|
32
|
+
"America/Guyana" => "Atlantic Time (Canada)",
|
33
|
+
"America/Halifax" => "Atlantic Time (Canada)",
|
34
|
+
"America/Manaus" => "Atlantic Time (Canada)",
|
35
|
+
"America/Marigot" => "Atlantic Time (Canada)",
|
36
|
+
"America/Martinique" => "Atlantic Time (Canada)",
|
37
|
+
"America/Moncton" => "Atlantic Time (Canada)",
|
38
|
+
"America/Montserrat" => "Atlantic Time (Canada)",
|
39
|
+
"America/Porto_Velho" => "Atlantic Time (Canada)",
|
40
|
+
"America/Port_of_Spain" => "Atlantic Time (Canada)",
|
41
|
+
"America/Puerto_Rico" => "Atlantic Time (Canada)",
|
42
|
+
"America/Rio_Branco" => "Atlantic Time (Canada)",
|
43
|
+
"America/Santo_Domingo" => "Atlantic Time (Canada)",
|
44
|
+
"America/St_Barthelemy" => "Atlantic Time (Canada)",
|
45
|
+
"America/St_Kitts" => "Atlantic Time (Canada)",
|
46
|
+
"America/St_Lucia" => "Atlantic Time (Canada)",
|
47
|
+
"America/St_Thomas" => "Atlantic Time (Canada)",
|
48
|
+
"America/St_Vincent" => "Atlantic Time (Canada)",
|
49
|
+
"America/Thule" => "Atlantic Time (Canada)",
|
50
|
+
"America/Tortola" => "Atlantic Time (Canada)",
|
51
|
+
"Antarctica/Palmer" => "Atlantic Time (Canada)",
|
52
|
+
"Atlantic/Bermuda" => "Atlantic Time (Canada)",
|
53
|
+
"Atlantic/Stanley" => "Atlantic Time (Canada)",
|
54
|
+
"Antarctica/McMurdo" => "Auckland",
|
55
|
+
"Antarctica/South_Pole" => "Auckland",
|
56
|
+
"Pacific/Auckland" => "Auckland",
|
57
|
+
"Pacific/Funafuti" => "Auckland",
|
58
|
+
"Pacific/Kwajalein" => "Auckland",
|
59
|
+
"Pacific/Majuro" => "Auckland",
|
60
|
+
"Pacific/Nauru" => "Auckland",
|
61
|
+
"Pacific/Tarawa" => "Auckland",
|
62
|
+
"Pacific/Wake" => "Auckland",
|
63
|
+
"Pacific/Wallis" => "Auckland",
|
64
|
+
"Atlantic/Azores" => "Azores",
|
65
|
+
"Asia/Baghdad" => "Baghdad",
|
66
|
+
"Asia/Baku" => "Baku",
|
67
|
+
"Asia/Dubai" => "Baku",
|
68
|
+
"Indian/Mahe" => "Baku",
|
69
|
+
"Indian/Mauritius" => "Baku",
|
70
|
+
"Indian/Reunion" => "Baku",
|
71
|
+
"Asia/Bangkok" => "Bangkok",
|
72
|
+
"Europe/Belgrade" => "Belgrade",
|
73
|
+
"Europe/Berlin" => "Berlin",
|
74
|
+
"America/Bogota" => "Bogota",
|
75
|
+
"Europe/Bratislava" => "Bratislava",
|
76
|
+
"Australia/Brisbane" => "Brisbane",
|
77
|
+
"Europe/Brussels" => "Brussels",
|
78
|
+
"Europe/Bucharest" => "Bucharest",
|
79
|
+
"Europe/Budapest" => "Budapest",
|
80
|
+
"America/Araguaina" => "Buenos Aires",
|
81
|
+
"America/Argentina/Buenos_Aires" => "Buenos Aires",
|
82
|
+
"America/Argentina/Catamarca" => "Buenos Aires",
|
83
|
+
"America/Argentina/Cordoba" => "Buenos Aires",
|
84
|
+
"America/Argentina/Jujuy" => "Buenos Aires",
|
85
|
+
"America/Argentina/La_Rioja" => "Buenos Aires",
|
86
|
+
"America/Argentina/Mendoza" => "Buenos Aires",
|
87
|
+
"America/Argentina/Rio_Gallegos" => "Buenos Aires",
|
88
|
+
"America/Argentina/Salta" => "Buenos Aires",
|
89
|
+
"America/Argentina/San_Juan" => "Buenos Aires",
|
90
|
+
"America/Argentina/Tucuman" => "Buenos Aires",
|
91
|
+
"America/Argentina/Ushuaia" => "Buenos Aires",
|
92
|
+
"America/Bahia" => "Buenos Aires",
|
93
|
+
"America/Belem" => "Buenos Aires",
|
94
|
+
"America/Cayenne" => "Buenos Aires",
|
95
|
+
"America/Fortaleza" => "Buenos Aires",
|
96
|
+
"America/Godthab" => "Buenos Aires",
|
97
|
+
"America/Maceio" => "Buenos Aires",
|
98
|
+
"America/Miquelon" => "Buenos Aires",
|
99
|
+
"America/Montevideo" => "Buenos Aires",
|
100
|
+
"America/Paramaribo" => "Buenos Aires",
|
101
|
+
"America/Recife" => "Buenos Aires",
|
102
|
+
"America/Santarem" => "Buenos Aires",
|
103
|
+
"America/Sao_Paulo" => "Buenos Aires",
|
104
|
+
"Antarctica/Rothera" => "Buenos Aires",
|
105
|
+
"Africa/Blantyre" => "Cairo",
|
106
|
+
"Africa/Bujumbura" => "Cairo",
|
107
|
+
"Africa/Cairo" => "Cairo",
|
108
|
+
"Africa/Gaborone" => "Cairo",
|
109
|
+
"Africa/Johannesburg" => "Cairo",
|
110
|
+
"Africa/Kigali" => "Cairo",
|
111
|
+
"Africa/Lubumbashi" => "Cairo",
|
112
|
+
"Africa/Lusaka" => "Cairo",
|
113
|
+
"Africa/Maputo" => "Cairo",
|
114
|
+
"Africa/Maseru" => "Cairo",
|
115
|
+
"Africa/Mbabane" => "Cairo",
|
116
|
+
"Africa/Tripoli" => "Cairo",
|
117
|
+
"Asia/Amman" => "Cairo",
|
118
|
+
"Asia/Beirut" => "Cairo",
|
119
|
+
"Asia/Damascus" => "Cairo",
|
120
|
+
"Asia/Gaza" => "Cairo",
|
121
|
+
"Asia/Nicosia" => "Cairo",
|
122
|
+
"Europe/Chisinau" => "Cairo",
|
123
|
+
"Europe/Kaliningrad" => "Cairo",
|
124
|
+
"Europe/Kiev" => "Cairo",
|
125
|
+
"Europe/Mariehamn" => "Cairo",
|
126
|
+
"Europe/Simferopol" => "Cairo",
|
127
|
+
"Europe/Uzhgorod" => "Cairo",
|
128
|
+
"Europe/Zaporozhye" => "Cairo",
|
129
|
+
"America/Scoresbysund" => "Cape Verde Is.",
|
130
|
+
"Atlantic/Cape_Verde" => "Cape Verde Is.",
|
131
|
+
"America/Caracas" => "Caracas",
|
132
|
+
"Africa/Casablanca" => "Casablanca",
|
133
|
+
"America/Belize" => "Central Time (US & Canada)",
|
134
|
+
"America/Cancun" => "Central Time (US & Canada)",
|
135
|
+
"America/Chicago" => "Central Time (US & Canada)",
|
136
|
+
"America/Costa_Rica" => "Central Time (US & Canada)",
|
137
|
+
"America/El_Salvador" => "Central Time (US & Canada)",
|
138
|
+
"America/Guatemala" => "Central Time (US & Canada)",
|
139
|
+
"America/Indiana/Knox" => "Central Time (US & Canada)",
|
140
|
+
"America/Indiana/Tell_City" => "Central Time (US & Canada)",
|
141
|
+
"America/Managua" => "Central Time (US & Canada)",
|
142
|
+
"America/Matamoros" => "Central Time (US & Canada)",
|
143
|
+
"America/Menominee" => "Central Time (US & Canada)",
|
144
|
+
"America/Merida" => "Central Time (US & Canada)",
|
145
|
+
"America/North_Dakota/Center" => "Central Time (US & Canada)",
|
146
|
+
"America/North_Dakota/New_Salem" => "Central Time (US & Canada)",
|
147
|
+
"America/Rainy_River" => "Central Time (US & Canada)",
|
148
|
+
"America/Rankin_Inlet" => "Central Time (US & Canada)",
|
149
|
+
"America/Regina" => "Central Time (US & Canada)",
|
150
|
+
"America/Swift_Current" => "Central Time (US & Canada)",
|
151
|
+
"America/Tegucigalpa" => "Central Time (US & Canada)",
|
152
|
+
"America/Winnipeg" => "Central Time (US & Canada)",
|
153
|
+
"Pacific/Easter" => "Central Time (US & Canada)",
|
154
|
+
"Pacific/Galapagos" => "Central Time (US & Canada)",
|
155
|
+
"America/Chihuahua" => "Chihuahua",
|
156
|
+
"Asia/Chongqing" => "Chongqing",
|
157
|
+
"Europe/Copenhagen" => "Copenhagen",
|
158
|
+
"Australia/Darwin" => "Darwin",
|
159
|
+
"Antarctica/Mawson" => "Dhaka",
|
160
|
+
"Asia/Bishkek" => "Dhaka",
|
161
|
+
"Asia/Dhaka" => "Dhaka",
|
162
|
+
"Asia/Karachi" => "Dhaka",
|
163
|
+
"Asia/Novokuznetsk" => "Dhaka",
|
164
|
+
"Asia/Omsk" => "Dhaka",
|
165
|
+
"Asia/Qyzylorda" => "Dhaka",
|
166
|
+
"Asia/Thimphu" => "Dhaka",
|
167
|
+
"Indian/Chagos" => "Dhaka",
|
168
|
+
"Europe/Dublin" => "Dublin",
|
169
|
+
"America/Atikokan" => "Eastern Time (US & Canada)",
|
170
|
+
"America/Cayman" => "Eastern Time (US & Canada)",
|
171
|
+
"America/Detroit" => "Eastern Time (US & Canada)",
|
172
|
+
"America/Grand_Turk" => "Eastern Time (US & Canada)",
|
173
|
+
"America/Guayaquil" => "Eastern Time (US & Canada)",
|
174
|
+
"America/Havana" => "Eastern Time (US & Canada)",
|
175
|
+
"America/Indiana/Indianapolis" => "Eastern Time (US & Canada)",
|
176
|
+
"America/Indiana/Marengo" => "Eastern Time (US & Canada)",
|
177
|
+
"America/Indiana/Petersburg" => "Eastern Time (US & Canada)",
|
178
|
+
"America/Indiana/Vevay" => "Eastern Time (US & Canada)",
|
179
|
+
"America/Indiana/Vincennes" => "Eastern Time (US & Canada)",
|
180
|
+
"America/Indiana/Winamac" => "Eastern Time (US & Canada)",
|
181
|
+
"America/Iqaluit" => "Eastern Time (US & Canada)",
|
182
|
+
"America/Jamaica" => "Eastern Time (US & Canada)",
|
183
|
+
"America/Kentucky/Louisville" => "Eastern Time (US & Canada)",
|
184
|
+
"America/Kentucky/Monticello" => "Eastern Time (US & Canada)",
|
185
|
+
"America/Montreal" => "Eastern Time (US & Canada)",
|
186
|
+
"America/Nassau" => "Eastern Time (US & Canada)",
|
187
|
+
"America/New_York" => "Eastern Time (US & Canada)",
|
188
|
+
"America/Nipigon" => "Eastern Time (US & Canada)",
|
189
|
+
"America/Panama" => "Eastern Time (US & Canada)",
|
190
|
+
"America/Pangnirtung" => "Eastern Time (US & Canada)",
|
191
|
+
"America/Port-au-Prince" => "Eastern Time (US & Canada)",
|
192
|
+
"America/Resolute" => "Eastern Time (US & Canada)",
|
193
|
+
"America/Thunder_Bay" => "Eastern Time (US & Canada)",
|
194
|
+
"America/Toronto" => "Eastern Time (US & Canada)",
|
195
|
+
"Pacific/Fiji" => "Fiji",
|
196
|
+
"Pacific/Guam" => "Guam",
|
197
|
+
"Africa/Harare" => "Harare",
|
198
|
+
"America/Adak" => "Hawaii",
|
199
|
+
"Pacific/Fakaofo" => "Hawaii",
|
200
|
+
"Pacific/Honolulu" => "Hawaii",
|
201
|
+
"Pacific/Johnston" => "Hawaii",
|
202
|
+
"Pacific/Rarotonga" => "Hawaii",
|
203
|
+
"Pacific/Tahiti" => "Hawaii",
|
204
|
+
"Europe/Helsinki" => "Helsinki",
|
205
|
+
"Australia/Hobart" => "Hobart",
|
206
|
+
"Antarctica/Casey" => "Hong Kong",
|
207
|
+
"Asia/Brunei" => "Hong Kong",
|
208
|
+
"Asia/Choibalsan" => "Hong Kong",
|
209
|
+
"Asia/Harbin" => "Hong Kong",
|
210
|
+
"Asia/Hong_Kong" => "Hong Kong",
|
211
|
+
"Asia/Kashgar" => "Hong Kong",
|
212
|
+
"Asia/Kuching" => "Hong Kong",
|
213
|
+
"Asia/Macau" => "Hong Kong",
|
214
|
+
"Asia/Makassar" => "Hong Kong",
|
215
|
+
"Asia/Manila" => "Hong Kong",
|
216
|
+
"Asia/Shanghai" => "Hong Kong",
|
217
|
+
"Asia/Ulaanbaatar" => "Hong Kong",
|
218
|
+
"Asia/Irkutsk" => "Irkutsk",
|
219
|
+
"Europe/Istanbul" => "Istanbul",
|
220
|
+
"Antarctica/Davis" => "Jakarta",
|
221
|
+
"Asia/Hovd" => "Jakarta",
|
222
|
+
"Asia/Ho_Chi_Minh" => "Jakarta",
|
223
|
+
"Asia/Jakarta" => "Jakarta",
|
224
|
+
"Asia/Phnom_Penh" => "Jakarta",
|
225
|
+
"Asia/Pontianak" => "Jakarta",
|
226
|
+
"Asia/Vientiane" => "Jakarta",
|
227
|
+
"Indian/Christmas" => "Jakarta",
|
228
|
+
"Asia/Jerusalem" => "Jerusalem",
|
229
|
+
"Asia/Kabul" => "Kabul",
|
230
|
+
"Asia/Kamchatka" => "Kamchatka",
|
231
|
+
"Asia/Aqtau" => "Karachi",
|
232
|
+
"Asia/Aqtobe" => "Karachi",
|
233
|
+
"Asia/Ashgabat" => "Karachi",
|
234
|
+
"Asia/Dushanbe" => "Karachi",
|
235
|
+
"Asia/Oral" => "Karachi",
|
236
|
+
"Asia/Samarkand" => "Karachi",
|
237
|
+
"Asia/Yekaterinburg" => "Karachi",
|
238
|
+
"Indian/Kerguelen" => "Karachi",
|
239
|
+
"Indian/Maldives" => "Karachi",
|
240
|
+
"Asia/Kathmandu" => "Kathmandu",
|
241
|
+
"Asia/Kolkata" => "Kolkata",
|
242
|
+
"Asia/Krasnoyarsk" => "Krasnoyarsk",
|
243
|
+
"Asia/Kuala_Lumpur" => "Kuala Lumpur",
|
244
|
+
"Asia/Kuwait" => "Kuwait",
|
245
|
+
"America/La_Paz" => "La Paz",
|
246
|
+
"America/Lima" => "Lima",
|
247
|
+
"Europe/Lisbon" => "Lisbon",
|
248
|
+
"Europe/Ljubljana" => "Ljubljana",
|
249
|
+
"Africa/Abidjan" => "London",
|
250
|
+
"Africa/Accra" => "London",
|
251
|
+
"Africa/Bamako" => "London",
|
252
|
+
"Africa/Banjul" => "London",
|
253
|
+
"Africa/Bissau" => "London",
|
254
|
+
"Africa/Conakry" => "London",
|
255
|
+
"Africa/Dakar" => "London",
|
256
|
+
"Africa/El_Aaiun" => "London",
|
257
|
+
"Africa/Freetown" => "London",
|
258
|
+
"Africa/Lome" => "London",
|
259
|
+
"Africa/Nouakchott" => "London",
|
260
|
+
"Africa/Ouagadougou" => "London",
|
261
|
+
"Africa/Sao_Tome" => "London",
|
262
|
+
"America/Danmarkshavn" => "London",
|
263
|
+
"Antarctica/Vostok" => "London",
|
264
|
+
"Atlantic/Canary" => "London",
|
265
|
+
"Atlantic/Faroe" => "London",
|
266
|
+
"Atlantic/Madeira" => "London",
|
267
|
+
"Atlantic/Reykjavik" => "London",
|
268
|
+
"Atlantic/St_Helena" => "London",
|
269
|
+
"Europe/Guernsey" => "London",
|
270
|
+
"Europe/Isle_of_Man" => "London",
|
271
|
+
"Europe/Jersey" => "London",
|
272
|
+
"Europe/London" => "London",
|
273
|
+
"Europe/Madrid" => "Madrid",
|
274
|
+
"Asia/Magadan" => "Magadan",
|
275
|
+
"America/Mazatlan" => "Mazatlan",
|
276
|
+
"Australia/Melbourne" => "Melbourne",
|
277
|
+
"America/Mexico_City" => "Mexico City",
|
278
|
+
"America/Noronha" => "Mid-Atlantic",
|
279
|
+
"Atlantic/South_Georgia" => "Mid-Atlantic",
|
280
|
+
"Europe/Minsk" => "Minsk",
|
281
|
+
"Africa/Monrovia" => "Monrovia",
|
282
|
+
"America/Monterrey" => "Monterrey",
|
283
|
+
"Africa/Addis_Ababa" => "Moscow",
|
284
|
+
"Africa/Asmara" => "Moscow",
|
285
|
+
"Africa/Dar_es_Salaam" => "Moscow",
|
286
|
+
"Africa/Djibouti" => "Moscow",
|
287
|
+
"Africa/Kampala" => "Moscow",
|
288
|
+
"Africa/Khartoum" => "Moscow",
|
289
|
+
"Africa/Mogadishu" => "Moscow",
|
290
|
+
"Antarctica/Syowa" => "Moscow",
|
291
|
+
"Asia/Aden" => "Moscow",
|
292
|
+
"Asia/Bahrain" => "Moscow",
|
293
|
+
"Asia/Qatar" => "Moscow",
|
294
|
+
"Europe/Moscow" => "Moscow",
|
295
|
+
"Europe/Samara" => "Moscow",
|
296
|
+
"Indian/Antananarivo" => "Moscow",
|
297
|
+
"Indian/Comoro" => "Moscow",
|
298
|
+
"Indian/Mayotte" => "Moscow",
|
299
|
+
"America/Boise" => "Mountain Time (US & Canada)",
|
300
|
+
"America/Cambridge_Bay" => "Mountain Time (US & Canada)",
|
301
|
+
"America/Dawson_Creek" => "Mountain Time (US & Canada)",
|
302
|
+
"America/Denver" => "Mountain Time (US & Canada)",
|
303
|
+
"America/Edmonton" => "Mountain Time (US & Canada)",
|
304
|
+
"America/Hermosillo" => "Mountain Time (US & Canada)",
|
305
|
+
"America/Inuvik" => "Mountain Time (US & Canada)",
|
306
|
+
"America/Ojinaga" => "Mountain Time (US & Canada)",
|
307
|
+
"America/Phoenix" => "Mountain Time (US & Canada)",
|
308
|
+
"America/Shiprock" => "Mountain Time (US & Canada)",
|
309
|
+
"America/Yellowknife" => "Mountain Time (US & Canada)",
|
310
|
+
"Asia/Colombo" => "Mumbai",
|
311
|
+
"Asia/Muscat" => "Muscat",
|
312
|
+
"Africa/Nairobi" => "Nairobi",
|
313
|
+
"America/St_Johns" => "Newfoundland",
|
314
|
+
"Asia/Novosibirsk" => "Novosibirsk",
|
315
|
+
"Pacific/Enderbury" => "Nuku'alofa",
|
316
|
+
"Pacific/Tongatapu" => "Nuku'alofa",
|
317
|
+
"America/Dawson" => "Pacific Time (US & Canada)",
|
318
|
+
"America/Los_Angeles" => "Pacific Time (US & Canada)",
|
319
|
+
"America/Santa_Isabel" => "Pacific Time (US & Canada)",
|
320
|
+
"America/Vancouver" => "Pacific Time (US & Canada)",
|
321
|
+
"America/Whitehorse" => "Pacific Time (US & Canada)",
|
322
|
+
"Pacific/Pitcairn" => "Pacific Time (US & Canada)",
|
323
|
+
"Africa/Algiers" => "Paris",
|
324
|
+
"Africa/Bangui" => "Paris",
|
325
|
+
"Africa/Brazzaville" => "Paris",
|
326
|
+
"Africa/Ceuta" => "Paris",
|
327
|
+
"Africa/Douala" => "Paris",
|
328
|
+
"Africa/Kinshasa" => "Paris",
|
329
|
+
"Africa/Lagos" => "Paris",
|
330
|
+
"Africa/Libreville" => "Paris",
|
331
|
+
"Africa/Luanda" => "Paris",
|
332
|
+
"Africa/Malabo" => "Paris",
|
333
|
+
"Africa/Ndjamena" => "Paris",
|
334
|
+
"Africa/Niamey" => "Paris",
|
335
|
+
"Africa/Porto-Novo" => "Paris",
|
336
|
+
"Africa/Tunis" => "Paris",
|
337
|
+
"Africa/Windhoek" => "Paris",
|
338
|
+
"Arctic/Longyearbyen" => "Paris",
|
339
|
+
"Europe/Andorra" => "Paris",
|
340
|
+
"Europe/Gibraltar" => "Paris",
|
341
|
+
"Europe/Luxembourg" => "Paris",
|
342
|
+
"Europe/Malta" => "Paris",
|
343
|
+
"Europe/Monaco" => "Paris",
|
344
|
+
"Europe/Oslo" => "Paris",
|
345
|
+
"Europe/Paris" => "Paris",
|
346
|
+
"Europe/Podgorica" => "Paris",
|
347
|
+
"Europe/San_Marino" => "Paris",
|
348
|
+
"Europe/Tirane" => "Paris",
|
349
|
+
"Europe/Vaduz" => "Paris",
|
350
|
+
"Europe/Vatican" => "Paris",
|
351
|
+
"Europe/Zurich" => "Paris",
|
352
|
+
"Australia/Perth" => "Perth",
|
353
|
+
"Pacific/Port_Moresby" => "Port Moresby",
|
354
|
+
"Europe/Prague" => "Prague",
|
355
|
+
"Asia/Rangoon" => "Rangoon",
|
356
|
+
"Indian/Cocos" => "Rangoon",
|
357
|
+
"Europe/Riga" => "Riga",
|
358
|
+
"Asia/Riyadh" => "Riyadh",
|
359
|
+
"Europe/Rome" => "Rome",
|
360
|
+
"Pacific/Apia" => "Samoa",
|
361
|
+
"Pacific/Midway" => "Samoa",
|
362
|
+
"Pacific/Niue" => "Samoa",
|
363
|
+
"Pacific/Pago_Pago" => "Samoa",
|
364
|
+
"America/Santiago" => "Santiago",
|
365
|
+
"Europe/Sarajevo" => "Sarajevo",
|
366
|
+
"Asia/Seoul" => "Seoul",
|
367
|
+
"Asia/Singapore" => "Singapore",
|
368
|
+
"Europe/Skopje" => "Skopje",
|
369
|
+
"Europe/Sofia" => "Sofia",
|
370
|
+
"Asia/Anadyr" => "Solomon Is.",
|
371
|
+
"Pacific/Efate" => "Solomon Is.",
|
372
|
+
"Pacific/Guadalcanal" => "Solomon Is.",
|
373
|
+
"Pacific/Kosrae" => "Solomon Is.",
|
374
|
+
"Pacific/Noumea" => "Solomon Is.",
|
375
|
+
"Pacific/Ponape" => "Solomon Is.",
|
376
|
+
"Europe/Stockholm" => "Stockholm",
|
377
|
+
"Antarctica/DumontDUrville" => "Sydney",
|
378
|
+
"Asia/Sakhalin" => "Sydney",
|
379
|
+
"Australia/Currie" => "Sydney",
|
380
|
+
"Australia/Lindeman" => "Sydney",
|
381
|
+
"Australia/Sydney" => "Sydney",
|
382
|
+
"Pacific/Saipan" => "Sydney",
|
383
|
+
"Pacific/Truk" => "Sydney",
|
384
|
+
"Asia/Taipei" => "Taipei",
|
385
|
+
"Europe/Tallinn" => "Tallinn",
|
386
|
+
"Asia/Tashkent" => "Tashkent",
|
387
|
+
"Asia/Tbilisi" => "Tbilisi",
|
388
|
+
"Asia/Tehran" => "Tehran",
|
389
|
+
"America/Tijuana" => "Tijuana",
|
390
|
+
"Asia/Dili" => "Tokyo",
|
391
|
+
"Asia/Jayapura" => "Tokyo",
|
392
|
+
"Asia/Pyongyang" => "Tokyo",
|
393
|
+
"Asia/Tokyo" => "Tokyo",
|
394
|
+
"Pacific/Palau" => "Tokyo",
|
395
|
+
"Asia/Urumqi" => "Urumqi",
|
396
|
+
"Europe/Vienna" => "Vienna",
|
397
|
+
"Europe/Vilnius" => "Vilnius",
|
398
|
+
"Asia/Vladivostok" => "Vladivostok",
|
399
|
+
"Europe/Volgograd" => "Volgograd",
|
400
|
+
"Europe/Warsaw" => "Warsaw",
|
401
|
+
"Asia/Yakutsk" => "Yakutsk",
|
402
|
+
"Asia/Yerevan" => "Yerevan",
|
403
|
+
"Europe/Zagreb" => "Zagreb",
|
404
|
+
}
|
405
|
+
|
406
|
+
def self.format(zone)
|
407
|
+
TIMEZONE_MAPPING[zone]
|
408
|
+
end
|
409
|
+
end
|
410
|
+
end
|