tzinfo 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tzinfo might be problematic. Click here for more details.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGES.md +11 -0
- data/README.md +2 -2
- data/lib/tzinfo/country.rb +17 -1
- data/lib/tzinfo/timezone.rb +6 -5
- data/lib/tzinfo/zoneinfo_data_source.rb +57 -30
- data/test/tc_data_source.rb +26 -0
- data/test/tc_timezone_melbourne.rb +40 -40
- data/test/tc_zoneinfo_data_source.rb +151 -14
- data/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +2 -2
- data/test/tzinfo-data/tzinfo/data/indexes/countries.rb +116 -116
- data/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +15 -13
- data/test/tzinfo-data/tzinfo/data/version.rb +1 -1
- data/test/zoneinfo/Australia/Melbourne +0 -0
- data/test/zoneinfo/iso3166.tab +6 -6
- data/test/zoneinfo/zone.tab +25 -38
- data/test/zoneinfo/zone1970.tab +369 -0
- data/tzinfo.gemspec +1 -1
- metadata +3 -2
- metadata.gz.sig +0 -0
@@ -109,6 +109,28 @@ class TCZoneinfoDataSource < Minitest::Test
|
|
109
109
|
end
|
110
110
|
end
|
111
111
|
end
|
112
|
+
|
113
|
+
def test_new_search_zone1970
|
114
|
+
Dir.mktmpdir('tzinfo_test_dir1') do |dir1|
|
115
|
+
Dir.mktmpdir('tzinfo_test_dir2') do |dir2|
|
116
|
+
Dir.mktmpdir('tzinfo_test_dir3') do |dir3|
|
117
|
+
Dir.mktmpdir('tzinfo_test_dir4') do |dir4|
|
118
|
+
file = File.join(dir1, 'file')
|
119
|
+
FileUtils.touch(File.join(dir2, 'zone1970.tab'))
|
120
|
+
FileUtils.touch(File.join(dir3, 'iso3166.tab'))
|
121
|
+
FileUtils.touch(File.join(dir4, 'zone1970.tab'))
|
122
|
+
FileUtils.touch(File.join(dir4, 'iso3166.tab'))
|
123
|
+
|
124
|
+
ZoneinfoDataSource.search_path = [file, dir2, dir3, dir4]
|
125
|
+
ZoneinfoDataSource.alternate_iso3166_tab_search_path = []
|
126
|
+
|
127
|
+
data_source = ZoneinfoDataSource.new
|
128
|
+
assert_equal(dir4, data_source.zoneinfo_dir)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
112
134
|
|
113
135
|
def test_new_search_solaris_tab_files
|
114
136
|
# Solaris names the tab files 'tab/country.tab' (iso3166.tab) and
|
@@ -119,10 +141,10 @@ class TCZoneinfoDataSource < Minitest::Test
|
|
119
141
|
FileUtils.mkdir(tab)
|
120
142
|
FileUtils.touch(File.join(tab, 'country.tab'))
|
121
143
|
FileUtils.touch(File.join(tab, 'zone_sun.tab'))
|
122
|
-
|
144
|
+
|
123
145
|
ZoneinfoDataSource.search_path = [dir]
|
124
146
|
ZoneinfoDataSource.alternate_iso3166_tab_search_path = []
|
125
|
-
|
147
|
+
|
126
148
|
data_source = ZoneinfoDataSource.new
|
127
149
|
assert_equal(dir, data_source.zoneinfo_dir)
|
128
150
|
end
|
@@ -155,16 +177,19 @@ class TCZoneinfoDataSource < Minitest::Test
|
|
155
177
|
Dir.mktmpdir('tzinfo_test_dir2') do |dir2|
|
156
178
|
Dir.mktmpdir('tzinfo_test_dir3') do |dir3|
|
157
179
|
Dir.mktmpdir('tzinfo_test_dir4') do |dir4|
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
180
|
+
Dir.mktmpdir('tzinfo_test_dir5') do |dir5|
|
181
|
+
file = File.join(dir1, 'file')
|
182
|
+
FileUtils.touch(file)
|
183
|
+
FileUtils.touch(File.join(dir2, 'zone.tab'))
|
184
|
+
FileUtils.touch(File.join(dir3, 'zone1970.tab'))
|
185
|
+
FileUtils.touch(File.join(dir4, 'iso3166.tab'))
|
186
|
+
|
187
|
+
ZoneinfoDataSource.search_path = [file, dir2, dir3, dir4, dir5]
|
188
|
+
ZoneinfoDataSource.alternate_iso3166_tab_search_path = []
|
189
|
+
|
190
|
+
assert_raises(ZoneinfoDirectoryNotFound) do
|
191
|
+
ZoneinfoDataSource.new
|
192
|
+
end
|
168
193
|
end
|
169
194
|
end
|
170
195
|
end
|
@@ -198,6 +223,16 @@ class TCZoneinfoDataSource < Minitest::Test
|
|
198
223
|
assert_equal(dir, data_source.zoneinfo_dir)
|
199
224
|
end
|
200
225
|
end
|
226
|
+
|
227
|
+
def test_new_dir_zone1970
|
228
|
+
Dir.mktmpdir('tzinfo_test') do |dir|
|
229
|
+
FileUtils.touch(File.join(dir, 'zone1970.tab'))
|
230
|
+
FileUtils.touch(File.join(dir, 'iso3166.tab'))
|
231
|
+
|
232
|
+
data_source = ZoneinfoDataSource.new(dir)
|
233
|
+
assert_equal(dir, data_source.zoneinfo_dir)
|
234
|
+
end
|
235
|
+
end
|
201
236
|
|
202
237
|
def test_new_dir_solaris_tab_files
|
203
238
|
# Solaris names the tab files 'tab/country.tab' (iso3166.tab) and
|
@@ -788,6 +823,80 @@ class TCZoneinfoDataSource < Minitest::Test
|
|
788
823
|
assert_equal(true, info.zones.frozen?)
|
789
824
|
end
|
790
825
|
end
|
826
|
+
|
827
|
+
def test_load_country_info_check_zones_zone1970
|
828
|
+
Dir.mktmpdir('tzinfo_test') do |dir|
|
829
|
+
RubyCoreSupport.open_file(File.join(dir, 'iso3166.tab'), 'w', :external_encoding => 'UTF-8') do |iso3166|
|
830
|
+
iso3166.puts('# iso3166.tab')
|
831
|
+
iso3166.puts('')
|
832
|
+
iso3166.puts("AC\tAnother Country")
|
833
|
+
iso3166.puts("FC\tFake Country")
|
834
|
+
iso3166.puts("OC\tOther Country")
|
835
|
+
end
|
836
|
+
|
837
|
+
# zone.tab will be ignored.
|
838
|
+
RubyCoreSupport.open_file(File.join(dir, 'zone.tab'), 'w', :external_encoding => 'UTF-8') do |zone|
|
839
|
+
zone.puts('# zone.tab')
|
840
|
+
zone.puts('')
|
841
|
+
zone.puts("FC\t+513030-0000731\tFake/One\tDescription of one")
|
842
|
+
zone.puts("FC\t+353916+1394441\tFake/Two\tAnother description")
|
843
|
+
zone.puts("FC\t-2332-04637\tFake/Three\tThis is Three")
|
844
|
+
zone.puts("OC\t+5005+01426\tOther/One")
|
845
|
+
end
|
846
|
+
|
847
|
+
# zone1970.tab will be used.
|
848
|
+
RubyCoreSupport.open_file(File.join(dir, 'zone1970.tab'), 'w', :external_encoding => 'UTF-8') do |zone|
|
849
|
+
zone.puts('# zone1970.tab')
|
850
|
+
zone.puts('')
|
851
|
+
zone.puts("AC,OC\t+0000+00000\tMiddle/Another/One\tAnother's One")
|
852
|
+
zone.puts("FC\t+513030-0000731\tFake/One\tDescription of one")
|
853
|
+
zone.puts("FC,OC\t+353916+1394441\tFake/Two\tAnother description")
|
854
|
+
zone.puts("FC,OC\t-2332-04637\tFake/Three\tThis is Three")
|
855
|
+
zone.puts("OC\t+5005+01426\tOther/One")
|
856
|
+
zone.puts("OC\t+5015+11426\tOther/Two")
|
857
|
+
end
|
858
|
+
|
859
|
+
data_source = ZoneinfoDataSource.new(dir)
|
860
|
+
|
861
|
+
info = data_source.load_country_info('AC')
|
862
|
+
assert_equal('AC', info.code)
|
863
|
+
assert_equal('Another Country', info.name)
|
864
|
+
assert_equal(['Middle/Another/One'], info.zone_identifiers)
|
865
|
+
assert_equal(true, info.zone_identifiers.frozen?)
|
866
|
+
assert_equal([CountryTimezone.new('Middle/Another/One', Rational(0, 1), Rational(0, 1), "Another's One")], info.zones)
|
867
|
+
assert_equal(true, info.zones.frozen?)
|
868
|
+
|
869
|
+
info = data_source.load_country_info('FC')
|
870
|
+
assert_equal('FC', info.code)
|
871
|
+
assert_equal('Fake Country', info.name)
|
872
|
+
assert_equal(['Fake/One', 'Fake/Two', 'Fake/Three'], info.zone_identifiers)
|
873
|
+
assert_equal(true, info.zone_identifiers.frozen?)
|
874
|
+
assert_equal([
|
875
|
+
CountryTimezone.new('Fake/One', Rational(6181, 120), Rational(-451, 3600), 'Description of one'),
|
876
|
+
CountryTimezone.new('Fake/Two', Rational(32089, 900), Rational(503081, 3600), 'Another description'),
|
877
|
+
CountryTimezone.new('Fake/Three', Rational(-353, 15), Rational(-2797, 60), 'This is Three')], info.zones)
|
878
|
+
assert_equal(true, info.zones.frozen?)
|
879
|
+
|
880
|
+
# Testing the ordering of zones. A zone can either be primary (country
|
881
|
+
# code is the first in the first column), or secondary (country code is
|
882
|
+
# not the first). Should return all the primaries first in the order they
|
883
|
+
# appeared in the file, followed by all the secondaries in the order they
|
884
|
+
# appeared in file.
|
885
|
+
|
886
|
+
info = data_source.load_country_info('OC')
|
887
|
+
assert_equal('OC', info.code)
|
888
|
+
assert_equal('Other Country', info.name)
|
889
|
+
assert_equal(['Other/One', 'Other/Two', 'Middle/Another/One', 'Fake/Two', 'Fake/Three'], info.zone_identifiers)
|
890
|
+
assert_equal(true, info.zone_identifiers.frozen?)
|
891
|
+
assert_equal([
|
892
|
+
CountryTimezone.new('Other/One', Rational(601, 12), Rational( 433, 30)),
|
893
|
+
CountryTimezone.new('Other/Two', Rational(201, 4), Rational(3433, 30)),
|
894
|
+
CountryTimezone.new('Middle/Another/One', Rational(0, 1), Rational(0, 1), "Another's One"),
|
895
|
+
CountryTimezone.new('Fake/Two', Rational(32089, 900), Rational(503081, 3600), 'Another description'),
|
896
|
+
CountryTimezone.new('Fake/Three', Rational(-353, 15), Rational(-2797, 60), 'This is Three')], info.zones)
|
897
|
+
assert_equal(true, info.zones.frozen?)
|
898
|
+
end
|
899
|
+
end
|
791
900
|
|
792
901
|
def test_load_country_info_check_zones_solaris_tab_files
|
793
902
|
# Solaris uses 5 columns instead of the usual 4 in zone_sun.tab.
|
@@ -923,8 +1032,11 @@ class TCZoneinfoDataSource < Minitest::Test
|
|
923
1032
|
end
|
924
1033
|
|
925
1034
|
def test_load_country_info_utf8
|
926
|
-
#
|
927
|
-
# the future.
|
1035
|
+
# iso3166.tab is currently in ASCII (as of tzdata 2014f), but will be
|
1036
|
+
# changed to UTF-8 in the future.
|
1037
|
+
|
1038
|
+
# zone.tab is in ASCII, with no plans to change. Since ASCII is a subset of
|
1039
|
+
# UTF-8, test that this is loaded in UTF-8 anyway.
|
928
1040
|
|
929
1041
|
Dir.mktmpdir('tzinfo_test') do |dir|
|
930
1042
|
RubyCoreSupport.open_file(File.join(dir, 'iso3166.tab'), 'w', :external_encoding => 'UTF-8') do |iso3166|
|
@@ -944,6 +1056,31 @@ class TCZoneinfoDataSource < Minitest::Test
|
|
944
1056
|
assert_equal([CountryTimezone.new('Unicode✓/One', Rational(6181, 120), Rational(-451, 3600), 'Unicode Description ✓')], info.zones)
|
945
1057
|
end
|
946
1058
|
end
|
1059
|
+
|
1060
|
+
def test_load_country_info_utf8_zone1970
|
1061
|
+
# iso3166.tab is currently in ASCII (as of tzdata 2014f), but will be
|
1062
|
+
# changed to UTF-8 in the future.
|
1063
|
+
|
1064
|
+
# zone1970.tab is in UTF-8.
|
1065
|
+
|
1066
|
+
Dir.mktmpdir('tzinfo_test') do |dir|
|
1067
|
+
RubyCoreSupport.open_file(File.join(dir, 'iso3166.tab'), 'w', :external_encoding => 'UTF-8') do |iso3166|
|
1068
|
+
iso3166.puts("UT\tUnicode Test ✓")
|
1069
|
+
end
|
1070
|
+
|
1071
|
+
RubyCoreSupport.open_file(File.join(dir, 'zone1970.tab'), 'w', :external_encoding => 'UTF-8') do |zone|
|
1072
|
+
zone.puts("UT\t+513030-0000731\tUnicode✓/One\tUnicode Description ✓")
|
1073
|
+
end
|
1074
|
+
|
1075
|
+
data_source = ZoneinfoDataSource.new(dir)
|
1076
|
+
|
1077
|
+
info = data_source.load_country_info('UT')
|
1078
|
+
assert_equal('UT', info.code)
|
1079
|
+
assert_equal('Unicode Test ✓', info.name)
|
1080
|
+
assert_equal(['Unicode✓/One'], info.zone_identifiers)
|
1081
|
+
assert_equal([CountryTimezone.new('Unicode✓/One', Rational(6181, 120), Rational(-451, 3600), 'Unicode Description ✓')], info.zones)
|
1082
|
+
end
|
1083
|
+
end
|
947
1084
|
|
948
1085
|
def test_country_codes
|
949
1086
|
file_codes = []
|
@@ -12,8 +12,8 @@ module TZInfo
|
|
12
12
|
|
13
13
|
timezone 'Australia/Melbourne' do |tz|
|
14
14
|
tz.offset :o0, 34792, 0, :LMT
|
15
|
-
tz.offset :o1, 36000, 0, :
|
16
|
-
tz.offset :o2, 36000, 3600, :
|
15
|
+
tz.offset :o1, 36000, 0, :AEST
|
16
|
+
tz.offset :o2, 36000, 3600, :AEDT
|
17
17
|
|
18
18
|
tz.transition 1895, 1, :o1, -2364111592, 26062831051, 10800
|
19
19
|
tz.transition 1916, 12, :o2, -1672567140, 3486569881, 1440
|
@@ -19,10 +19,10 @@ module TZInfo
|
|
19
19
|
c.timezone 'Asia/Kabul', 2071, 60, 346, 5
|
20
20
|
end
|
21
21
|
country 'AG', 'Antigua & Barbuda' do |c|
|
22
|
-
c.timezone 'America/
|
22
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
23
23
|
end
|
24
24
|
country 'AI', 'Anguilla' do |c|
|
25
|
-
c.timezone 'America/
|
25
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
26
26
|
end
|
27
27
|
country 'AL', 'Albania' do |c|
|
28
28
|
c.timezone 'Europe/Tirane', 124, 3, 119, 6
|
@@ -31,10 +31,9 @@ module TZInfo
|
|
31
31
|
c.timezone 'Asia/Yerevan', 2411, 60, 89, 2
|
32
32
|
end
|
33
33
|
country 'AO', 'Angola' do |c|
|
34
|
-
c.timezone 'Africa/
|
34
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
35
35
|
end
|
36
36
|
country 'AQ', 'Antarctica' do |c|
|
37
|
-
c.timezone 'Antarctica/McMurdo', -467, 6, 833, 5, 'McMurdo, South Pole, Scott (New Zealand time)'
|
38
37
|
c.timezone 'Antarctica/Rothera', -2027, 30, -1022, 15, 'Rothera Station, Adelaide Island'
|
39
38
|
c.timezone 'Antarctica/Palmer', -324, 5, -641, 10, 'Palmer Station, Anvers Island'
|
40
39
|
c.timezone 'Antarctica/Mawson', -338, 5, 3773, 60, 'Mawson Station, Holme Bay'
|
@@ -44,13 +43,14 @@ module TZInfo
|
|
44
43
|
c.timezone 'Antarctica/DumontDUrville', -200, 3, 8401, 60, 'Dumont-d\'Urville Station, Terre Adelie'
|
45
44
|
c.timezone 'Antarctica/Syowa', -124211, 1800, 3959, 100, 'Syowa Station, E Ongul I'
|
46
45
|
c.timezone 'Antarctica/Troll', -259241, 3600, 507, 200, 'Troll Station, Queen Maud Land'
|
46
|
+
c.timezone 'Pacific/Auckland', -553, 15, 5243, 30, 'New Zealand time'
|
47
47
|
end
|
48
48
|
country 'AR', 'Argentina' do |c|
|
49
49
|
c.timezone 'America/Argentina/Buenos_Aires', -173, 5, -1169, 20, 'Buenos Aires (BA, CF)'
|
50
50
|
c.timezone 'America/Argentina/Cordoba', -157, 5, -3851, 60, 'most locations (CB, CC, CN, ER, FM, MN, SE, SF)'
|
51
51
|
c.timezone 'America/Argentina/Salta', -1487, 60, -785, 12, '(SA, LP, NQ, RN)'
|
52
52
|
c.timezone 'America/Argentina/Jujuy', -1451, 60, -653, 10, 'Jujuy (JY)'
|
53
|
-
c.timezone 'America/Argentina/Tucuman', -1609, 60, -3913, 60, '
|
53
|
+
c.timezone 'America/Argentina/Tucuman', -1609, 60, -3913, 60, 'Tucumán (TM)'
|
54
54
|
c.timezone 'America/Argentina/Catamarca', -427, 15, -3947, 60, 'Catamarca (CT), Chubut (CH)'
|
55
55
|
c.timezone 'America/Argentina/La_Rioja', -883, 30, -1337, 20, 'La Rioja (LR)'
|
56
56
|
c.timezone 'America/Argentina/San_Juan', -473, 15, -4111, 60, 'San Juan (SJ)'
|
@@ -60,7 +60,7 @@ module TZInfo
|
|
60
60
|
c.timezone 'America/Argentina/Ushuaia', -274, 5, -683, 10, 'Tierra del Fuego (TF)'
|
61
61
|
end
|
62
62
|
country 'AS', 'Samoa (American)' do |c|
|
63
|
-
c.timezone 'Pacific/Pago_Pago', -214, 15, -1707, 10
|
63
|
+
c.timezone 'Pacific/Pago_Pago', -214, 15, -1707, 10, 'Samoa, Midway'
|
64
64
|
end
|
65
65
|
country 'AT', 'Austria' do |c|
|
66
66
|
c.timezone 'Europe/Vienna', 2893, 60, 49, 3
|
@@ -81,16 +81,16 @@ module TZInfo
|
|
81
81
|
c.timezone 'Australia/Eucla', -1903, 60, 1933, 15, 'Western Australia - Eucla area'
|
82
82
|
end
|
83
83
|
country 'AW', 'Aruba' do |c|
|
84
|
-
c.timezone 'America/
|
84
|
+
c.timezone 'America/Curacao', 731, 60, -69, 1
|
85
85
|
end
|
86
86
|
country 'AX', 'Aaland Islands' do |c|
|
87
|
-
c.timezone 'Europe/
|
87
|
+
c.timezone 'Europe/Helsinki', 361, 6, 749, 30
|
88
88
|
end
|
89
89
|
country 'AZ', 'Azerbaijan' do |c|
|
90
90
|
c.timezone 'Asia/Baku', 2423, 60, 997, 20
|
91
91
|
end
|
92
92
|
country 'BA', 'Bosnia & Herzegovina' do |c|
|
93
|
-
c.timezone 'Europe/
|
93
|
+
c.timezone 'Europe/Belgrade', 269, 6, 41, 2
|
94
94
|
end
|
95
95
|
country 'BB', 'Barbados' do |c|
|
96
96
|
c.timezone 'America/Barbados', 131, 10, -3577, 60
|
@@ -102,22 +102,22 @@ module TZInfo
|
|
102
102
|
c.timezone 'Europe/Brussels', 305, 6, 13, 3
|
103
103
|
end
|
104
104
|
country 'BF', 'Burkina Faso' do |c|
|
105
|
-
c.timezone 'Africa/
|
105
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
106
106
|
end
|
107
107
|
country 'BG', 'Bulgaria' do |c|
|
108
108
|
c.timezone 'Europe/Sofia', 2561, 60, 1399, 60
|
109
109
|
end
|
110
110
|
country 'BH', 'Bahrain' do |c|
|
111
|
-
c.timezone 'Asia/
|
111
|
+
c.timezone 'Asia/Qatar', 1517, 60, 773, 15
|
112
112
|
end
|
113
113
|
country 'BI', 'Burundi' do |c|
|
114
|
-
c.timezone 'Africa/
|
114
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
115
115
|
end
|
116
116
|
country 'BJ', 'Benin' do |c|
|
117
|
-
c.timezone 'Africa/
|
117
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
118
118
|
end
|
119
119
|
country 'BL', 'St Barthelemy' do |c|
|
120
|
-
c.timezone 'America/
|
120
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
121
121
|
end
|
122
122
|
country 'BM', 'Bermuda' do |c|
|
123
123
|
c.timezone 'Atlantic/Bermuda', 1937, 60, -1943, 30
|
@@ -129,11 +129,11 @@ module TZInfo
|
|
129
129
|
c.timezone 'America/La_Paz', -33, 2, -1363, 20
|
130
130
|
end
|
131
131
|
country 'BQ', 'Caribbean Netherlands' do |c|
|
132
|
-
c.timezone 'America/
|
132
|
+
c.timezone 'America/Curacao', 731, 60, -69, 1
|
133
133
|
end
|
134
134
|
country 'BR', 'Brazil' do |c|
|
135
135
|
c.timezone 'America/Noronha', -77, 20, -389, 12, 'Atlantic islands'
|
136
|
-
c.timezone 'America/Belem', -29, 20, -2909, 60, '
|
136
|
+
c.timezone 'America/Belem', -29, 20, -2909, 60, 'Amapá, E Pará'
|
137
137
|
c.timezone 'America/Fortaleza', -223, 60, -77, 2, 'NE Brazil (MA, PI, CE, RN, PB)'
|
138
138
|
c.timezone 'America/Recife', -161, 20, -349, 10, 'Pernambuco'
|
139
139
|
c.timezone 'America/Araguaina', -36, 5, -241, 5, 'Tocantins'
|
@@ -142,8 +142,8 @@ module TZInfo
|
|
142
142
|
c.timezone 'America/Sao_Paulo', -353, 15, -2797, 60, 'S & SE Brazil (GO, DF, MG, ES, RJ, SP, PR, SC, RS)'
|
143
143
|
c.timezone 'America/Campo_Grande', -409, 20, -3277, 60, 'Mato Grosso do Sul'
|
144
144
|
c.timezone 'America/Cuiaba', -187, 12, -673, 12, 'Mato Grosso'
|
145
|
-
c.timezone 'America/Santarem', -73, 30, -823, 15, 'W
|
146
|
-
c.timezone 'America/Porto_Velho', -263, 30, -639, 10, '
|
145
|
+
c.timezone 'America/Santarem', -73, 30, -823, 15, 'W Pará'
|
146
|
+
c.timezone 'America/Porto_Velho', -263, 30, -639, 10, 'Rondônia'
|
147
147
|
c.timezone 'America/Boa_Vista', 169, 60, -182, 3, 'Roraima'
|
148
148
|
c.timezone 'America/Manaus', -47, 15, -3601, 60, 'E Amazonas'
|
149
149
|
c.timezone 'America/Eirunepe', -20, 3, -1048, 15, 'W Amazonas'
|
@@ -157,7 +157,7 @@ module TZInfo
|
|
157
157
|
end
|
158
158
|
country 'BV', 'Bouvet Island'
|
159
159
|
country 'BW', 'Botswana' do |c|
|
160
|
-
c.timezone 'Africa/
|
160
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
161
161
|
end
|
162
162
|
country 'BY', 'Belarus' do |c|
|
163
163
|
c.timezone 'Europe/Minsk', 539, 10, 827, 30
|
@@ -177,7 +177,7 @@ module TZInfo
|
|
177
177
|
c.timezone 'America/Thunder_Bay', 2903, 60, -357, 4, 'Eastern Time - Thunder Bay, Ontario'
|
178
178
|
c.timezone 'America/Iqaluit', 956, 15, -1027, 15, 'Eastern Time - east Nunavut - most locations'
|
179
179
|
c.timezone 'America/Pangnirtung', 992, 15, -986, 15, 'Eastern Time - Pangnirtung, Nunavut'
|
180
|
-
c.timezone 'America/Resolute', 33613, 450, -22759, 240, 'Central
|
180
|
+
c.timezone 'America/Resolute', 33613, 450, -22759, 240, 'Central Time - Resolute, Nunavut'
|
181
181
|
c.timezone 'America/Atikokan', 175531, 3600, -54973, 600, 'Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut'
|
182
182
|
c.timezone 'America/Rankin_Inlet', 3769, 60, -331499, 3600, 'Central Time - central Nunavut'
|
183
183
|
c.timezone 'America/Winnipeg', 2993, 60, -1943, 20, 'Central Time - Manitoba & west Ontario'
|
@@ -198,17 +198,17 @@ module TZInfo
|
|
198
198
|
c.timezone 'Indian/Cocos', -73, 6, 1163, 12
|
199
199
|
end
|
200
200
|
country 'CD', 'Congo (Dem. Rep.)' do |c|
|
201
|
-
c.timezone 'Africa/
|
202
|
-
c.timezone 'Africa/
|
201
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
202
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
203
203
|
end
|
204
204
|
country 'CF', 'Central African Rep.' do |c|
|
205
|
-
c.timezone 'Africa/
|
205
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
206
206
|
end
|
207
207
|
country 'CG', 'Congo (Rep.)' do |c|
|
208
|
-
c.timezone 'Africa/
|
208
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
209
209
|
end
|
210
210
|
country 'CH', 'Switzerland' do |c|
|
211
|
-
c.timezone 'Europe/Zurich', 2843, 60, 128, 15
|
211
|
+
c.timezone 'Europe/Zurich', 2843, 60, 128, 15, 'Swiss time'
|
212
212
|
end
|
213
213
|
country 'CI', 'Cote d\'Ivoire' do |c|
|
214
214
|
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
@@ -218,17 +218,14 @@ module TZInfo
|
|
218
218
|
end
|
219
219
|
country 'CL', 'Chile' do |c|
|
220
220
|
c.timezone 'America/Santiago', -669, 20, -212, 3, 'most locations'
|
221
|
-
c.timezone 'Pacific/Easter', -543, 20, -3283, 30, 'Easter Island
|
221
|
+
c.timezone 'Pacific/Easter', -543, 20, -3283, 30, 'Easter Island'
|
222
222
|
end
|
223
223
|
country 'CM', 'Cameroon' do |c|
|
224
|
-
c.timezone 'Africa/
|
224
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
225
225
|
end
|
226
226
|
country 'CN', 'China' do |c|
|
227
|
-
c.timezone 'Asia/Shanghai', 937, 30, 1822, 15, '
|
228
|
-
c.timezone 'Asia/
|
229
|
-
c.timezone 'Asia/Chongqing', 887, 30, 1279, 12, 'central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.'
|
230
|
-
c.timezone 'Asia/Urumqi', 219, 5, 1051, 12, 'most of Tibet & Xinjiang'
|
231
|
-
c.timezone 'Asia/Kashgar', 2369, 60, 4559, 60, 'west Tibet & Xinjiang'
|
227
|
+
c.timezone 'Asia/Shanghai', 937, 30, 1822, 15, 'Beijing Time'
|
228
|
+
c.timezone 'Asia/Urumqi', 219, 5, 1051, 12, 'Xinjiang Time'
|
232
229
|
end
|
233
230
|
country 'CO', 'Colombia' do |c|
|
234
231
|
c.timezone 'America/Bogota', 23, 5, -889, 12
|
@@ -255,17 +252,17 @@ module TZInfo
|
|
255
252
|
c.timezone 'Europe/Prague', 601, 12, 433, 30
|
256
253
|
end
|
257
254
|
country 'DE', 'Germany' do |c|
|
258
|
-
c.timezone 'Europe/Berlin', 105, 2, 401, 30, '
|
259
|
-
c.timezone 'Europe/
|
255
|
+
c.timezone 'Europe/Berlin', 105, 2, 401, 30, 'Berlin time'
|
256
|
+
c.timezone 'Europe/Zurich', 2843, 60, 128, 15, 'Swiss time'
|
260
257
|
end
|
261
258
|
country 'DJ', 'Djibouti' do |c|
|
262
|
-
c.timezone 'Africa/
|
259
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
263
260
|
end
|
264
261
|
country 'DK', 'Denmark' do |c|
|
265
262
|
c.timezone 'Europe/Copenhagen', 167, 3, 151, 12
|
266
263
|
end
|
267
264
|
country 'DM', 'Dominica' do |c|
|
268
|
-
c.timezone 'America/
|
265
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
269
266
|
end
|
270
267
|
country 'DO', 'Dominican Republic' do |c|
|
271
268
|
c.timezone 'America/Santo_Domingo', 277, 15, -699, 10
|
@@ -275,7 +272,7 @@ module TZInfo
|
|
275
272
|
end
|
276
273
|
country 'EC', 'Ecuador' do |c|
|
277
274
|
c.timezone 'America/Guayaquil', -13, 6, -479, 6, 'mainland'
|
278
|
-
c.timezone 'Pacific/Galapagos', -9, 10, -448, 5, '
|
275
|
+
c.timezone 'Pacific/Galapagos', -9, 10, -448, 5, 'Galápagos Islands'
|
279
276
|
end
|
280
277
|
country 'EE', 'Estonia' do |c|
|
281
278
|
c.timezone 'Europe/Tallinn', 713, 12, 99, 4
|
@@ -287,7 +284,7 @@ module TZInfo
|
|
287
284
|
c.timezone 'Africa/El_Aaiun', 543, 20, -66, 5
|
288
285
|
end
|
289
286
|
country 'ER', 'Eritrea' do |c|
|
290
|
-
c.timezone 'Africa/
|
287
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
291
288
|
end
|
292
289
|
country 'ES', 'Spain' do |c|
|
293
290
|
c.timezone 'Europe/Madrid', 202, 5, -221, 60, 'mainland'
|
@@ -295,7 +292,7 @@ module TZInfo
|
|
295
292
|
c.timezone 'Atlantic/Canary', 281, 10, -77, 5, 'Canary Islands'
|
296
293
|
end
|
297
294
|
country 'ET', 'Ethiopia' do |c|
|
298
|
-
c.timezone 'Africa/
|
295
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
299
296
|
end
|
300
297
|
country 'FI', 'Finland' do |c|
|
301
298
|
c.timezone 'Europe/Helsinki', 361, 6, 749, 30
|
@@ -318,13 +315,13 @@ module TZInfo
|
|
318
315
|
c.timezone 'Europe/Paris', 733, 15, 7, 3
|
319
316
|
end
|
320
317
|
country 'GA', 'Gabon' do |c|
|
321
|
-
c.timezone 'Africa/
|
318
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
322
319
|
end
|
323
320
|
country 'GB', 'Britain (UK)' do |c|
|
324
321
|
c.timezone 'Europe/London', 6181, 120, -451, 3600
|
325
322
|
end
|
326
323
|
country 'GD', 'Grenada' do |c|
|
327
|
-
c.timezone 'America/
|
324
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
328
325
|
end
|
329
326
|
country 'GE', 'Georgia' do |c|
|
330
327
|
c.timezone 'Asia/Tbilisi', 2503, 60, 2689, 60
|
@@ -333,7 +330,7 @@ module TZInfo
|
|
333
330
|
c.timezone 'America/Cayenne', 74, 15, -157, 3
|
334
331
|
end
|
335
332
|
country 'GG', 'Guernsey' do |c|
|
336
|
-
c.timezone 'Europe/
|
333
|
+
c.timezone 'Europe/London', 6181, 120, -451, 3600
|
337
334
|
end
|
338
335
|
country 'GH', 'Ghana' do |c|
|
339
336
|
c.timezone 'Africa/Accra', 111, 20, -13, 60
|
@@ -348,16 +345,16 @@ module TZInfo
|
|
348
345
|
c.timezone 'America/Thule', 2297, 30, -4127, 60, 'Thule / Pituffik'
|
349
346
|
end
|
350
347
|
country 'GM', 'Gambia' do |c|
|
351
|
-
c.timezone 'Africa/
|
348
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
352
349
|
end
|
353
350
|
country 'GN', 'Guinea' do |c|
|
354
|
-
c.timezone 'Africa/
|
351
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
355
352
|
end
|
356
353
|
country 'GP', 'Guadeloupe' do |c|
|
357
|
-
c.timezone 'America/
|
354
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
358
355
|
end
|
359
356
|
country 'GQ', 'Equatorial Guinea' do |c|
|
360
|
-
c.timezone 'Africa/
|
357
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
361
358
|
end
|
362
359
|
country 'GR', 'Greece' do |c|
|
363
360
|
c.timezone 'Europe/Athens', 1139, 30, 1423, 60
|
@@ -385,7 +382,7 @@ module TZInfo
|
|
385
382
|
c.timezone 'America/Tegucigalpa', 141, 10, -5233, 60
|
386
383
|
end
|
387
384
|
country 'HR', 'Croatia' do |c|
|
388
|
-
c.timezone 'Europe/
|
385
|
+
c.timezone 'Europe/Belgrade', 269, 6, 41, 2
|
389
386
|
end
|
390
387
|
country 'HT', 'Haiti' do |c|
|
391
388
|
c.timezone 'America/Port-au-Prince', 278, 15, -217, 3
|
@@ -406,7 +403,7 @@ module TZInfo
|
|
406
403
|
c.timezone 'Asia/Jerusalem', 11441, 360, 63403, 1800
|
407
404
|
end
|
408
405
|
country 'IM', 'Isle of Man' do |c|
|
409
|
-
c.timezone 'Europe/
|
406
|
+
c.timezone 'Europe/London', 6181, 120, -451, 3600
|
410
407
|
end
|
411
408
|
country 'IN', 'India' do |c|
|
412
409
|
c.timezone 'Asia/Kolkata', 338, 15, 2651, 30
|
@@ -427,7 +424,7 @@ module TZInfo
|
|
427
424
|
c.timezone 'Europe/Rome', 419, 10, 749, 60
|
428
425
|
end
|
429
426
|
country 'JE', 'Jersey' do |c|
|
430
|
-
c.timezone 'Europe/
|
427
|
+
c.timezone 'Europe/London', 6181, 120, -451, 3600
|
431
428
|
end
|
432
429
|
country 'JM', 'Jamaica' do |c|
|
433
430
|
c.timezone 'America/Jamaica', 12937, 720, -11519, 150
|
@@ -445,7 +442,7 @@ module TZInfo
|
|
445
442
|
c.timezone 'Asia/Bishkek', 429, 10, 373, 5
|
446
443
|
end
|
447
444
|
country 'KH', 'Cambodia' do |c|
|
448
|
-
c.timezone 'Asia/
|
445
|
+
c.timezone 'Asia/Bangkok', 55, 4, 6031, 60
|
449
446
|
end
|
450
447
|
country 'KI', 'Kiribati' do |c|
|
451
448
|
c.timezone 'Pacific/Tarawa', 17, 12, 173, 1, 'Gilbert Islands'
|
@@ -453,10 +450,10 @@ module TZInfo
|
|
453
450
|
c.timezone 'Pacific/Kiritimati', 28, 15, -472, 3, 'Line Islands'
|
454
451
|
end
|
455
452
|
country 'KM', 'Comoros' do |c|
|
456
|
-
c.timezone '
|
453
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
457
454
|
end
|
458
455
|
country 'KN', 'St Kitts & Nevis' do |c|
|
459
|
-
c.timezone 'America/
|
456
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
460
457
|
end
|
461
458
|
country 'KP', 'Korea (North)' do |c|
|
462
459
|
c.timezone 'Asia/Pyongyang', 2341, 60, 503, 4
|
@@ -465,10 +462,10 @@ module TZInfo
|
|
465
462
|
c.timezone 'Asia/Seoul', 751, 20, 3809, 30
|
466
463
|
end
|
467
464
|
country 'KW', 'Kuwait' do |c|
|
468
|
-
c.timezone 'Asia/
|
465
|
+
c.timezone 'Asia/Riyadh', 739, 30, 2803, 60
|
469
466
|
end
|
470
467
|
country 'KY', 'Cayman Islands' do |c|
|
471
|
-
c.timezone 'America/
|
468
|
+
c.timezone 'America/Panama', 269, 30, -1193, 15
|
472
469
|
end
|
473
470
|
country 'KZ', 'Kazakhstan' do |c|
|
474
471
|
c.timezone 'Asia/Almaty', 173, 4, 1539, 20, 'most locations'
|
@@ -478,16 +475,16 @@ module TZInfo
|
|
478
475
|
c.timezone 'Asia/Oral', 3073, 60, 1027, 20, 'West Kazakhstan'
|
479
476
|
end
|
480
477
|
country 'LA', 'Laos' do |c|
|
481
|
-
c.timezone 'Asia/
|
478
|
+
c.timezone 'Asia/Bangkok', 55, 4, 6031, 60
|
482
479
|
end
|
483
480
|
country 'LB', 'Lebanon' do |c|
|
484
481
|
c.timezone 'Asia/Beirut', 2033, 60, 71, 2
|
485
482
|
end
|
486
483
|
country 'LC', 'St Lucia' do |c|
|
487
|
-
c.timezone 'America/
|
484
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
488
485
|
end
|
489
486
|
country 'LI', 'Liechtenstein' do |c|
|
490
|
-
c.timezone 'Europe/
|
487
|
+
c.timezone 'Europe/Zurich', 2843, 60, 128, 15, 'Swiss time'
|
491
488
|
end
|
492
489
|
country 'LK', 'Sri Lanka' do |c|
|
493
490
|
c.timezone 'Asia/Colombo', 104, 15, 1597, 20
|
@@ -496,7 +493,7 @@ module TZInfo
|
|
496
493
|
c.timezone 'Africa/Monrovia', 63, 10, -647, 60
|
497
494
|
end
|
498
495
|
country 'LS', 'Lesotho' do |c|
|
499
|
-
c.timezone 'Africa/
|
496
|
+
c.timezone 'Africa/Johannesburg', -105, 4, 28, 1
|
500
497
|
end
|
501
498
|
country 'LT', 'Lithuania' do |c|
|
502
499
|
c.timezone 'Europe/Vilnius', 3281, 60, 1519, 60
|
@@ -520,46 +517,46 @@ module TZInfo
|
|
520
517
|
c.timezone 'Europe/Chisinau', 47, 1, 173, 6
|
521
518
|
end
|
522
519
|
country 'ME', 'Montenegro' do |c|
|
523
|
-
c.timezone 'Europe/
|
520
|
+
c.timezone 'Europe/Belgrade', 269, 6, 41, 2
|
524
521
|
end
|
525
522
|
country 'MF', 'St Martin (French part)' do |c|
|
526
|
-
c.timezone 'America/
|
523
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
527
524
|
end
|
528
525
|
country 'MG', 'Madagascar' do |c|
|
529
|
-
c.timezone '
|
526
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
530
527
|
end
|
531
528
|
country 'MH', 'Marshall Islands' do |c|
|
532
529
|
c.timezone 'Pacific/Majuro', 143, 20, 856, 5, 'most locations'
|
533
530
|
c.timezone 'Pacific/Kwajalein', 109, 12, 502, 3, 'Kwajalein'
|
534
531
|
end
|
535
532
|
country 'MK', 'Macedonia' do |c|
|
536
|
-
c.timezone 'Europe/
|
533
|
+
c.timezone 'Europe/Belgrade', 269, 6, 41, 2
|
537
534
|
end
|
538
535
|
country 'ML', 'Mali' do |c|
|
539
|
-
c.timezone 'Africa/
|
536
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
540
537
|
end
|
541
538
|
country 'MM', 'Myanmar (Burma)' do |c|
|
542
539
|
c.timezone 'Asia/Rangoon', 1007, 60, 577, 6
|
543
540
|
end
|
544
541
|
country 'MN', 'Mongolia' do |c|
|
545
542
|
c.timezone 'Asia/Ulaanbaatar', 575, 12, 6413, 60, 'most locations'
|
546
|
-
c.timezone 'Asia/Hovd', 2881, 60, 1833, 20, 'Bayan
|
547
|
-
c.timezone 'Asia/Choibalsan', 721, 15, 229, 2, 'Dornod,
|
543
|
+
c.timezone 'Asia/Hovd', 2881, 60, 1833, 20, 'Bayan-Ölgii, Govi-Altai, Hovd, Uvs, Zavkhan'
|
544
|
+
c.timezone 'Asia/Choibalsan', 721, 15, 229, 2, 'Dornod, Sükhbaatar'
|
548
545
|
end
|
549
546
|
country 'MO', 'Macau' do |c|
|
550
547
|
c.timezone 'Asia/Macau', 667, 30, 1363, 12
|
551
548
|
end
|
552
549
|
country 'MP', 'Northern Mariana Islands' do |c|
|
553
|
-
c.timezone 'Pacific/
|
550
|
+
c.timezone 'Pacific/Guam', 202, 15, 579, 4
|
554
551
|
end
|
555
552
|
country 'MQ', 'Martinique' do |c|
|
556
553
|
c.timezone 'America/Martinique', 73, 5, -733, 12
|
557
554
|
end
|
558
555
|
country 'MR', 'Mauritania' do |c|
|
559
|
-
c.timezone 'Africa/
|
556
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
560
557
|
end
|
561
558
|
country 'MS', 'Montserrat' do |c|
|
562
|
-
c.timezone 'America/
|
559
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
563
560
|
end
|
564
561
|
country 'MT', 'Malta' do |c|
|
565
562
|
c.timezone 'Europe/Malta', 359, 10, 871, 60
|
@@ -571,28 +568,28 @@ module TZInfo
|
|
571
568
|
c.timezone 'Indian/Maldives', 25, 6, 147, 2
|
572
569
|
end
|
573
570
|
country 'MW', 'Malawi' do |c|
|
574
|
-
c.timezone 'Africa/
|
571
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
575
572
|
end
|
576
573
|
country 'MX', 'Mexico' do |c|
|
577
574
|
c.timezone 'America/Mexico_City', 97, 5, -1983, 20, 'Central Time - most locations'
|
578
575
|
c.timezone 'America/Cancun', 253, 12, -2603, 30, 'Central Time - Quintana Roo'
|
579
|
-
c.timezone 'America/Merida', 629, 30, -5377, 60, 'Central Time - Campeche,
|
580
|
-
c.timezone 'America/Monterrey', 77, 3, -6019, 60, 'Mexican Central Time - Coahuila, Durango, Nuevo
|
581
|
-
c.timezone 'America/Matamoros', 155, 6, -195, 2, 'US Central Time - Coahuila, Durango, Nuevo
|
576
|
+
c.timezone 'America/Merida', 629, 30, -5377, 60, 'Central Time - Campeche, Yucatán'
|
577
|
+
c.timezone 'America/Monterrey', 77, 3, -6019, 60, 'Mexican Central Time - Coahuila, Durango, Nuevo León, Tamaulipas away from US border'
|
578
|
+
c.timezone 'America/Matamoros', 155, 6, -195, 2, 'US Central Time - Coahuila, Durango, Nuevo León, Tamaulipas near US border'
|
582
579
|
c.timezone 'America/Mazatlan', 1393, 60, -1277, 12, 'Mountain Time - S Baja, Nayarit, Sinaloa'
|
583
580
|
c.timezone 'America/Chihuahua', 859, 30, -1273, 12, 'Mexican Mountain Time - Chihuahua away from US border'
|
584
581
|
c.timezone 'America/Ojinaga', 887, 30, -1253, 12, 'US Mountain Time - Chihuahua near US border'
|
585
582
|
c.timezone 'America/Hermosillo', 436, 15, -3329, 30, 'Mountain Standard Time - Sonora'
|
586
583
|
c.timezone 'America/Tijuana', 488, 15, -7021, 60, 'US Pacific Time - Baja California near US border'
|
587
584
|
c.timezone 'America/Santa_Isabel', 303, 10, -1723, 15, 'Mexican Pacific Time - Baja California away from US border'
|
588
|
-
c.timezone 'America/Bahia_Banderas', 104, 5, -421, 4, 'Mexican Central Time -
|
585
|
+
c.timezone 'America/Bahia_Banderas', 104, 5, -421, 4, 'Mexican Central Time - Bahía de Banderas'
|
589
586
|
end
|
590
587
|
country 'MY', 'Malaysia' do |c|
|
591
588
|
c.timezone 'Asia/Kuala_Lumpur', 19, 6, 1017, 10, 'peninsular Malaysia'
|
592
589
|
c.timezone 'Asia/Kuching', 31, 20, 331, 3, 'Sabah & Sarawak'
|
593
590
|
end
|
594
591
|
country 'MZ', 'Mozambique' do |c|
|
595
|
-
c.timezone 'Africa/Maputo', -779, 30, 391, 12
|
592
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
596
593
|
end
|
597
594
|
country 'NA', 'Namibia' do |c|
|
598
595
|
c.timezone 'Africa/Windhoek', -677, 30, 171, 10
|
@@ -601,13 +598,13 @@ module TZInfo
|
|
601
598
|
c.timezone 'Pacific/Noumea', -334, 15, 3329, 20
|
602
599
|
end
|
603
600
|
country 'NE', 'Niger' do |c|
|
604
|
-
c.timezone 'Africa/
|
601
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
605
602
|
end
|
606
603
|
country 'NF', 'Norfolk Island' do |c|
|
607
604
|
c.timezone 'Pacific/Norfolk', -581, 20, 5039, 30
|
608
605
|
end
|
609
606
|
country 'NG', 'Nigeria' do |c|
|
610
|
-
c.timezone 'Africa/Lagos', 129, 20, 17, 5
|
607
|
+
c.timezone 'Africa/Lagos', 129, 20, 17, 5, 'West Africa Time (UTC+1)'
|
611
608
|
end
|
612
609
|
country 'NI', 'Nicaragua' do |c|
|
613
610
|
c.timezone 'America/Managua', 243, 20, -5177, 60
|
@@ -628,11 +625,11 @@ module TZInfo
|
|
628
625
|
c.timezone 'Pacific/Niue', -1141, 60, -2039, 12
|
629
626
|
end
|
630
627
|
country 'NZ', 'New Zealand' do |c|
|
631
|
-
c.timezone 'Pacific/Auckland', -553, 15, 5243, 30, '
|
628
|
+
c.timezone 'Pacific/Auckland', -553, 15, 5243, 30, 'New Zealand time'
|
632
629
|
c.timezone 'Pacific/Chatham', -879, 20, -3531, 20, 'Chatham Islands'
|
633
630
|
end
|
634
631
|
country 'OM', 'Oman' do |c|
|
635
|
-
c.timezone 'Asia/
|
632
|
+
c.timezone 'Asia/Dubai', 253, 10, 553, 10
|
636
633
|
end
|
637
634
|
country 'PA', 'Panama' do |c|
|
638
635
|
c.timezone 'America/Panama', 269, 30, -1193, 15
|
@@ -685,7 +682,7 @@ module TZInfo
|
|
685
682
|
c.timezone 'Asia/Qatar', 1517, 60, 773, 15
|
686
683
|
end
|
687
684
|
country 'RE', 'Reunion' do |c|
|
688
|
-
c.timezone 'Indian/Reunion', -313, 15, 832, 15
|
685
|
+
c.timezone 'Indian/Reunion', -313, 15, 832, 15, 'Réunion, Crozet Is, Scattered Is'
|
689
686
|
end
|
690
687
|
country 'RO', 'Romania' do |c|
|
691
688
|
c.timezone 'Europe/Bucharest', 1333, 30, 261, 10
|
@@ -695,27 +692,29 @@ module TZInfo
|
|
695
692
|
end
|
696
693
|
country 'RU', 'Russia' do |c|
|
697
694
|
c.timezone 'Europe/Kaliningrad', 3283, 60, 41, 2, 'Moscow-01 - Kaliningrad'
|
698
|
-
c.timezone 'Europe/Moscow',
|
699
|
-
c.timezone 'Europe/Volgograd', 731, 15, 533, 12, 'Moscow+00 - Caspian Sea'
|
700
|
-
c.timezone 'Europe/Samara', 266, 5, 1003, 20, 'Moscow+00 - Samara, Udmurtia'
|
695
|
+
c.timezone 'Europe/Moscow', 66907, 1200, 8464, 225, 'Moscow+00 - west Russia'
|
701
696
|
c.timezone 'Europe/Simferopol', 899, 20, 341, 10, 'Moscow+00 - Crimea'
|
697
|
+
c.timezone 'Europe/Volgograd', 731, 15, 533, 12, 'Moscow+00 - Caspian Sea'
|
698
|
+
c.timezone 'Europe/Samara', 266, 5, 1003, 20, 'Moscow+00 (Moscow+01 after 2014-10-26) - Samara, Udmurtia'
|
702
699
|
c.timezone 'Asia/Yekaterinburg', 1137, 20, 303, 5, 'Moscow+02 - Urals'
|
703
700
|
c.timezone 'Asia/Omsk', 55, 1, 367, 5, 'Moscow+03 - west Siberia'
|
704
701
|
c.timezone 'Asia/Novosibirsk', 1651, 30, 995, 12, 'Moscow+03 - Novosibirsk'
|
705
|
-
c.timezone 'Asia/Novokuznetsk', 215, 4, 5227, 60, 'Moscow+03 -
|
702
|
+
c.timezone 'Asia/Novokuznetsk', 215, 4, 5227, 60, 'Moscow+03 (Moscow+04 after 2014-10-26) - Kemerovo'
|
706
703
|
c.timezone 'Asia/Krasnoyarsk', 3361, 60, 557, 6, 'Moscow+04 - Yenisei River'
|
707
704
|
c.timezone 'Asia/Irkutsk', 784, 15, 313, 3, 'Moscow+05 - Lake Baikal'
|
705
|
+
c.timezone 'Asia/Chita', 1041, 20, 1702, 15, 'Moscow+06 (Moscow+05 after 2014-10-26) - Zabaykalsky'
|
708
706
|
c.timezone 'Asia/Yakutsk', 62, 1, 389, 3, 'Moscow+06 - Lena River'
|
709
707
|
c.timezone 'Asia/Khandyga', 225563, 3600, 243997, 1800, 'Moscow+06 - Tomponsky, Ust-Maysky'
|
710
708
|
c.timezone 'Asia/Vladivostok', 259, 6, 1979, 15, 'Moscow+07 - Amur River'
|
711
709
|
c.timezone 'Asia/Sakhalin', 1409, 30, 1427, 10, 'Moscow+07 - Sakhalin Island'
|
712
710
|
c.timezone 'Asia/Ust-Nera', 232417, 3600, 10742, 75, 'Moscow+07 - Oymyakonsky'
|
713
|
-
c.timezone 'Asia/Magadan', 1787, 30, 754, 5, 'Moscow+08 - Magadan'
|
714
|
-
c.timezone 'Asia/
|
715
|
-
c.timezone 'Asia/
|
711
|
+
c.timezone 'Asia/Magadan', 1787, 30, 754, 5, 'Moscow+08 (Moscow+07 after 2014-10-26) - Magadan'
|
712
|
+
c.timezone 'Asia/Srednekolymsk', 1012, 15, 9223, 60, 'Moscow+08 - E Sakha, N Kuril Is'
|
713
|
+
c.timezone 'Asia/Kamchatka', 3181, 60, 3173, 20, 'Moscow+08 (Moscow+09 after 2014-10-26) - Kamchatka'
|
714
|
+
c.timezone 'Asia/Anadyr', 259, 4, 10649, 60, 'Moscow+08 (Moscow+09 after 2014-10-26) - Bering Sea'
|
716
715
|
end
|
717
716
|
country 'RW', 'Rwanda' do |c|
|
718
|
-
c.timezone 'Africa/
|
717
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
719
718
|
end
|
720
719
|
country 'SA', 'Saudi Arabia' do |c|
|
721
720
|
c.timezone 'Asia/Riyadh', 739, 30, 2803, 60
|
@@ -736,49 +735,49 @@ module TZInfo
|
|
736
735
|
c.timezone 'Asia/Singapore', 77, 60, 2077, 20
|
737
736
|
end
|
738
737
|
country 'SH', 'St Helena' do |c|
|
739
|
-
c.timezone '
|
738
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
740
739
|
end
|
741
740
|
country 'SI', 'Slovenia' do |c|
|
742
|
-
c.timezone 'Europe/
|
741
|
+
c.timezone 'Europe/Belgrade', 269, 6, 41, 2
|
743
742
|
end
|
744
743
|
country 'SJ', 'Svalbard & Jan Mayen' do |c|
|
745
|
-
c.timezone '
|
744
|
+
c.timezone 'Europe/Oslo', 719, 12, 43, 4
|
746
745
|
end
|
747
746
|
country 'SK', 'Slovakia' do |c|
|
748
|
-
c.timezone 'Europe/
|
747
|
+
c.timezone 'Europe/Prague', 601, 12, 433, 30
|
749
748
|
end
|
750
749
|
country 'SL', 'Sierra Leone' do |c|
|
751
|
-
c.timezone 'Africa/
|
750
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
752
751
|
end
|
753
752
|
country 'SM', 'San Marino' do |c|
|
754
|
-
c.timezone 'Europe/
|
753
|
+
c.timezone 'Europe/Rome', 419, 10, 749, 60
|
755
754
|
end
|
756
755
|
country 'SN', 'Senegal' do |c|
|
757
|
-
c.timezone 'Africa/
|
756
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
758
757
|
end
|
759
758
|
country 'SO', 'Somalia' do |c|
|
760
|
-
c.timezone 'Africa/
|
759
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
761
760
|
end
|
762
761
|
country 'SR', 'Suriname' do |c|
|
763
762
|
c.timezone 'America/Paramaribo', 35, 6, -331, 6
|
764
763
|
end
|
765
764
|
country 'SS', 'South Sudan' do |c|
|
766
|
-
c.timezone 'Africa/
|
765
|
+
c.timezone 'Africa/Khartoum', 78, 5, 488, 15
|
767
766
|
end
|
768
767
|
country 'ST', 'Sao Tome & Principe' do |c|
|
769
|
-
c.timezone 'Africa/
|
768
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
770
769
|
end
|
771
770
|
country 'SV', 'El Salvador' do |c|
|
772
771
|
c.timezone 'America/El_Salvador', 137, 10, -446, 5
|
773
772
|
end
|
774
773
|
country 'SX', 'St Maarten (Dutch part)' do |c|
|
775
|
-
c.timezone 'America/
|
774
|
+
c.timezone 'America/Curacao', 731, 60, -69, 1
|
776
775
|
end
|
777
776
|
country 'SY', 'Syria' do |c|
|
778
777
|
c.timezone 'Asia/Damascus', 67, 2, 363, 10
|
779
778
|
end
|
780
779
|
country 'SZ', 'Swaziland' do |c|
|
781
|
-
c.timezone 'Africa/
|
780
|
+
c.timezone 'Africa/Johannesburg', -105, 4, 28, 1
|
782
781
|
end
|
783
782
|
country 'TC', 'Turks & Caicos Is' do |c|
|
784
783
|
c.timezone 'America/Grand_Turk', 322, 15, -1067, 15
|
@@ -787,10 +786,11 @@ module TZInfo
|
|
787
786
|
c.timezone 'Africa/Ndjamena', 727, 60, 301, 20
|
788
787
|
end
|
789
788
|
country 'TF', 'French Southern & Antarctic Lands' do |c|
|
790
|
-
c.timezone 'Indian/Kerguelen', -17767, 360, 28087, 400
|
789
|
+
c.timezone 'Indian/Kerguelen', -17767, 360, 28087, 400, 'Kerguelen, St Paul I, Amsterdam I'
|
790
|
+
c.timezone 'Indian/Reunion', -313, 15, 832, 15, 'Réunion, Crozet Is, Scattered Is'
|
791
791
|
end
|
792
792
|
country 'TG', 'Togo' do |c|
|
793
|
-
c.timezone 'Africa/
|
793
|
+
c.timezone 'Africa/Abidjan', 319, 60, -121, 30
|
794
794
|
end
|
795
795
|
country 'TH', 'Thailand' do |c|
|
796
796
|
c.timezone 'Asia/Bangkok', 55, 4, 6031, 60
|
@@ -826,7 +826,7 @@ module TZInfo
|
|
826
826
|
c.timezone 'Asia/Taipei', 501, 20, 243, 2
|
827
827
|
end
|
828
828
|
country 'TZ', 'Tanzania' do |c|
|
829
|
-
c.timezone 'Africa/
|
829
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
830
830
|
end
|
831
831
|
country 'UA', 'Ukraine' do |c|
|
832
832
|
c.timezone 'Europe/Kiev', 1513, 30, 1831, 60, 'most locations'
|
@@ -834,12 +834,12 @@ module TZInfo
|
|
834
834
|
c.timezone 'Europe/Zaporozhye', 287, 6, 211, 6, 'Zaporozh\'ye, E Lugansk / Zaporizhia, E Luhansk'
|
835
835
|
end
|
836
836
|
country 'UG', 'Uganda' do |c|
|
837
|
-
c.timezone 'Africa/
|
837
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
838
838
|
end
|
839
839
|
country 'UM', 'US minor outlying islands' do |c|
|
840
|
-
c.timezone 'Pacific/Johnston', 67, 4, -10171, 60, 'Johnston Atoll'
|
841
|
-
c.timezone 'Pacific/Midway', 1693, 60, -5321, 30, 'Midway Islands'
|
842
840
|
c.timezone 'Pacific/Wake', 1157, 60, 9997, 60, 'Wake Island'
|
841
|
+
c.timezone 'Pacific/Pago_Pago', -214, 15, -1707, 10, 'Samoa, Midway'
|
842
|
+
c.timezone 'Pacific/Honolulu', 15341, 720, -18943, 120, 'Hawaii time'
|
843
843
|
end
|
844
844
|
country 'US', 'United States' do |c|
|
845
845
|
c.timezone 'America/New_York', 48857, 1200, -266423, 3600, 'Eastern Time'
|
@@ -863,14 +863,14 @@ module TZInfo
|
|
863
863
|
c.timezone 'America/Boise', 157009, 3600, -46481, 400, 'Mountain Time - south Idaho & east Oregon'
|
864
864
|
c.timezone 'America/Phoenix', 20069, 600, -16811, 150, 'Mountain Standard Time - Arizona (except Navajo)'
|
865
865
|
c.timezone 'America/Los_Angeles', 30647, 900, -212837, 1800, 'Pacific Time'
|
866
|
+
c.timezone 'America/Metlakatla', 198457, 3600, -18947, 144, 'Pacific Standard Time - Annette Island, Alaska'
|
866
867
|
c.timezone 'America/Anchorage', 44077, 720, -539641, 3600, 'Alaska Time'
|
867
868
|
c.timezone 'America/Juneau', 209887, 3600, -483911, 3600, 'Alaska Time - Alaska panhandle'
|
868
869
|
c.timezone 'America/Sitka', 41167, 720, -487087, 3600, 'Alaska Time - southeast Alaska panhandle'
|
869
870
|
c.timezone 'America/Yakutat', 214369, 3600, -251509, 1800, 'Alaska Time - Alaska panhandle neck'
|
870
871
|
c.timezone 'America/Nome', 58051, 900, -595463, 3600, 'Alaska Time - west Alaska'
|
871
872
|
c.timezone 'America/Adak', 1297, 25, -635969, 3600, 'Aleutian Islands'
|
872
|
-
c.timezone '
|
873
|
-
c.timezone 'Pacific/Honolulu', 15341, 720, -18943, 120, 'Hawaii'
|
873
|
+
c.timezone 'Pacific/Honolulu', 15341, 720, -18943, 120, 'Hawaii time'
|
874
874
|
end
|
875
875
|
country 'UY', 'Uruguay' do |c|
|
876
876
|
c.timezone 'America/Montevideo', -2093, 60, -3371, 60
|
@@ -880,22 +880,22 @@ module TZInfo
|
|
880
880
|
c.timezone 'Asia/Tashkent', 124, 3, 693, 10, 'east Uzbekistan'
|
881
881
|
end
|
882
882
|
country 'VA', 'Vatican City' do |c|
|
883
|
-
c.timezone 'Europe/
|
883
|
+
c.timezone 'Europe/Rome', 419, 10, 749, 60
|
884
884
|
end
|
885
885
|
country 'VC', 'St Vincent' do |c|
|
886
|
-
c.timezone 'America/
|
886
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
887
887
|
end
|
888
888
|
country 'VE', 'Venezuela' do |c|
|
889
889
|
c.timezone 'America/Caracas', 21, 2, -1004, 15
|
890
890
|
end
|
891
891
|
country 'VG', 'Virgin Islands (UK)' do |c|
|
892
|
-
c.timezone 'America/
|
892
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
893
893
|
end
|
894
894
|
country 'VI', 'Virgin Islands (US)' do |c|
|
895
|
-
c.timezone 'America/
|
895
|
+
c.timezone 'America/Port_of_Spain', 213, 20, -3691, 60
|
896
896
|
end
|
897
897
|
country 'VN', 'Vietnam' do |c|
|
898
|
-
c.timezone 'Asia/
|
898
|
+
c.timezone 'Asia/Bangkok', 55, 4, 6031, 60
|
899
899
|
end
|
900
900
|
country 'VU', 'Vanuatu' do |c|
|
901
901
|
c.timezone 'Pacific/Efate', -53, 3, 2021, 12
|
@@ -907,19 +907,19 @@ module TZInfo
|
|
907
907
|
c.timezone 'Pacific/Apia', -83, 6, -2576, 15
|
908
908
|
end
|
909
909
|
country 'YE', 'Yemen' do |c|
|
910
|
-
c.timezone 'Asia/
|
910
|
+
c.timezone 'Asia/Riyadh', 739, 30, 2803, 60
|
911
911
|
end
|
912
912
|
country 'YT', 'Mayotte' do |c|
|
913
|
-
c.timezone '
|
913
|
+
c.timezone 'Africa/Nairobi', -77, 60, 2209, 60
|
914
914
|
end
|
915
915
|
country 'ZA', 'South Africa' do |c|
|
916
916
|
c.timezone 'Africa/Johannesburg', -105, 4, 28, 1
|
917
917
|
end
|
918
918
|
country 'ZM', 'Zambia' do |c|
|
919
|
-
c.timezone 'Africa/
|
919
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
920
920
|
end
|
921
921
|
country 'ZW', 'Zimbabwe' do |c|
|
922
|
-
c.timezone 'Africa/
|
922
|
+
c.timezone 'Africa/Maputo', -779, 30, 391, 12, 'Central Africa Time (UTC+2)'
|
923
923
|
end
|
924
924
|
end
|
925
925
|
end
|