chronos 0.1.0

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.
Files changed (54) hide show
  1. data/CHANGELOG.rdoc +27 -0
  2. data/HISTORY.rdoc +4 -0
  3. data/LICENSE.txt +52 -0
  4. data/MANIFEST.txt +51 -0
  5. data/NOTES.rdoc +85 -0
  6. data/README.rdoc +125 -0
  7. data/Rakefile +34 -0
  8. data/TODO.rdoc +63 -0
  9. data/bench/completebench.rb +24 -0
  10. data/ext/cchronos/extconf.rb +5 -0
  11. data/ext/chronos_core/extconf.rb +5 -0
  12. data/lib/chronos.rb +208 -0
  13. data/lib/chronos/calendar.rb +16 -0
  14. data/lib/chronos/calendar/gregorian.rb +94 -0
  15. data/lib/chronos/data/zones.tab +424 -0
  16. data/lib/chronos/datetime.rb +299 -0
  17. data/lib/chronos/datetime/gregorian.rb +698 -0
  18. data/lib/chronos/duration.rb +141 -0
  19. data/lib/chronos/duration/gregorian.rb +261 -0
  20. data/lib/chronos/durationtotext.rb +42 -0
  21. data/lib/chronos/exceptions.rb +16 -0
  22. data/lib/chronos/gregorian.rb +27 -0
  23. data/lib/chronos/interval.rb +132 -0
  24. data/lib/chronos/interval/gregorian.rb +80 -0
  25. data/lib/chronos/locale/parsers/de_CH.rb +50 -0
  26. data/lib/chronos/locale/parsers/en_US.rb +1 -0
  27. data/lib/chronos/locale/parsers/generic.rb +21 -0
  28. data/lib/chronos/locale/strings/de_DE.yaml +76 -0
  29. data/lib/chronos/locale/strings/en_US.yaml +76 -0
  30. data/lib/chronos/minimalistic.rb +37 -0
  31. data/lib/chronos/numeric/gregorian.rb +100 -0
  32. data/lib/chronos/ruby.rb +6 -0
  33. data/lib/chronos/version.rb +21 -0
  34. data/lib/chronos/zone.rb +212 -0
  35. data/rake/initialize.rb +116 -0
  36. data/rake/lib/assesscode.rb +59 -0
  37. data/rake/lib/bonesplitter.rb +245 -0
  38. data/rake/lib/projectclass.rb +69 -0
  39. data/rake/tasks/copyright.rake +24 -0
  40. data/rake/tasks/gem.rake +119 -0
  41. data/rake/tasks/git.rake +40 -0
  42. data/rake/tasks/loc.rake +33 -0
  43. data/rake/tasks/manifest.rake +63 -0
  44. data/rake/tasks/meta.rake +16 -0
  45. data/rake/tasks/notes.rake +36 -0
  46. data/rake/tasks/post_load.rake +18 -0
  47. data/rake/tasks/rdoc.rake +73 -0
  48. data/rake/tasks/rubyforge.rake +67 -0
  49. data/rake/tasks/spec.rake +55 -0
  50. data/spec/bacon_helper.rb +43 -0
  51. data/spec/lib/chronos/datetime/gregorian_spec.rb +314 -0
  52. data/spec/lib/chronos/datetime_spec.rb +219 -0
  53. data/spec/lib/chronos_spec.rb +91 -0
  54. metadata +111 -0
@@ -0,0 +1,24 @@
1
+ $LOAD_PATH.unshift(File.expand_path(__FILE__+'../../../lib'))
2
+
3
+ #p $LOAD_PATH
4
+
5
+ require 'benchmark'
6
+ require 'chronos/datetime'
7
+ require 'date'
8
+
9
+ include Chronos
10
+
11
+ N1 = 10_000
12
+
13
+ Benchmark.bm(30) { |x|
14
+ x.report('create:Time') { N1.times { Time.mktime(2008,7,1) } }
15
+ x.report('create:DateTime') { N1.times { DateTime.new(2008,7,1) } }
16
+ x.report('create:Chronos') { N1.times { Datetime.civil(2008,7,1) } }
17
+
18
+ t = Time.mktime(2008,7,1)
19
+ d = DateTime.new(2008,7,1)
20
+ c = Datetime.civil(2008,7,1)
21
+ x.report('strftime:Time') { N1.times { t.strftime("%Y-%m-%d") } }
22
+ x.report('strftime:DateTime') { N1.times { d.strftime("%Y-%m-%d") } }
23
+ x.report('strftime:Chronos') { N1.times { c.format("%Y-%m-%d") } }
24
+ }
@@ -0,0 +1,5 @@
1
+ $preload=nil
2
+ require 'mkmf'
3
+ with_cflags("-W -Wall -std=c99") {
4
+ create_makefile("ccolor")
5
+ }
@@ -0,0 +1,5 @@
1
+ $preload=nil
2
+ require 'mkmf'
3
+ with_cflags("-W -Wall -std=c99") {
4
+ create_makefile("chronos_core")
5
+ }
data/lib/chronos.rb ADDED
@@ -0,0 +1,208 @@
1
+ #--
2
+ # Copyright 2007-2008 by Stefan Rusterholz.
3
+ # All rights reserved.
4
+ # See LICENSE.txt for permissions.
5
+ #++
6
+
7
+
8
+
9
+ class Time; end
10
+ class Date; end
11
+ class DateTime < Date; end
12
+
13
+
14
+
15
+ require 'chronos/calendar'
16
+ require 'chronos/datetime'
17
+ require 'chronos/duration'
18
+ require 'chronos/exceptions'
19
+ require 'chronos/interval'
20
+ require 'chronos/ruby'
21
+ require 'chronos/zone'
22
+ require 'yaml'
23
+
24
+
25
+
26
+ # == Summary
27
+ #
28
+ # == Synopsis
29
+ #
30
+ # == Description
31
+ #
32
+ # == Duck typing
33
+ # All chronos classes will accept in places of
34
+ # Datetime:: objects that respond to to_datetime (careful as this collides with date's Time#to_datetime, you have to explicitly import them)
35
+ # Duration:: objects that respond to to_duration
36
+ # Interval:: objects that respond to to_interval
37
+ # Calendar:: objects that respond to to_calendar
38
+ #
39
+ # For classes that don't have those methods you can try Klassname::import.
40
+ # For example
41
+ # Chronos::Datetime.import(Time.now) # => Chronos::Datetime
42
+ #
43
+ module Chronos
44
+ # picoseconds in a nanosecond
45
+ PS_IN_NANOSECOND = 1_000
46
+
47
+ # picoseconds in a microsecond
48
+ PS_IN_MICROSECOND = PS_IN_NANOSECOND * 1_000
49
+
50
+ # picoseconds in a microsecond
51
+ PS_IN_MILLISECOND = PS_IN_MICROSECOND * 1_000
52
+
53
+ # picoseconds in a second
54
+ PS_IN_SECOND = PS_IN_MILLISECOND * 1_000
55
+
56
+ # picoseconds in a minute
57
+ PS_IN_MINUTE = PS_IN_SECOND * 60
58
+
59
+ # picoseconds in an hour
60
+ PS_IN_HOUR = PS_IN_MINUTE * 60
61
+
62
+ # picoseconds in a day
63
+ PS_IN_DAY = PS_IN_HOUR * 24
64
+
65
+ # picoseconds in a week
66
+ PS_IN_WEEK = PS_IN_DAY * 7
67
+
68
+ # The extension YAML files use
69
+ YAMLExt = '.yaml'.freeze
70
+
71
+ # The full path of the zones.tab file
72
+ ZonesFile = File.join(File.dirname(__FILE__), "chronos", "data", "zones.tab").freeze
73
+
74
+ # The full path of the marshalled zones data cache file
75
+ ZonesData = File.join(File.dirname(__FILE__), "chronos", "data", "zones.marshal").freeze
76
+
77
+
78
+ DefaultizeStrings = [
79
+ :picosecond,
80
+ :nanosecond,
81
+ :microsecond,
82
+ :millisecond,
83
+ :second,
84
+ :minute,
85
+ :hour,
86
+ :day,
87
+ :week,
88
+ :month,
89
+ :year
90
+ ].freeze
91
+
92
+ class LocalizationError < RuntimeError; end
93
+
94
+ @strings = {}
95
+
96
+ class <<self
97
+ attr_reader :calendar
98
+ attr_reader :strings
99
+
100
+ # TODO: refactor this ugly piece of code
101
+ def string(lang, key, quantity=nil)
102
+ if localized1 = @strings[lang] then
103
+ if localized2 = localized1[key] then
104
+ quantity ? localized2[quantity] : localized2
105
+ elsif lang != 'en_US' && localized1 = @strings['en_US'] then
106
+ if localized2 = localized1[key] then
107
+ warn "Couldn't localize #{key.inspect} for #{lang} with quantity #{quantity.inspect}, falling back to en_US"
108
+ quantity ? localized2[quantity] : localized2
109
+ else
110
+ raise LocalizationError, "Can't localize #{key.inspect} for #{lang} with quantity #{quantity.inspect}"
111
+ end
112
+ else
113
+ raise LocalizationError, "Can't localize #{key.inspect} for #{lang} with quantity #{quantity.inspect}"
114
+ end
115
+ elsif lang != 'en_US' && localized1 = @strings['en_US'] then
116
+ if localized2 = localized1[key] then
117
+ warn "Couldn't localize #{key.inspect} for #{lang} with quantity #{quantity.inspect}, falling back to en_US"
118
+ quantity ? localized2[quantity] : localized2
119
+ else
120
+ raise LocalizationError, "Can't localize #{key.inspect} for #{lang} with quantity #{quantity.inspect}"
121
+ end
122
+ else
123
+ raise LocalizationError, "Can't localize #{key.inspect} for #{lang} with quantity #{quantity.inspect}"
124
+ end
125
+ end
126
+
127
+ # Load a yaml strings file
128
+ def load_strings(strfile, language)
129
+ data = YAML.load_file(strfile)
130
+ DefaultizeStrings.each do |key|
131
+ data[key] = Hash.new(data[key].delete(nil)).merge(data[key])
132
+ end
133
+ @strings[language] ||= {}
134
+ @strings[language].update(data)
135
+ end
136
+
137
+ # Normalize the language to something Chronos can work with (or raise)
138
+ def normalize_language(val) # :nodoc:
139
+ raise ArgumentError, "Invalid language #{val.inspect}" unless lang = val[/^[a-z]{2}_[A-Z]{2}/]
140
+ unless @strings.has_key?(language) then
141
+ warn "Language #{lang} not available, falling back to en_US"
142
+ 'en_US'
143
+ else
144
+ lang
145
+ end
146
+ end
147
+
148
+ # Normalize the timezone to something Chronos can work with (or raise)
149
+ def normalize_timezone(val) # :nodoc:
150
+ raise ArgumentError, "Could not normalize timezone #{val.inspect}" unless zone = Zone[val]
151
+ zone
152
+ end
153
+
154
+ # Set the default language to use with Chronos classes (parsing/printing)
155
+ def language=(value)
156
+ @language = normalize_language(value)
157
+ end
158
+
159
+ # Set the default timezone to use with Chronos classes
160
+ def timezone=(value)
161
+ @timezone = normalize_timezone(value)
162
+ end
163
+ def timezone(tz=nil)
164
+ case tz
165
+ when Chronos::Zone
166
+ tz
167
+ when NilClass
168
+ @timezone
169
+ else
170
+ normalize_timezone(tz)
171
+ end
172
+ end
173
+
174
+ def language(lang=nil)
175
+ case lang
176
+ when NilClass
177
+ @language
178
+ else
179
+ normalize_language(lang)
180
+ end
181
+ end
182
+
183
+ # Set the calendar system Chronos should use. You can also just require
184
+ # the appropriate file, e.g.:
185
+ # require 'chronos/gregorian'
186
+ # will call Chronos.use :Gregorian
187
+ def use(calendar_system)
188
+ raise "Calendar system is already set" if @calendar
189
+ raise TypeError, "Symbol expected, #{calendar_system.class} given" unless calendar_system.kind_of?(Symbol)
190
+ @calendar = calendar_system
191
+ end
192
+ end
193
+
194
+ Zone.load(ZonesFile, ZonesData, false)
195
+ Dir.glob("#{File.dirname(__FILE__)}/chronos/locale/strings/*.yaml") { |file|
196
+ lang = File.basename(file, YAMLExt)
197
+ begin
198
+ load_strings(file, lang)
199
+ rescue => e
200
+ warn "Had errors while loading strings file #{file}: #{e}"
201
+ end
202
+ }
203
+
204
+ self.language = ENV['LANG'] || 'en_US'
205
+ self.timezone = Time.now.strftime("%Z")
206
+ UTC = Chronos.timezone('UTC')
207
+ @calendar = nil
208
+ end
@@ -0,0 +1,16 @@
1
+ #--
2
+ # Copyright 2007-2008 by Stefan Rusterholz.
3
+ # All rights reserved.
4
+ # See LICENSE.txt for permissions.
5
+ #++
6
+
7
+
8
+
9
+ require 'chronos'
10
+
11
+
12
+
13
+ module Chronos
14
+ class Calendar
15
+ end # Calendar
16
+ end # Chronos
@@ -0,0 +1,94 @@
1
+ #--
2
+ # Copyright 2007-2008 by Stefan Rusterholz.
3
+ # All rights reserved.
4
+ # See LICENSE.txt for permissions.
5
+ #++
6
+
7
+
8
+
9
+ require 'chronos'
10
+ require 'chronos/datetime/gregorian'
11
+ require 'chronos/duration/gregorian'
12
+ require 'chronos/interval/gregorian'
13
+
14
+
15
+
16
+ module Chronos
17
+ class Calendar
18
+ class Gregorian < ::Chronos::Calendar
19
+ Inspect = "#<%s %s>".freeze
20
+
21
+ class <<self
22
+ def method_missing(*args, &block)
23
+ new(Chronos::Datetime::Gregorian.send(*args, &block))
24
+ end
25
+ end
26
+
27
+ def initialize(datetime)
28
+ @datetime = datetime
29
+ @language = datetime.language
30
+ end
31
+
32
+ def year=(value)
33
+ @datetime += Chronos::Duration::Gregorian.new(0, (value-@datetime.year())*12, @language)
34
+ end
35
+
36
+ def month=(value)
37
+ @datetime += Chronos::Duration::Gregorian.new(0, (value-@datetime.month()), @language)
38
+ end
39
+
40
+ def week=(value)
41
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.week())*Chronos::PS_IN_WEEK, 0, @language)
42
+ end
43
+
44
+ def day=(value)
45
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.day())*Chronos::PS_IN_DAY, 0, @language)
46
+ end
47
+
48
+ def hour=(value)
49
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.hour())*Chronos::PS_IN_HOUR, 0, @language)
50
+ end
51
+
52
+ def minute=(value)
53
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.minute())*Chronos::PS_IN_MINUTE, 0, @language)
54
+ end
55
+
56
+ def second=(value)
57
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.second())*Chronos::PS_IN_SECOND, 0, @language)
58
+ end
59
+
60
+ def millisecond=(value)
61
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.millisecond())*Chronos::PS_IN_MILLISECOND, 0, @language)
62
+ end
63
+
64
+ def microsecond=(value)
65
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.microsecond())*Chronos::PS_IN_MICROSECOND, 0, @language)
66
+ end
67
+
68
+ def nanosecond=(value)
69
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.nanosecond())*Chronos::PS_IN_NANOSECOND, 0, @language)
70
+ end
71
+
72
+ def picosecond=(value)
73
+ @datetime += Chronos::Duration::Gregorian.new((value-@datetime.picosecond())*Chronos::PS_IN_PICOSECOND, 0, @language)
74
+ end
75
+
76
+ def method_missing(*args, &block)
77
+ r = @datetime.send(*args, &block)
78
+ if r.class == ::Chronos::Datetime::Gregorian then
79
+ @datetime = r
80
+ self
81
+ else
82
+ r
83
+ end
84
+ end
85
+
86
+ def inspect
87
+ sprintf Inspect,
88
+ self.class,
89
+ @datetime
90
+ # /sprintf
91
+ end
92
+ end # Gregorian
93
+ end # Calendar
94
+ end # Chronos
@@ -0,0 +1,424 @@
1
+ TIMEZONEID LANG UTC DSTRULE NUMERIC ALPHA2 ALPHA3 COUNTRYNAME LATITUDE LONGITUDE LATITUDE_ISO LONGITUDE_ISO
2
+ UTC-12 en UTC-12 NONE 000 0 -180 +00000 -18000
3
+ UTC-11 en UTC-11 NONE 000 0 -165 +00000 -16500
4
+ UTC-10 en UTC-10 NONE 000 0 -150 +00000 -15000
5
+ UTC-9:30 en UTC-9:30 NONE 000 0 -142.5 +00000 -14230
6
+ UTC-9 en UTC-9 NONE 000 0 -135 +00000 -13500
7
+ UTC-8 en UTC-8 NONE 000 0 -120 +00000 -12000
8
+ UTC-7 en UTC-7 NONE 000 0 -105 +00000 -10500
9
+ UTC-6 en UTC-6 NONE 000 0 -90 +00000 -09000
10
+ UTC-5 en UTC-5 NONE 000 0 -75 +00000 -07500
11
+ UTC-4 en UTC-4 NONE 000 0 -60 +00000 -06000
12
+ UTC-3:30 en UTC-3:30 NONE 000 0 -52.5 +00000 -05230
13
+ UTC-3 en UTC-3 NONE 000 0 -45 +00000 -04500
14
+ UTC-2 en UTC-2 NONE 000 0 -30 +00000 -03000
15
+ UTC-1 en UTC-1 NONE 000 0 -15 +00000 -01500
16
+ UTC en UTC NONE 000 0 0 +00000 +00000
17
+ UTC+1 en UTC+1 NONE 000 0 15 +00000 +01500
18
+ UTC+2 en UTC+2 NONE 000 0 30 +00000 +03000
19
+ UTC+3 en UTC+3 NONE 000 0 45 +00000 +04500
20
+ UTC+3:30 en UTC+3:30 NONE 000 0 52.5 +00000 +05230
21
+ UTC+4 en UTC+4 NONE 000 0 60 +00000 +06000
22
+ UTC+4:30 en UTC+4:30 NONE 000 0 67.5 +00000 +06730
23
+ UTC+5 en UTC+5 NONE 000 0 75 +00000 +07500
24
+ UTC+5:30 en UTC+5:30 NONE 000 0 82.5 +00000 +08230
25
+ UTC+5:45 en UTC+5:45 NONE 000 0 86.25 +08230 +08615
26
+ UTC+6 en UTC+6 NONE 000 0 90 +00000 +09000
27
+ UTC+6:30 en UTC+6:30 NONE 000 0 97.5 +00000 +09730
28
+ UTC+7 en UTC+7 NONE 000 0 105 +00000 +10500
29
+ UTC+8 en UTC+8 NONE 000 0 120 +00000 +12000
30
+ UTC+9 en UTC+9 NONE 000 0 135 +00000 +13500
31
+ UTC+9:30 en UTC+9:30 NONE 000 0 142.5 +00000 +14230
32
+ UTC+10 en UTC+10 NONE 000 0 150 +00000 +15000
33
+ UTC+11 en UTC+11 NONE 000 0 165 +00000 +16500
34
+ UTC+11:30 en UTC+11:30 NONE 000 0 172.5 +00000 +17230
35
+ UTC+12 en UTC+12 NONE 000 0 180 +00000 +18000
36
+ UTC+12:45 en UTC+12:45 NONE 000 0 -168.75 +00000 -16845
37
+ UTC+13 en UTC+13 NONE 000 0 -165 +00000 -16500
38
+ UTC+14 en UTC+14 NONE 000 0 -150 +00000 -15000
39
+ Pacific/Apia en UTC-11 NONE 882 WS WSM Samoa (Western) -13.833333333333 -171.73333333333 -1350 -17144
40
+ Pacific/Midway en UTC-11 NONE 581 UM UMI US minor outlying islands 28.216666666667 -177.36666666667 +2813 -17722
41
+ Pacific/Niue en UTC-11 NONE 570 NU NIU Niue -19.016666666667 169.91666666667 -1901 +16955
42
+ Pacific/Pago_Pago en UTC-11 NONE 016 AS ASM Samoa (American) -14.266666666667 -170.7 -1416 -17042
43
+ America/Adak en UTC-10 NONE 840 US USA United States 51.88 -176.65805555556 +515248 -1763929
44
+ Pacific/Fakaofo en UTC-10 NONE 772 TK TKL Tokelau -9.3666666666667 -171.23333333333 -0922 -17114
45
+ Pacific/Honolulu en UTC-10 NONE 840 US USA United States 21.306944444444 -157.85833333333 +211825 -1575130
46
+ Pacific/Johnston en UTC-10 NONE 581 UM UMI US minor outlying islands 17 -168.5 +1700 -16830
47
+ Pacific/Rarotonga en UTC-10 NONE 184 CK COK Cook Islands -21.233333333333 -159.76666666667 -2114 -15946
48
+ Pacific/Tahiti en UTC-10 NONE 258 PF PYF French Polynesia -17.533333333333 -149.56666666667 -1732 -14934
49
+ Pacific/Marquesas en UTC-9:30 NONE 258 PF PYF French Polynesia -9 -139.5 -0900 -13930
50
+ America/Anchorage en UTC-9 NONE 840 US USA United States 61.218055555556 -149.90027777778 +611305 -1495401
51
+ America/Juneau en UTC-9 NONE 840 US USA United States 58.301944444444 -134.41972222222 +581807 -1342511
52
+ America/Nome en UTC-9 NONE 840 US USA United States 64.501111111111 -165.40638888889 +643004 -1652423
53
+ America/Yakutat en UTC-9 NONE 840 US USA United States 59.546944444444 -139.72722222222 +593249 -1394338
54
+ Pacific/Gambier en UTC-9 NONE 258 PF PYF French Polynesia -23.133333333333 -134.95 -2308 -13457
55
+ America/Dawson en UTC-8 NONE 124 CA CAN Canada 64.066666666667 -139.41666666667 +6404 -13925
56
+ America/Los_Angeles en UTC-8 NONE 840 US USA United States 34.052222222222 -118.24277777778 +340308 -1181434
57
+ America/Tijuana en UTC-8 NONE 484 MX MEX Mexico 32.533333333333 -117.01666666667 +3232 -11701
58
+ America/Vancouver en UTC-8 NONE 124 CA CAN Canada 49.266666666667 -123.11666666667 +4916 -12307
59
+ America/Whitehorse en UTC-8 NONE 124 CA CAN Canada 60.716666666667 -135.05 +6043 -13503
60
+ Pacific/Pitcairn en UTC-8 NONE 612 PN PCN Pitcairn -25.066666666667 -130.08333333333 -2504 -13005
61
+ America/Boise en UTC-7 NONE 840 US USA United States 43.613611111111 -116.2025 +433649 -1161209
62
+ America/Cambridge_Bay en UTC-7 NONE 124 CA CAN Canada 69.05 -105.08333333333 +6903 -10505
63
+ America/Chihuahua en UTC-7 NONE 484 MX MEX Mexico 28.633333333333 -106.08333333333 +2838 -10605
64
+ America/Dawson_Creek en UTC-7 NONE 124 CA CAN Canada 59.766666666667 -120.23333333333 +5946 -12014
65
+ America/Denver en UTC-7 NONE 840 US USA United States 39.739166666667 -104.98416666667 +394421 -1045903
66
+ America/Edmonton en UTC-7 NONE 124 CA CAN Canada 53.55 -113.46666666667 +5333 -11328
67
+ America/Hermosillo en UTC-7 NONE 484 MX MEX Mexico 29.066666666667 -110.96666666667 +2904 -11058
68
+ America/Inuvik en UTC-7 NONE 124 CA CAN Canada 68.416666666667 -113.5 +6825 -11330
69
+ America/Mazatlan en UTC-7 NONE 484 MX MEX Mexico 23.216666666667 -106.41666666667 +2313 -10625
70
+ America/Phoenix en UTC-7 NONE 840 US USA United States 33.448333333333 -112.07333333333 +332654 -1120424
71
+ America/Shiprock en UTC-7 NONE 840 US USA United States 36.785555555556 -108.68638888889 +364708 -1084111
72
+ America/Yellowknife en UTC-7 NONE 124 CA CAN Canada 62.45 -114.35 +6227 -11421
73
+ America/Belize en UTC-6 NONE 084 BZ BLZ Belize 17.5 -88.2 +1730 -08812
74
+ America/Cancun en UTC-6 NONE 484 MX MEX Mexico 21.083333333333 -86.766666666667 +2105 -08646
75
+ America/Chicago en UTC-6 NONE 840 US USA United States 41.85 -87.65 +415100 -0873900
76
+ America/Costa_Rica en UTC-6 NONE 188 CR CRI Costa Rica 9.9333333333333 -84.083333333333 +0956 -08405
77
+ America/El_Salvador en UTC-6 NONE 222 SV SLV El Salvador 13.7 -89.2 +1342 -08912
78
+ America/Guatemala en UTC-6 NONE 320 GT GTM Guatemala 14.633333333333 -90.516666666667 +1438 -09031
79
+ America/Managua en UTC-6 NONE 558 NI NIC Nicaragua 12.15 -86.283333333333 +1209 -08617
80
+ America/Menominee en UTC-6 NONE 840 US USA United States 45.107777777778 -87.614166666667 +450628 -0873651
81
+ America/Merida en UTC-6 NONE 484 MX MEX Mexico 20.966666666667 -89.616666666667 +2058 -08937
82
+ America/Mexico_City en UTC-6 NONE 484 MX MEX Mexico 19.4 -99.15 +1924 -09909
83
+ America/Monterrey en UTC-6 NONE 484 MX MEX Mexico 25.666666666667 -100.31666666667 +2540 -10019
84
+ America/North_Dakota/Center en UTC-6 NONE 840 US USA United States 47.116388888889 -101.29916666667 +470659 -1011757
85
+ America/Rainy_River en UTC-6 NONE 124 CA CAN Canada 48.716666666667 -94.483333333333 +4843 -09429
86
+ America/Rankin_Inlet en UTC-6 NONE 124 CA CAN Canada 62.75 -92.166666666667 +6245 -09210
87
+ America/Regina en UTC-6 NONE 124 CA CAN Canada 50.4 -104.65 +5024 -10439
88
+ America/Swift_Current en UTC-6 NONE 124 CA CAN Canada 50.283333333333 -107.83333333333 +5017 -10750
89
+ America/Tegucigalpa en UTC-6 NONE 340 HN HND Honduras 14.1 -87.216666666667 +1406 -08713
90
+ America/Winnipeg en UTC-6 NONE 124 CA CAN Canada 49.883333333333 -97.15 +4953 -09709
91
+ Pacific/Galapagos en UTC-6 NONE 218 EC ECU Ecuador -0.9 -89.6 -0054 -08936
92
+ America/Bogota en UTC-5 NONE 170 CO COL Colombia 4.6 -74.083333333333 +0436 -07405
93
+ America/Cayman en UTC-5 NONE 136 KY CYM Cayman Islands 19.3 -81.383333333333 +1918 -08123
94
+ America/Detroit en UTC-5 NONE 840 US USA United States 42.331388888889 -83.045833333333 +421953 -0830245
95
+ America/Eirunepe en UTC-5 NONE 076 BR BRA Brazil -6.6666666666667 -69.866666666667 -0640 -06952
96
+ America/Grand_Turk en UTC-5 NONE 796 TC TCA Turks & Caicos Is 21.466666666667 -71.133333333333 +2128 -07108
97
+ America/Guayaquil en UTC-5 NONE 218 EC ECU Ecuador -2.1666666666667 -79.833333333333 -0210 -07950
98
+ America/Indiana/Knox en UTC-5 NONE 840 US USA United States 41.295833333333 -86.625 +411745 -0863730
99
+ America/Indiana/Marengo en UTC-5 NONE 840 US USA United States 38.375555555556 -86.344722222222 +382232 -0862041
100
+ America/Indiana/Vevay en UTC-5 NONE 840 US USA United States 38.747777777778 -85.067222222222 +384452 -0850402
101
+ America/Indianapolis en UTC-5 NONE 840 US USA United States 39.768333333333 -86.158055555556 +394606 -0860929
102
+ America/Iqaluit en UTC-5 NONE 124 CA CAN Canada 63.733333333333 -68.466666666667 +6344 -06828
103
+ America/Jamaica en UTC-5 NONE 388 JM JAM Jamaica 18 -76.8 +1800 -07648
104
+ America/Kentucky/Monticello en UTC-5 NONE 840 US USA United States 36.829722222222 -84.849166666667 +364947 -0845057
105
+ America/Lima en UTC-5 NONE 604 PE PER Peru -12.05 -77.05 -1203 -07703
106
+ America/Louisville en UTC-5 NONE 840 US USA United States 38.254166666667 -85.759444444444 +381515 -0854534
107
+ America/Montreal en UTC-5 NONE 124 CA CAN Canada 45.516666666667 -73.566666666667 +4531 -07334
108
+ America/Nassau en UTC-5 NONE 044 BS BHS Bahamas 25.083333333333 -77.35 +2505 -07721
109
+ America/New_York en UTC-5 NONE 840 US USA United States 40.714166666667 -74.006388888889 +404251 -0740023
110
+ America/Nipigon en UTC-5 NONE 124 CA CAN Canada 49.016666666667 -88.266666666667 +4901 -08816
111
+ America/Panama en UTC-5 NONE 591 PA PAN Panama 8.9666666666667 -79.533333333333 +0858 -07932
112
+ America/Pangnirtung en UTC-5 NONE 124 CA CAN Canada 66.133333333333 -65.733333333333 +6608 -06544
113
+ America/Port-au-Prince en UTC-5 NONE 332 HT HTI Haiti 18.533333333333 -72.333333333333 +1832 -07220
114
+ America/Rio_Branco en UTC-5 NONE 076 BR BRA Brazil -9.9666666666667 -67.8 -0958 -06748
115
+ America/Thunder_Bay en UTC-5 NONE 124 CA CAN Canada 48.383333333333 -89.25 +4823 -08915
116
+ America/Toronto en UTC-5 NONE 124 CA CAN Canada 43.65 -79.383333333333 +4339 -07923
117
+ America/Anguilla en UTC-4 NONE 660 AI AIA Anguilla 18.2 -63.066666666667 +1812 -06304
118
+ America/Antigua en UTC-4 NONE 028 AG ATG Antigua & Barbuda 17.05 -61.8 +1703 -06148
119
+ America/Aruba en UTC-4 NONE 533 AW ABW Aruba 12.5 -68.966666666667 +1230 -06858
120
+ America/Barbados en UTC-4 NONE 052 BB BRB Barbados 13.1 -59.616666666667 +1306 -05937
121
+ America/Boa_Vista en UTC-4 NONE 076 BR BRA Brazil 2.8166666666667 -60.666666666667 +0249 -06040
122
+ America/Caracas en UTC-4 NONE 862 VE VEN Venezuela 10.5 -66.933333333333 +1030 -06656
123
+ America/Curacao en UTC-4 NONE 530 AN ANT Netherlands Antilles 12.183333333333 -69 +1211 -06900
124
+ America/Dominica en UTC-4 NONE 212 DM DMA Dominica 15.3 -61.4 +1518 -06124
125
+ America/Glace_Bay en UTC-4 NONE 124 CA CAN Canada 46.2 -59.95 +4612 -05957
126
+ America/Goose_Bay en UTC-4 NONE 124 CA CAN Canada 53.333333333333 -60.416666666667 +5320 -06025
127
+ America/Grenada en UTC-4 NONE 308 GD GRD Grenada 12.05 -61.75 +1203 -06145
128
+ America/Guadeloupe en UTC-4 NONE 312 GP GLP Guadeloupe 16.233333333333 -61.533333333333 +1614 -06132
129
+ America/Guyana en UTC-4 NONE 328 GY GUY Guyana 6.8 -58.166666666667 +0648 -05810
130
+ America/Halifax en UTC-4 NONE 124 CA CAN Canada 44.65 -63.6 +4439 -06336
131
+ America/La_Paz en UTC-4 NONE 068 BO BOL Bolivia -16.5 -68.15 -1630 -06809
132
+ America/Manaus en UTC-4 NONE 076 BR BRA Brazil -3.1333333333333 -60.016666666667 -0308 -06001
133
+ America/Martinique en UTC-4 NONE 474 MQ MTQ Martinique 14.6 -61.083333333333 +1436 -06105
134
+ America/Montserrat en UTC-4 NONE 500 MS MSR Montserrat 16.733333333333 -62.216666666667 +1644 -06213
135
+ America/Port_of_Spain en UTC-4 NONE 780 TT TTO Trinidad & Tobago 10.65 -61.516666666667 +1039 -06131
136
+ America/Porto_Velho en UTC-4 NONE 076 BR BRA Brazil -8.7666666666667 -63.9 -0846 -06354
137
+ America/Puerto_Rico en UTC-4 NONE 630 PR PRI Puerto Rico 18.468333333333 -66.106111111111 +182806 -0660622
138
+ America/Santo_Domingo en UTC-4 NONE 214 DO DOM Dominican Republic 18.466666666667 -69.9 +1828 -06954
139
+ America/St_Kitts en UTC-4 NONE 659 KN KNA St Kitts & Nevis 17.3 -62.716666666667 +1718 -06243
140
+ America/St_Lucia en UTC-4 NONE 662 LC LCA St Lucia 14.016666666667 -61 +1401 -06100
141
+ America/St_Thomas en UTC-4 NONE 850 VI VIR Virgin Islands (US) 18.35 -64.933333333333 +1821 -06456
142
+ America/St_Vincent en UTC-4 NONE 670 VC VCT St Vincent 13.15 -61.233333333333 +1309 -06114
143
+ America/Thule en UTC-4 NONE 304 GL GRL Greenland 76.566666666667 -68.783333333333 +7634 -06847
144
+ America/Tortola en UTC-4 NONE 092 VG VGB Virgin Islands (UK) 18.45 -64.616666666667 +1827 -06437
145
+ Atlantic/Bermuda en UTC-4 NONE 060 BM BMU Bermuda 32.283333333333 -64.766666666667 +3217 -06446
146
+ Pacific/Easter en UTC-4 NONE 152 CL CHL Chile -27.166666666667 -109.45 -2710 -10927
147
+ America/St_Johns en UTC-3:30 NONE 124 CA CAN Canada 47.566666666667 -52.716666666667 +4734 -05243
148
+ America/Araguaina en UTC-3 NONE 076 BR BRA Brazil -7.2 -48.2 -0712 -04812
149
+ America/Argentina/Buenos_Aires en UTC-3 NONE 032 AR ARG Argentina -34.6 -58.45 -3436 -05827
150
+ America/Argentina/Catamarca en UTC-3 NONE 032 AR ARG Argentina -28.466666666667 -65.783333333333 -2828 -06547
151
+ America/Argentina/ComodRivadavia en UTC-3 NONE 032 AR ARG Argentina -45.866666666667 -67.5 -4552 -06730
152
+ America/Argentina/Cordoba en UTC-3 NONE 032 AR ARG Argentina -31.4 -64.183333333333 -3124 -06411
153
+ America/Argentina/Jujuy en UTC-3 NONE 032 AR ARG Argentina -24.183333333333 -65.3 -2411 -06518
154
+ America/Argentina/La_Rioja en UTC-3 NONE 032 AR ARG Argentina -29.433333333333 -66.85 -2926 -06651
155
+ America/Argentina/Mendoza en UTC-3 NONE 032 AR ARG Argentina -32.883333333333 -68.816666666667 -3253 -06849
156
+ America/Argentina/Rio_Gallegos en UTC-3 NONE 032 AR ARG Argentina -51.633333333333 -69.216666666667 -5138 -06913
157
+ America/Argentina/San_Juan en UTC-3 NONE 032 AR ARG Argentina -31.533333333333 -68.516666666667 -3132 -06831
158
+ America/Argentina/Tucuman en UTC-3 NONE 032 AR ARG Argentina -31.4 -64.183333333333 -3124 -06411
159
+ America/Argentina/Ushuaia en UTC-3 NONE 032 AR ARG Argentina -54.8 -68.3 -5448 -06818
160
+ America/Bahia en UTC-3 NONE 076 BR BRA Brazil -12.983333333333 -38.516666666667 -1259 -03831
161
+ America/Belem en UTC-3 NONE 076 BR BRA Brazil -1.45 -48.483333333333 -0127 -04829
162
+ America/Cayenne en UTC-3 NONE 254 GF GUF French Guiana 4.9333333333333 -52.333333333333 +0456 -05220
163
+ America/Fortaleza en UTC-3 NONE 076 BR BRA Brazil -3.7166666666667 -38.5 -0343 -03830
164
+ America/Godthab en UTC-3 NONE 304 GL GRL Greenland 64.183333333333 -51.733333333333 +6411 -05144
165
+ America/Havana en UTC-3 NONE 192 CU CUB Cuba 23.133333333333 -82.366666666667 +2308 -08222
166
+ America/Maceio en UTC-3 NONE 076 BR BRA Brazil -9.6666666666667 -35.716666666667 -0940 -03543
167
+ America/Miquelon en UTC-3 NONE 666 PM SPM St Pierre & Miquelon 47.05 -56.333333333333 +4703 -05620
168
+ America/Paramaribo en UTC-3 NONE 740 SR SUR Suriname 5.8333333333333 -55.166666666667 +0550 -05510
169
+ America/Recife en UTC-3 NONE 076 BR BRA Brazil -8.05 -34.9 -0803 -03454
170
+ Antarctica/Rothera en UTC-3 NONE 010 AQ ATA Antarctica -67.566666666667 -68.133333333333 -6734 -06808
171
+ America/Asuncion en UTC-2 NONE 600 PY PRY Paraguay -25.266666666667 -57.666666666667 -2516 -05740
172
+ America/Campo_Grande en UTC-2 NONE 076 BR BRA Brazil -20.45 -54.616666666667 -2027 -05437
173
+ America/Cuiaba en UTC-2 NONE 076 BR BRA Brazil -15.583333333333 -56.083333333333 -1535 -05605
174
+ America/Noronha en UTC-2 NONE 076 BR BRA Brazil -3.85 -32.416666666667 -0351 -03225
175
+ America/Santiago en UTC-2 NONE 152 CL CHL Chile -33.45 -70.666666666667 -3327 -07040
176
+ Antarctica/Palmer en UTC-2 NONE 010 AQ ATA Antarctica -64.8 -64.1 -6448 -06406
177
+ Atlantic/South_Georgia en UTC-2 NONE 239 GS SGS South Georgia & the South Sandwich Islands -54.266666666667 -36.533333333333 -5416 -03632
178
+ Atlantic/Stanley en UTC-2 NONE 238 FK FLK Falkland Islands -51.7 -57.85 -5142 -05751
179
+ America/Montevideo en UTC-1 NONE 858 UY URY Uruguay -34.883333333333 -56.183333333333 -3453 -05611
180
+ America/Sao_Paulo en UTC-1 NONE 076 BR BRA Brazil -23.533333333333 -46.616666666667 -2332 -04637
181
+ America/Scoresbysund en UTC-1 NONE 304 GL GRL Greenland 70.5 -22.25 +7030 -02215
182
+ Atlantic/Azores en UTC-1 NONE 620 PT PRT Portugal 37.733333333333 -25.666666666667 +3744 -02540
183
+ Atlantic/Cape_Verde en UTC-1 NONE 132 CV CPV Cape Verde 14.916666666667 -23.516666666667 +1455 -02331
184
+ Africa/Abidjan en UTC NONE 384 CI CIV Cote d'Ivoire 5.3166666666667 -4.0333333333333 +0519 -00402
185
+ Africa/Accra en UTC NONE 288 GH GHA Ghana 5.55 -0.21666666666667 +0533 -00013
186
+ Africa/Bamako en UTC NONE 466 ML MLI Mali 12.65 -8 +1239 -00800
187
+ Africa/Banjul en UTC NONE 270 GM GMB Gambia 13.466666666667 -16.65 +1328 -01639
188
+ Africa/Bissau en UTC NONE 624 GW GNB Guinea-Bissau 11.85 -15.583333333333 +1151 -01535
189
+ Africa/Casablanca en UTC NONE 504 MA MAR Morocco 33.65 -7.5833333333333 +3339 -00735
190
+ Africa/Conakry en UTC NONE 324 GN GIN Guinea 9.5166666666667 -13.716666666667 +0931 -01343
191
+ Africa/Dakar en UTC NONE 686 SN SEN Senegal 14.666666666667 -17.433333333333 +1440 -01726
192
+ Africa/El_Aaiun en UTC NONE 732 EH ESH Western Sahara 27.15 -13.2 +2709 -01312
193
+ Africa/Freetown en UTC NONE 694 SL SLE Sierra Leone 8.5 -13.25 +0830 -01315
194
+ Africa/Lome en UTC NONE 768 TG TGO Togo 6.1333333333333 1.2166666666667 +0608 +00113
195
+ Africa/Monrovia en UTC NONE 430 LR LBR Liberia 6.3 -10.783333333333 +0618 -01047
196
+ Africa/Nouakchott en UTC NONE 478 MR MRT Mauritania 18.1 -15.95 +1806 -01557
197
+ Africa/Ouagadougou en UTC NONE 854 BF BFA Burkina Faso 12.366666666667 -1.5166666666667 +1222 -00131
198
+ Africa/Sao_Tome en UTC NONE 678 ST STP Sao Tome & Principe 0.33333333333333 6.7333333333333 +0020 +00644
199
+ Africa/Timbuktu en UTC NONE 466 ML MLI Mali 14.766666666667 -3.0166666666667 +1446 -00301
200
+ America/Danmarkshavn en UTC NONE 304 GL GRL Greenland 76.766666666667 -18.666666666667 +7646 -01840
201
+ Atlantic/Canary en UTC NONE 724 ES ESP Spain 28.1 -15.4 +2806 -01524
202
+ Atlantic/Faeroe en UTC NONE 234 FO FRO Faeroe Islands 62.016666666667 -6.7666666666667 +6201 -00646
203
+ Atlantic/Madeira en UTC NONE 620 PT PRT Portugal 32.633333333333 -16.9 +3238 -01654
204
+ Atlantic/Reykjavik en UTC NONE 352 IS ISL Iceland 64.15 -21.85 +6409 -02151
205
+ Atlantic/St_Helena en UTC NONE 654 SH SHN St Helena -15.916666666667 -5.7 -1555 -00542
206
+ Europe/Belfast en UTC NONE 826 GB GBR Britain (UK) 54.583333333333 -5.9166666666667 +5435 -00555
207
+ Europe/Dublin en UTC NONE 372 IE IRL Ireland 53.333333333333 -6.25 +5320 -00615
208
+ Europe/Lisbon en UTC NONE 620 PT PRT Portugal 38.716666666667 -9.1333333333333 +3843 -00908
209
+ Europe/London en UTC NONE 826 GB GBR Britain (UK) 51.475 -0.3125 +512830 -0001845
210
+ Africa/Algiers en UTC+1 NONE 012 DZ DZA Algeria 36.783333333333 3.05 +3647 +00303
211
+ Africa/Bangui en UTC+1 NONE 140 CF CAF Central African Rep. 4.3666666666667 18.583333333333 +0422 +01835
212
+ Africa/Brazzaville en UTC+1 NONE 178 CG COG Congo (Rep.) -4.2666666666667 15.283333333333 -0416 +01517
213
+ Africa/Ceuta en UTC+1 NONE 724 ES ESP Spain 35.883333333333 -5.3166666666667 +3553 -00519
214
+ Africa/Douala en UTC+1 NONE 120 CM CMR Cameroon 4.05 9.7 +0403 +00942
215
+ Africa/Kinshasa en UTC+1 NONE 180 CD COD Congo (Dem. Rep.) -4.3 15.3 -0418 +01518
216
+ Africa/Lagos en UTC+1 NONE 566 NG NGA Nigeria 6.45 3.4 +0627 +00324
217
+ Africa/Libreville en UTC+1 NONE 266 GA GAB Gabon 0.38333333333333 9.45 +0023 +00927
218
+ Africa/Luanda en UTC+1 NONE 024 AO AGO Angola -8.8 13.233333333333 -0848 +01314
219
+ Africa/Malabo en UTC+1 NONE 226 GQ GNQ Equatorial Guinea 3.75 8.7833333333333 +0345 +00847
220
+ Africa/Ndjamena en UTC+1 NONE 148 TD TCD Chad 12.116666666667 15.05 +1207 +01503
221
+ Africa/Niamey en UTC+1 NONE 562 NE NER Niger 13.516666666667 2.1166666666667 +1331 +00207
222
+ Africa/Porto-Novo en UTC+1 NONE 204 BJ BEN Benin 6.4833333333333 2.6166666666667 +0629 +00237
223
+ Africa/Tunis en UTC+1 NONE 788 TN TUN Tunisia 36.8 10.183333333333 +3648 +01011
224
+ Africa/Windhoek en UTC+1 NONE 516 NA NAM Namibia -22.566666666667 17.1 -2234 +01706
225
+ Arctic/Longyearbyen en UTC+1 NONE 744 SJ SJM Svalbard & Jan Mayen 78 16 +7800 +01600
226
+ Atlantic/Jan_Mayen en UTC+1 NONE 744 SJ SJM Svalbard & Jan Mayen 70.983333333333 -8.0833333333333 +7059 -00805
227
+ Europe/Amsterdam en UTC+1 NONE 528 NL NLD Netherlands 52.366666666667 4.9 +5222 +00454
228
+ Europe/Andorra en UTC+1 NONE 020 AD AND Andorra 42.5 1.5166666666667 +4230 +00131
229
+ Europe/Belgrade en UTC+1 NONE 891 CS SCG Serbia and Montenegro 44.833333333333 20.5 +4450 +02030
230
+ Europe/Berlin de UTC+1 NONE 276 DE DEU Germany 52.5 13.366666666667 +5230 +01322
231
+ Europe/Bratislava en UTC+1 NONE 703 SK SVK Slovakia 48.15 17.116666666667 +4809 +01707
232
+ Europe/Brussels en UTC+1 NONE 056 BE BEL Belgium 50.833333333333 4.3333333333333 +5050 +00420
233
+ Europe/Budapest en UTC+1 NONE 348 HU HUN Hungary 47.5 19.083333333333 +4730 +01905
234
+ Europe/Copenhagen en UTC+1 NONE 208 DK DNK Denmark 55.666666666667 12.583333333333 +5540 +01235
235
+ Europe/Gibraltar en UTC+1 NONE 292 GI GIB Gibraltar 36.133333333333 -5.35 +3608 -00521
236
+ Europe/Ljubljana en UTC+1 NONE 705 SI SVN Slovenia 46.05 14.516666666667 +4603 +01431
237
+ Europe/Luxembourg en UTC+1 NONE 442 LU LUX Luxembourg 49.6 6.15 +4936 +00609
238
+ Europe/Madrid en UTC+1 NONE 724 ES ESP Spain 40.4 -3.6833333333333 +4024 -00341
239
+ Europe/Malta en UTC+1 NONE 470 MT MLT Malta 35.9 14.516666666667 +3554 +01431
240
+ Europe/Monaco en UTC+1 NONE 492 MC MCO Monaco 43.7 7.3833333333333 +4342 +00723
241
+ Europe/Oslo en UTC+1 NONE 578 NO NOR Norway 59.916666666667 10.75 +5955 +01045
242
+ Europe/Paris fr UTC+1 NONE 250 FR FRA France 48.866666666667 2.3333333333333 +4852 +00220
243
+ Europe/Prague en UTC+1 NONE 203 CZ CZE Czech Republic 50.083333333333 14.433333333333 +5005 +01426
244
+ Europe/Rome it UTC+1 NONE 380 IT ITA Italy 41.9 12.483333333333 +4154 +01229
245
+ Europe/San_Marino en UTC+1 NONE 674 SM SMR San Marino 43.916666666667 12.466666666667 +4355 +01228
246
+ Europe/Sarajevo en UTC+1 NONE 070 BA BIH Bosnia & Herzegovina 43.866666666667 18.416666666667 +4352 +01825
247
+ Europe/Skopje en UTC+1 NONE 807 MK MKD Macedonia 41.983333333333 21.433333333333 +4159 +02126
248
+ Europe/Stockholm en UTC+1 NONE 752 SE SWE Sweden 59.333333333333 18.05 +5920 +01803
249
+ Europe/Tirane en UTC+1 NONE 008 AL ALB Albania 41.333333333333 19.833333333333 +4120 +01950
250
+ Europe/Vaduz de UTC+1 NONE 438 LI LIE Liechtenstein 47.15 9.5166666666667 +4709 +00931
251
+ Europe/Vatican it UTC+1 NONE 336 VA VAT Vatican City 41.9 12.45 +4154 +01227
252
+ Europe/Vienna de UTC+1 NONE 040 AT AUT Austria 48.216666666667 16.333333333333 +4813 +01620
253
+ Europe/Warsaw en UTC+1 NONE 616 PL POL Poland 52.25 21 +5215 +02100
254
+ Europe/Zagreb en UTC+1 NONE 191 HR HRV Croatia 45.8 15.966666666667 +4548 +01558
255
+ Europe/Zurich de UTC+1 NONE 756 CH CHE Switzerland 47.383333333333 8.5333333333333 +4723 +00832
256
+ Europe/Locarno it UTC+1 NONE 756 CH CHE Switzerland 47.383333333333 8.5333333333333 +4723 +00832
257
+ Europe/Geneva fr UTC+1 NONE 756 CH CHE Switzerland 47.383333333333 8.5333333333333 +4723 +00832
258
+ Africa/Blantyre en UTC+2 NONE 454 MW MWI Malawi -15.783333333333 35 -1547 +03500
259
+ Africa/Bujumbura en UTC+2 NONE 108 BI BDI Burundi -3.3833333333333 29.366666666667 -0323 +02922
260
+ Africa/Cairo en UTC+2 NONE 818 EG EGY Egypt 30.05 31.25 +3003 +03115
261
+ Africa/Gaborone en UTC+2 NONE 072 BW BWA Botswana -25.75 25.916666666667 -2545 +02555
262
+ Africa/Harare en UTC+2 NONE 716 ZW ZWE Zimbabwe -17.833333333333 31.05 -1750 +03103
263
+ Africa/Johannesburg en UTC+2 NONE 710 ZA ZAF South Africa -26.25 28 -2615 +02800
264
+ Africa/Kigali en UTC+2 NONE 646 RW RWA Rwanda -1.95 30.066666666667 -0157 +03004
265
+ Africa/Lubumbashi en UTC+2 NONE 180 CD COD Congo (Dem. Rep.) -11.666666666667 27.466666666667 -1140 +02728
266
+ Africa/Lusaka en UTC+2 NONE 894 ZM ZMB Zambia -15.416666666667 28.283333333333 -1525 +02817
267
+ Africa/Maputo en UTC+2 NONE 508 MZ MOZ Mozambique -25.966666666667 32.583333333333 -2558 +03235
268
+ Africa/Maseru en UTC+2 NONE 426 LS LSO Lesotho -29.466666666667 27.5 -2928 +02730
269
+ Africa/Mbabane en UTC+2 NONE 748 SZ SWZ Swaziland -26.3 31.1 -2618 +03106
270
+ Africa/Tripoli en UTC+2 NONE 434 LY LBY Libya 32.9 13.183333333333 +3254 +01311
271
+ Asia/Amman en UTC+2 NONE 400 JO JOR Jordan 31.95 35.933333333333 +3157 +03556
272
+ Asia/Beirut en UTC+2 NONE 422 LB LBN Lebanon 33.883333333333 35.5 +3353 +03530
273
+ Asia/Damascus en UTC+2 NONE 760 SY SYR Syria 33.5 36.3 +3330 +03618
274
+ Asia/Gaza en UTC+2 NONE 275 PS PSE Palestine 31.5 34.466666666667 +3130 +03428
275
+ Asia/Jerusalem en UTC+2 NONE 376 IL ISR Israel 31.766666666667 35.233333333333 +3146 +03514
276
+ Asia/Nicosia en UTC+2 NONE 196 CY CYP Cyprus 35.166666666667 33.366666666667 +3510 +03322
277
+ Europe/Athens en UTC+2 NONE 300 GR GRC Greece 37.966666666667 23.716666666667 +3758 +02343
278
+ Europe/Bucharest en UTC+2 NONE 642 RO ROU Romania 44.433333333333 26.1 +4426 +02606
279
+ Europe/Chisinau en UTC+2 NONE 498 MD MDA Moldova 47 28.833333333333 +4700 +02850
280
+ Europe/Helsinki en UTC+2 NONE 246 FI FIN Finland 60.166666666667 24.966666666667 +6010 +02458
281
+ Europe/Istanbul en UTC+2 NONE 792 TR TUR Turkey 41.016666666667 28.966666666667 +4101 +02858
282
+ Europe/Kaliningrad en UTC+2 NONE 643 RU RUS Russia 54.716666666667 20.5 +5443 +02030
283
+ Europe/Kiev en UTC+2 NONE 804 UA UKR Ukraine 50.433333333333 30.516666666667 +5026 +03031
284
+ Europe/Minsk en UTC+2 NONE 112 BY BLR Belarus 53.9 27.566666666667 +5354 +02734
285
+ Europe/Riga en UTC+2 NONE 428 LV LVA Latvia 56.95 24.1 +5657 +02406
286
+ Europe/Simferopol en UTC+2 NONE 804 UA UKR Ukraine 44.95 34.1 +4457 +03406
287
+ Europe/Sofia en UTC+2 NONE 100 BG BGR Bulgaria 42.683333333333 23.316666666667 +4241 +02319
288
+ Europe/Tallinn en UTC+2 NONE 233 EE EST Estonia 59.416666666667 24.75 +5925 +02445
289
+ Europe/Uzhgorod en UTC+2 NONE 804 UA UKR Ukraine 48.616666666667 22.3 +4837 +02218
290
+ Europe/Vilnius en UTC+2 NONE 440 LT LTU Lithuania 54.683333333333 25.316666666667 +5441 +02519
291
+ Europe/Zaporozhye en UTC+2 NONE 804 UA UKR Ukraine 47.833333333333 35.166666666667 +4750 +03510
292
+ Africa/Addis_Ababa en UTC+3 NONE 231 ET ETH Ethiopia 9.0333333333333 38.7 +0902 +03842
293
+ Africa/Asmera en UTC+3 NONE 232 ER ERI Eritrea 15.333333333333 38.883333333333 +1520 +03853
294
+ Africa/Dar_es_Salaam en UTC+3 NONE 834 TZ TZA Tanzania -6.8 39.283333333333 -0648 +03917
295
+ Africa/Djibouti en UTC+3 NONE 262 DJ DJI Djibouti 11.6 43.15 +1136 +04309
296
+ Africa/Kampala en UTC+3 NONE 800 UG UGA Uganda 0.31666666666667 32.416666666667 +0019 +03225
297
+ Africa/Khartoum en UTC+3 NONE 736 SD SDN Sudan 15.6 32.533333333333 +1536 +03232
298
+ Africa/Mogadishu en UTC+3 NONE 706 SO SOM Somalia 2.0666666666667 45.366666666667 +0204 +04522
299
+ Africa/Nairobi en UTC+3 NONE 404 KE KEN Kenya -1.2833333333333 36.816666666667 -0117 +03649
300
+ Antarctica/Syowa en UTC+3 NONE 010 AQ ATA Antarctica -69.006111111111 39.59 -690022 +0393524
301
+ Asia/Aden en UTC+3 NONE 887 YE YEM Yemen 12.75 45.2 +1245 +04512
302
+ Asia/Baghdad en UTC+3 NONE 368 IQ IRQ Iraq 33.35 44.416666666667 +3321 +04425
303
+ Asia/Bahrain en UTC+3 NONE 048 BH BHR Bahrain 26.383333333333 50.583333333333 +2623 +05035
304
+ Asia/Kuwait en UTC+3 NONE 414 KW KWT Kuwait 29.333333333333 47.983333333333 +2920 +04759
305
+ Asia/Qatar en UTC+3 NONE 634 QA QAT Qatar 25.283333333333 51.533333333333 +2517 +05132
306
+ Asia/Riyadh en UTC+3 NONE 682 SA SAU Saudi Arabia 24.633333333333 46.716666666667 +2438 +04643
307
+ Asia/Tbilisi en UTC+3 NONE 268 GE GEO Georgia 41.716666666667 44.816666666667 +4143 +04449
308
+ Europe/Moscow en UTC+3 NONE 643 RU RUS Russia 55.75 37.583333333333 +5545 +03735
309
+ Indian/Antananarivo en UTC+3 NONE 450 MG MDG Madagascar -18.916666666667 47.516666666667 -1855 +04731
310
+ Indian/Comoro en UTC+3 NONE 174 KM COM Comoros -11.683333333333 43.266666666667 -1141 +04316
311
+ Indian/Mayotte en UTC+3 NONE 175 YT MYT Mayotte -12.783333333333 45.233333333333 -1247 +04514
312
+ Asia/Tehran en UTC+3:30 NONE 364 IR IRN Iran 35.666666666667 51.433333333333 +3540 +05126
313
+ Asia/Aqtau en UTC+4 NONE 398 KZ KAZ Kazakhstan 44.516666666667 50.266666666667 +4431 +05016
314
+ Asia/Baku en UTC+4 NONE 031 AZ AZE Azerbaijan 40.383333333333 49.85 +4023 +04951
315
+ Asia/Dubai en UTC+4 NONE 784 AE ARE United Arab Emirates 25.3 55.3 +2518 +05518
316
+ Asia/Muscat en UTC+4 NONE 512 OM OMN Oman 23.6 58.583333333333 +2336 +05835
317
+ Asia/Oral en UTC+4 NONE 398 KZ KAZ Kazakhstan 51.216666666667 51.35 +5113 +05121
318
+ Asia/Yerevan en UTC+4 NONE 051 AM ARM Armenia 40.183333333333 44.5 +4011 +04430
319
+ Europe/Samara en UTC+4 NONE 643 RU RUS Russia 53.2 50.15 +5312 +05009
320
+ Indian/Mahe en UTC+4 NONE 690 SC SYC Seychelles -4.6666666666667 55.466666666667 -0440 +05528
321
+ Indian/Mauritius en UTC+4 NONE 480 MU MUS Mauritius -20.166666666667 57.5 -2010 +05730
322
+ Indian/Reunion en UTC+4 NONE 638 RE REU Reunion -20.866666666667 55.466666666667 -2052 +05528
323
+ Asia/Kabul en UTC+4:30 NONE 004 AF AFG Afghanistan 34.516666666667 69.2 +3431 +06912
324
+ Asia/Aqtobe en UTC+5 NONE 398 KZ KAZ Kazakhstan 50.283333333333 57.166666666667 +5017 +05710
325
+ Asia/Ashgabat en UTC+5 NONE 795 TM TKM Turkmenistan 37.95 58.383333333333 +3757 +05823
326
+ Asia/Bishkek en UTC+5 NONE 417 KG KGZ Kyrgyzstan 42.9 74.6 +4254 +07436
327
+ Asia/Dushanbe en UTC+5 NONE 762 TJ TJK Tajikistan 38.583333333333 68.8 +3835 +06848
328
+ Asia/Karachi en UTC+5 NONE 586 PK PAK Pakistan 24.866666666667 67.05 +2452 +06703
329
+ Asia/Samarkand en UTC+5 NONE 860 UZ UZB Uzbekistan 39.666666666667 66.8 +3940 +06648
330
+ Asia/Tashkent en UTC+5 NONE 860 UZ UZB Uzbekistan 41.333333333333 69.3 +4120 +06918
331
+ Asia/Yekaterinburg en UTC+5 NONE 643 RU RUS Russia 56.85 60.6 +5651 +06036
332
+ Indian/Kerguelen en UTC+5 NONE 260 TF ATF French Southern & Antarctic Lands -49.352777777778 70.2175 -492110 +0701303
333
+ Indian/Maldives en UTC+5 NONE 462 MV MDV Maldives 4.1666666666667 73.5 +0410 +07330
334
+ Asia/Calcutta en UTC+5:30 NONE 356 IN IND India 22.533333333333 88.366666666667 +2232 +08822
335
+ Asia/Katmandu en UTC+5:45 NONE 524 NP NPL Nepal 27.716666666667 85.316666666667 +2743 +08519
336
+ Antarctica/Mawson en UTC+6 NONE 010 AQ ATA Antarctica -67.6 62.883333333333 -6736 +06253
337
+ Antarctica/Vostok en UTC+6 NONE 010 AQ ATA Antarctica -78.4 106.9 -7824 +10654
338
+ Asia/Almaty en UTC+6 NONE 398 KZ KAZ Kazakhstan 43.25 76.95 +4315 +07657
339
+ Asia/Colombo en UTC+6 NONE 144 LK LKA Sri Lanka 6.9333333333333 79.85 +0656 +07951
340
+ Asia/Dhaka en UTC+6 NONE 050 BD BGD Bangladesh 23.716666666667 90.416666666667 +2343 +09025
341
+ Asia/Novosibirsk en UTC+6 NONE 643 RU RUS Russia 55.033333333333 82.916666666667 +5502 +08255
342
+ Asia/Omsk en UTC+6 NONE 643 RU RUS Russia 55 73.4 +5500 +07324
343
+ Asia/Qyzylorda en UTC+6 NONE 398 KZ KAZ Kazakhstan 44.8 65.466666666667 +4448 +06528
344
+ Asia/Thimphu en UTC+6 NONE 064 BT BTN Bhutan 27.466666666667 89.65 +2728 +08939
345
+ Indian/Chagos en UTC+6 NONE 086 IO IOT British Indian Ocean Territory -7.3333333333333 72.416666666667 -0720 +07225
346
+ Asia/Rangoon en UTC+6:30 NONE 104 MM MMR Myanmar (Burma) 16.783333333333 96.166666666667 +1647 +09610
347
+ Indian/Cocos en UTC+6:30 NONE 166 CC CCK Cocos (Keeling) Islands -12.166666666667 96.916666666667 -1210 +09655
348
+ Antarctica/Davis en UTC+7 NONE 010 AQ ATA Antarctica -68.583333333333 77.966666666667 -6835 +07758
349
+ Asia/Bangkok en UTC+7 NONE 764 TH THA Thailand 13.75 100.51666666667 +1345 +10031
350
+ Asia/Hovd en UTC+7 NONE 496 MN MNG Mongolia 48.016666666667 91.65 +4801 +09139
351
+ Asia/Jakarta en UTC+7 NONE 360 ID IDN Indonesia -6.1666666666667 106.8 -0610 +10648
352
+ Asia/Krasnoyarsk en UTC+7 NONE 643 RU RUS Russia 56.016666666667 92.833333333333 +5601 +09250
353
+ Asia/Phnom_Penh en UTC+7 NONE 116 KH KHM Cambodia 11.55 104.91666666667 +1133 +10455
354
+ Asia/Pontianak en UTC+7 NONE 360 ID IDN Indonesia -0.033333333333333 109.33333333333 -0002 +10920
355
+ Asia/Saigon en UTC+7 NONE 704 VN VNM Vietnam 10.75 106.66666666667 +1045 +10640
356
+ Asia/Vientiane en UTC+7 NONE 418 LA LAO Laos 17.966666666667 102.6 +1758 +10236
357
+ Indian/Christmas en UTC+7 NONE 162 CX CXR Christmas Island -10.416666666667 105.71666666667 -1025 +10543
358
+ Antarctica/Casey en UTC+8 NONE 010 AQ ATA Antarctica -66.283333333333 110.51666666667 -6617 +11031
359
+ Asia/Brunei en UTC+8 NONE 096 BN BRN Brunei 4.9333333333333 114.91666666667 +0456 +11455
360
+ Asia/Chongqing en UTC+8 NONE 156 CN CHN China 29.566666666667 106.58333333333 +2934 +10635
361
+ Asia/Harbin en UTC+8 NONE 156 CN CHN China 45.75 126.68333333333 +4545 +12641
362
+ Asia/Hong_Kong en UTC+8 NONE 344 HK HKG Hong Kong 22.283333333333 114.15 +2217 +11409
363
+ Asia/Irkutsk en UTC+8 NONE 643 RU RUS Russia 52.266666666667 104.33333333333 +5216 +10420
364
+ Asia/Kashgar en UTC+8 NONE 156 CN CHN China 39.483333333333 75.983333333333 +3929 +07559
365
+ Asia/Kuala_Lumpur en UTC+8 NONE 458 MY MYS Malaysia 3.1666666666667 101.7 +0310 +10142
366
+ Asia/Kuching en UTC+8 NONE 458 MY MYS Malaysia 1.55 110.33333333333 +0133 +11020
367
+ Asia/Macau en UTC+8 NONE 446 MO MAC Macau 22.233333333333 113.58333333333 +2214 +11335
368
+ Asia/Makassar en UTC+8 NONE 360 ID IDN Indonesia -5.1166666666667 119.4 -0507 +11924
369
+ Asia/Manila en UTC+8 NONE 608 PH PHL Philippines 14.583333333333 121 +1435 +12100
370
+ Asia/Shanghai en UTC+8 NONE 156 CN CHN China 31.233333333333 121.46666666667 +3114 +12128
371
+ Asia/Singapore en UTC+8 NONE 702 SG SGP Singapore 1.2833333333333 103.85 +0117 +10351
372
+ Asia/Taipei en UTC+8 NONE 158 TW TWN Taiwan 25.05 121.5 +2503 +12130
373
+ Asia/Ulaanbaatar en UTC+8 NONE 496 MN MNG Mongolia 47.916666666667 106.88333333333 +4755 +10653
374
+ Asia/Urumqi en UTC+8 NONE 156 CN CHN China 43.8 87.583333333333 +4348 +08735
375
+ Australia/Perth en UTC+8 NONE 036 AU AUS Australia -31.95 115.85 -3157 +11551
376
+ Asia/Choibalsan en UTC+9 NONE 496 MN MNG Mongolia 48.066666666667 114.5 +4804 +11430
377
+ Asia/Dili en UTC+9 NONE 626 TL TLS East Timor -8.55 125.58333333333 -0833 +12535
378
+ Asia/Jayapura en UTC+9 NONE 360 ID IDN Indonesia -2.5333333333333 140.7 -0232 +14042
379
+ Asia/Pyongyang en UTC+9 NONE 408 KP PRK Korea (North) 39.016666666667 125.75 +3901 +12545
380
+ Asia/Seoul en UTC+9 NONE 410 KR KOR Korea (South) 37.55 126.96666666667 +3733 +12658
381
+ Asia/Tokyo en UTC+9 NONE 392 JP JPN Japan 35.654444444444 139.74472222222 +353916 +1394441
382
+ Asia/Yakutsk en UTC+9 NONE 643 RU RUS Russia 62 129.66666666667 +6200 +12940
383
+ Pacific/Palau en UTC+9 NONE 585 PW PLW Palau 7.3333333333333 134.48333333333 +0720 +13429
384
+ Australia/Adelaide en UTC+9:30 NONE 036 AU AUS Australia -34.916666666667 138.58333333333 -3455 +13835
385
+ Australia/Broken_Hill en UTC+9:30 NONE 036 AU AUS Australia -31.95 141.45 -3157 +14127
386
+ Australia/Darwin en UTC+9:30 NONE 036 AU AUS Australia -12.466666666667 130.83333333333 -1228 +13050
387
+ Antarctica/DumontDUrville en UTC+10 NONE 010 AQ ATA Antarctica -66.666666666667 140.01666666667 -6640 +14001
388
+ Asia/Sakhalin en UTC+10 NONE 643 RU RUS Russia 46.966666666667 142.7 +4658 +14242
389
+ Asia/Vladivostok en UTC+10 NONE 643 RU RUS Russia 43.166666666667 131.93333333333 +4310 +13156
390
+ Australia/Brisbane en UTC+10 NONE 036 AU AUS Australia -27.466666666667 153.03333333333 -2728 +15302
391
+ Australia/Hobart en UTC+10 NONE 036 AU AUS Australia -42.883333333333 147.31666666667 -4253 +14719
392
+ Australia/Lindeman en UTC+10 NONE 036 AU AUS Australia -20.266666666667 149 -2016 +14900
393
+ Australia/Lord_Howe en UTC+10 NONE 036 AU AUS Australia -31.55 159.08333333333 -3133 +15905
394
+ Australia/Melbourne en UTC+10 NONE 036 AU AUS Australia -37.816666666667 144.96666666667 -3749 +14458
395
+ Australia/Sydney en UTC+10 NONE 036 AU AUS Australia -33.866666666667 151.21666666667 -3352 +15113
396
+ Pacific/Guam en UTC+10 NONE 316 GU GUM Guam 13.466666666667 144.75 +1328 +14445
397
+ Pacific/Port_Moresby en UTC+10 NONE 598 PG PNG Papua New Guinea -9.5 147.16666666667 -0930 +14710
398
+ Pacific/Saipan en UTC+10 NONE 580 MP MNP Northern Mariana Islands 15.2 145.75 +1512 +14545
399
+ Pacific/Truk en UTC+10 NONE 583 FM FSM Micronesia 7.4166666666667 151.78333333333 +0725 +15147
400
+ Pacific/Yap en UTC+10 NONE 583 FM FSM Micronesia 9.5166666666667 138.13333333333 +0931 +13808
401
+ Asia/Magadan en UTC+11 NONE 643 RU RUS Russia 59.566666666667 150.8 +5934 +15048
402
+ Pacific/Efate en UTC+11 NONE 548 VU VUT Vanuatu -17.666666666667 168.41666666667 -1740 +16825
403
+ Pacific/Guadalcanal en UTC+11 NONE 090 SB SLB Solomon Islands -9.5333333333333 160.2 -0932 +16012
404
+ Pacific/Kosrae en UTC+11 NONE 583 FM FSM Micronesia 5.3166666666667 162.98333333333 +0519 +16259
405
+ Pacific/Noumea en UTC+11 NONE 540 NC NCL New Caledonia -22.266666666667 165.5 -2216 +16530
406
+ Pacific/Ponape en UTC+11 NONE 583 FM FSM Micronesia 6.9666666666667 158.21666666667 +0658 +15813
407
+ Pacific/Norfolk en UTC+11:30 NONE 574 NF NFK Norfolk Island -29.05 167.96666666667 -2903 +16758
408
+ Antarctica/McMurdo en UTC+12 NONE 010 AQ ATA Antarctica -77.833333333333 166.6 -7750 +16636
409
+ Antarctica/South_Pole en UTC+12 NONE 010 AQ ATA Antarctica -90 0 -9000 +00000
410
+ Asia/Anadyr en UTC+12 NONE 643 RU RUS Russia 64.75 177.48333333333 +6445 +17729
411
+ Asia/Kamchatka en UTC+12 NONE 643 RU RUS Russia 53.016666666667 158.65 +5301 +15839
412
+ Pacific/Auckland en UTC+12 NONE 554 NZ NZL New Zealand -36.866666666667 174.76666666667 -3652 +17446
413
+ Pacific/Fiji en UTC+12 NONE 242 FJ FJI Fiji -18.133333333333 178.41666666667 -1808 +17825
414
+ Pacific/Funafuti en UTC+12 NONE 798 TV TUV Tuvalu -8.5166666666667 179.21666666667 -0831 +17913
415
+ Pacific/Kwajalein en UTC+12 NONE 584 MH MHL Marshall Islands 9.0833333333333 167.33333333333 +0905 +16720
416
+ Pacific/Majuro en UTC+12 NONE 584 MH MHL Marshall Islands 7.15 171.2 +0709 +17112
417
+ Pacific/Nauru en UTC+12 NONE 520 NR NRU Nauru -0.51666666666667 166.91666666667 -0031 +16655
418
+ Pacific/Tarawa en UTC+12 NONE 296 KI KIR Kiribati 1.4166666666667 173 +0125 +17300
419
+ Pacific/Wake en UTC+12 NONE 581 UM UMI US minor outlying islands 19.283333333333 166.61666666667 +1917 +16637
420
+ Pacific/Wallis en UTC+12 NONE 876 WF WLF Wallis & Futuna -13.3 -176.16666666667 -1318 -17610
421
+ Pacific/Chatham en UTC+12:45 NONE 554 NZ NZL New Zealand -43.95 -176.55 -4357 -17633
422
+ Pacific/Enderbury en UTC+13 NONE 296 KI KIR Kiribati -3.1333333333333 -171.08333333333 -0308 -17105
423
+ Pacific/Tongatapu en UTC+13 NONE 776 TO TON Tonga -21.166666666667 175.16666666667 -2110 +17510
424
+ Pacific/Kiritimati en UTC+14 NONE 296 KI KIR Kiribati 1.8666666666667 -157.33333333333 +0152 -15720