browser-timezone-rails 0.0.8 → 0.0.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ecd7391cbef26fb49eb9b2122d07b4e8cb9e82d9
4
- data.tar.gz: cdf8ef151ab7b26e1499856fb653bb83fe6a8033
3
+ metadata.gz: c30f83e8af79d4726073f25438e2e68afc58d49f
4
+ data.tar.gz: 51349b7a95d4c5ce8e482d257731edb732cedabb
5
5
  SHA512:
6
- metadata.gz: 49fbb5bfd0b9b19cf856910de7408839215918ed0c23e88c04601449a0361ac32cd15a525aa0566d87f1acec47862d08908457734e290dc0335a62193fbc36c6
7
- data.tar.gz: 17267734fb8e0d4217e4eac13b874531ea2d8d70d8836566aeec85150c58748947abb3dd710e43dfbea6138776d8af454da403946bde7420f78cb46f3c1059a3
6
+ metadata.gz: d865c60a5b8a6439daed659641948771510e3863ad9a714e234a33317dd05beeea63b56129ca949b109f4d03b407dd7c14953c0daae6471ddfaef6a7ee873683
7
+ data.tar.gz: f6376738e82c571f3666b3610d2aac081df78150093ae065111985cc907d6342d375c98d69015a30aecec6bef454ff55095438378a2fb5c83c6b639b4379cd6a
data/README.md CHANGED
@@ -13,15 +13,23 @@ Add it to your Gemfile.
13
13
  gem 'browser-timezone-rails'
14
14
  ```
15
15
 
16
- Require the javascript file.
16
+ Make sure you have each of the following entries in your application.js:
17
17
  ```
18
- //= require browser_timezone_rails/application.js
18
+ //= require jquery
19
+ //= require jquery.cookie
20
+ //= require jstz
21
+ //= require browser_timezone_rails/set_time_zone
19
22
  ```
23
+ That's it! No other configuration is needed as it's all done for you with this gem including setting up your application controller to start using your users' zones.
20
24
 
21
25
  ## How it works
22
26
 
23
27
  The browsers timezone is set in a cookie using the awesome [jsTimezoneDetect](https://bitbucket.org/pellepim/jstimezonedetect) javascript library. That cookie is then read during each request to set the Rails timezone for that user.
24
28
 
29
+ You can also read more about this implementation here: [Blog](http://cowjumpedoverthecommodore64.blogspot.in/2013/03/setting-rails-timezone-to-users.html)
30
+
31
+ For those of you who need or want to do this on the backend with just Rails, Ryan Bates has a good RailsCast on how to that: [RailsCast #106](http://railscasts.com/episodes/106-time-zones-revised)
32
+
25
33
  ### About that cookie
26
34
  The cookie is set each full page request and lives for 365 days
27
35
 
@@ -1,3 +1,3 @@
1
1
  module BrowserTimezoneRails
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
metadata CHANGED
@@ -1,97 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: browser-timezone-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - kbaum
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-09 00:00:00.000000000 Z
11
+ date: 2015-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jquery-rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: jquery-cookie-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: jstz-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
39
67
  - !ruby/object:Gem::Version
40
68
  version: '0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rspec-rails
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
- - - '>='
73
+ - - ">="
46
74
  - !ruby/object:Gem::Version
47
75
  version: '0'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
- - - '>='
80
+ - - ">="
53
81
  - !ruby/object:Gem::Version
54
82
  version: '0'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: capybara
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - '>='
87
+ - - ">="
60
88
  - !ruby/object:Gem::Version
61
89
  version: '0'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - '>='
94
+ - - ">="
67
95
  - !ruby/object:Gem::Version
68
96
  version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: launchy
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - '>='
101
+ - - ">="
74
102
  - !ruby/object:Gem::Version
75
103
  version: '0'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - '>='
108
+ - - ">="
81
109
  - !ruby/object:Gem::Version
82
110
  version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: sqlite3
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - '>='
115
+ - - ">="
88
116
  - !ruby/object:Gem::Version
89
117
  version: '0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - '>='
122
+ - - ">="
95
123
  - !ruby/object:Gem::Version
96
124
  version: '0'
97
125
  description: The browser timezone is set on the Time#zone
@@ -104,10 +132,7 @@ files:
104
132
  - MIT-LICENSE
105
133
  - README.md
106
134
  - Rakefile
107
- - app/assets/javascripts/browser_timezone_rails/application.js
108
135
  - app/assets/javascripts/browser_timezone_rails/set_time_zone.js.coffee
109
- - app/assets/javascripts/jquery.cookie.js
110
- - app/assets/javascripts/jstz.js
111
136
  - app/controllers/browser_timezone_rails/application_controller.rb
112
137
  - config/routes.rb
113
138
  - lib/browser-timezone-rails.rb
@@ -122,17 +147,17 @@ require_paths:
122
147
  - lib
123
148
  required_ruby_version: !ruby/object:Gem::Requirement
124
149
  requirements:
125
- - - '>='
150
+ - - ">="
126
151
  - !ruby/object:Gem::Version
127
152
  version: '0'
128
153
  required_rubygems_version: !ruby/object:Gem::Requirement
129
154
  requirements:
130
- - - '>='
155
+ - - ">="
131
156
  - !ruby/object:Gem::Version
132
157
  version: '0'
133
158
  requirements: []
134
159
  rubyforge_project:
135
- rubygems_version: 2.2.2
160
+ rubygems_version: 2.4.3
136
161
  signing_key:
137
162
  specification_version: 4
138
163
  summary: Sets the browser timezone within rails
@@ -1,17 +0,0 @@
1
- // This is a manifest file that'll be compiled into application.js, which will include all the files
2
- // listed below.
3
- //
4
- // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
- // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
- //
7
- // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
- // the compiled file.
9
- //
10
- // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
- // GO AFTER THE REQUIRES BELOW.
12
- //
13
- //= require jquery
14
- //= require jquery_ujs
15
- //= require jquery.cookie
16
- //= require jstz
17
- //= require browser_timezone_rails/set_time_zone
@@ -1,72 +0,0 @@
1
- /*!
2
- * jQuery Cookie Plugin v1.3
3
- * https://github.com/carhartl/jquery-cookie
4
- *
5
- * Copyright 2011, Klaus Hartl
6
- * Dual licensed under the MIT or GPL Version 2 licenses.
7
- * http://www.opensource.org/licenses/mit-license.php
8
- * http://www.opensource.org/licenses/GPL-2.0
9
- */
10
- (function ($, document, undefined) {
11
-
12
- var pluses = /\+/g;
13
-
14
- function raw(s) {
15
- return s;
16
- }
17
-
18
- function decoded(s) {
19
- return decodeURIComponent(s.replace(pluses, ' '));
20
- }
21
-
22
- var config = $.cookie = function (key, value, options) {
23
-
24
- // write
25
- if (value !== undefined) {
26
- options = $.extend({}, config.defaults, options);
27
-
28
- if (value === null) {
29
- options.expires = -1;
30
- }
31
-
32
- if (typeof options.expires === 'number') {
33
- var days = options.expires, t = options.expires = new Date();
34
- t.setDate(t.getDate() + days);
35
- }
36
-
37
- value = config.json ? JSON.stringify(value) : String(value);
38
-
39
- return (document.cookie = [
40
- encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
41
- options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
42
- options.path ? '; path=' + options.path : '',
43
- options.domain ? '; domain=' + options.domain : '',
44
- options.secure ? '; secure' : ''
45
- ].join(''));
46
- }
47
-
48
- // read
49
- var decode = config.raw ? raw : decoded;
50
- var cookies = document.cookie.split('; ');
51
- for (var i = 0, l = cookies.length; i < l; i++) {
52
- var parts = cookies[i].split('=');
53
- if (decode(parts.shift()) === key) {
54
- var cookie = decode(parts.join('='));
55
- return config.json ? JSON.parse(cookie) : cookie;
56
- }
57
- }
58
-
59
- return null;
60
- };
61
-
62
- config.defaults = {};
63
-
64
- $.removeCookie = function (key, options) {
65
- if ($.cookie(key) !== null) {
66
- $.cookie(key, null, options);
67
- return true;
68
- }
69
- return false;
70
- };
71
-
72
- })(jQuery, document);
@@ -1,358 +0,0 @@
1
- /**
2
- * This script gives you the zone info key representing your device's time zone setting.
3
- *
4
- * @name jsTimezoneDetect
5
- * @version 1.0.5
6
- * @author Jon Nylander
7
- * @license MIT License - http://www.opensource.org/licenses/mit-license.php
8
- *
9
- * For usage and examples, visit:
10
- * http://pellepim.bitbucket.org/jstz/
11
- *
12
- * Copyright (c) Jon Nylander
13
- */
14
-
15
- /*jslint undef: true */
16
- /*global console, exports*/
17
-
18
- (function(root) {
19
- /**
20
- * Namespace to hold all the code for timezone detection.
21
- */
22
- var jstz = (function () {
23
- 'use strict';
24
- var HEMISPHERE_SOUTH = 's',
25
-
26
- /**
27
- * Gets the offset in minutes from UTC for a certain date.
28
- * @param {Date} date
29
- * @returns {Number}
30
- */
31
- get_date_offset = function (date) {
32
- var offset = -date.getTimezoneOffset();
33
- return (offset !== null ? offset : 0);
34
- },
35
-
36
- get_date = function (year, month, date) {
37
- var d = new Date();
38
- if (year !== undefined) {
39
- d.setFullYear(year);
40
- }
41
- d.setMonth(month);
42
- d.setDate(date);
43
- return d;
44
- },
45
-
46
- get_january_offset = function (year) {
47
- return get_date_offset(get_date(year, 0 ,2));
48
- },
49
-
50
- get_june_offset = function (year) {
51
- return get_date_offset(get_date(year, 5, 2));
52
- },
53
-
54
- /**
55
- * Private method.
56
- * Checks whether a given date is in daylight saving time.
57
- * If the date supplied is after august, we assume that we're checking
58
- * for southern hemisphere DST.
59
- * @param {Date} date
60
- * @returns {Boolean}
61
- */
62
- date_is_dst = function (date) {
63
- var is_southern = date.getMonth() > 7,
64
- base_offset = is_southern ? get_june_offset(date.getFullYear()) :
65
- get_january_offset(date.getFullYear()),
66
- date_offset = get_date_offset(date),
67
- is_west = base_offset < 0,
68
- dst_offset = base_offset - date_offset;
69
-
70
- if (!is_west && !is_southern) {
71
- return dst_offset < 0;
72
- }
73
-
74
- return dst_offset !== 0;
75
- },
76
-
77
- /**
78
- * This function does some basic calculations to create information about
79
- * the user's timezone. It uses REFERENCE_YEAR as a solid year for which
80
- * the script has been tested rather than depend on the year set by the
81
- * client device.
82
- *
83
- * Returns a key that can be used to do lookups in jstz.olson.timezones.
84
- * eg: "720,1,2".
85
- *
86
- * @returns {String}
87
- */
88
-
89
- lookup_key = function () {
90
- var january_offset = get_january_offset(),
91
- june_offset = get_june_offset(),
92
- diff = january_offset - june_offset;
93
-
94
- if (diff < 0) {
95
- return january_offset + ",1";
96
- } else if (diff > 0) {
97
- return june_offset + ",1," + HEMISPHERE_SOUTH;
98
- }
99
-
100
- return january_offset + ",0";
101
- },
102
-
103
- /**
104
- * Uses get_timezone_info() to formulate a key to use in the olson.timezones dictionary.
105
- *
106
- * Returns a primitive object on the format:
107
- * {'timezone': TimeZone, 'key' : 'the key used to find the TimeZone object'}
108
- *
109
- * @returns Object
110
- */
111
- determine = function () {
112
- var key = lookup_key();
113
- return new jstz.TimeZone(jstz.olson.timezones[key]);
114
- },
115
-
116
- /**
117
- * This object contains information on when daylight savings starts for
118
- * different timezones.
119
- *
120
- * The list is short for a reason. Often we do not have to be very specific
121
- * to single out the correct timezone. But when we do, this list comes in
122
- * handy.
123
- *
124
- * Each value is a date denoting when daylight savings starts for that timezone.
125
- */
126
- dst_start_for = function (tz_name) {
127
-
128
- var ru_pre_dst_change = new Date(2010, 6, 15, 1, 0, 0, 0), // In 2010 Russia had DST, this allows us to detect Russia :)
129
- dst_starts = {
130
- 'America/Denver': new Date(2011, 2, 13, 3, 0, 0, 0),
131
- 'America/Mazatlan': new Date(2011, 3, 3, 3, 0, 0, 0),
132
- 'America/Chicago': new Date(2011, 2, 13, 3, 0, 0, 0),
133
- 'America/Mexico_City': new Date(2011, 3, 3, 3, 0, 0, 0),
134
- 'America/Asuncion': new Date(2012, 9, 7, 3, 0, 0, 0),
135
- 'America/Santiago': new Date(2012, 9, 3, 3, 0, 0, 0),
136
- 'America/Campo_Grande': new Date(2012, 9, 21, 5, 0, 0, 0),
137
- 'America/Montevideo': new Date(2011, 9, 2, 3, 0, 0, 0),
138
- 'America/Sao_Paulo': new Date(2011, 9, 16, 5, 0, 0, 0),
139
- 'America/Los_Angeles': new Date(2011, 2, 13, 8, 0, 0, 0),
140
- 'America/Santa_Isabel': new Date(2011, 3, 5, 8, 0, 0, 0),
141
- 'America/Havana': new Date(2012, 2, 10, 2, 0, 0, 0),
142
- 'America/New_York': new Date(2012, 2, 10, 7, 0, 0, 0),
143
- 'Europe/Helsinki': new Date(2013, 2, 31, 5, 0, 0, 0),
144
- 'Pacific/Auckland': new Date(2011, 8, 26, 7, 0, 0, 0),
145
- 'America/Halifax': new Date(2011, 2, 13, 6, 0, 0, 0),
146
- 'America/Goose_Bay': new Date(2011, 2, 13, 2, 1, 0, 0),
147
- 'America/Miquelon': new Date(2011, 2, 13, 5, 0, 0, 0),
148
- 'America/Godthab': new Date(2011, 2, 27, 1, 0, 0, 0),
149
- 'Europe/Moscow': ru_pre_dst_change,
150
- 'Asia/Amman': new Date(2013, 2, 29, 1, 0, 0, 0),
151
- 'Asia/Beirut': new Date(2013, 2, 31, 2, 0, 0, 0),
152
- 'Asia/Damascus': new Date(2013, 3, 6, 2, 0, 0, 0),
153
- 'Asia/Jerusalem': new Date(2013, 2, 29, 5, 0, 0, 0),
154
- 'Asia/Yekaterinburg': ru_pre_dst_change,
155
- 'Asia/Omsk': ru_pre_dst_change,
156
- 'Asia/Krasnoyarsk': ru_pre_dst_change,
157
- 'Asia/Irkutsk': ru_pre_dst_change,
158
- 'Asia/Yakutsk': ru_pre_dst_change,
159
- 'Asia/Vladivostok': ru_pre_dst_change,
160
- 'Asia/Baku': new Date(2013, 2, 31, 4, 0, 0),
161
- 'Asia/Yerevan': new Date(2013, 2, 31, 3, 0, 0),
162
- 'Asia/Kamchatka': ru_pre_dst_change,
163
- 'Asia/Gaza': new Date(2010, 2, 27, 4, 0, 0),
164
- 'Africa/Cairo': new Date(2010, 4, 1, 3, 0, 0),
165
- 'Europe/Minsk': ru_pre_dst_change,
166
- 'Pacific/Apia': new Date(2010, 10, 1, 1, 0, 0, 0),
167
- 'Pacific/Fiji': new Date(2010, 11, 1, 0, 0, 0),
168
- 'Australia/Perth': new Date(2008, 10, 1, 1, 0, 0, 0)
169
- };
170
-
171
- return dst_starts[tz_name];
172
- };
173
-
174
- return {
175
- determine: determine,
176
- date_is_dst: date_is_dst,
177
- dst_start_for: dst_start_for
178
- };
179
- }());
180
-
181
- /**
182
- * Simple object to perform ambiguity check and to return name of time zone.
183
- */
184
- jstz.TimeZone = function (tz_name) {
185
- 'use strict';
186
- /**
187
- * The keys in this object are timezones that we know may be ambiguous after
188
- * a preliminary scan through the olson_tz object.
189
- *
190
- * The array of timezones to compare must be in the order that daylight savings
191
- * starts for the regions.
192
- */
193
- var AMBIGUITIES = {
194
- 'America/Denver': ['America/Denver', 'America/Mazatlan'],
195
- 'America/Chicago': ['America/Chicago', 'America/Mexico_City'],
196
- 'America/Santiago': ['America/Santiago', 'America/Asuncion', 'America/Campo_Grande'],
197
- 'America/Montevideo': ['America/Montevideo', 'America/Sao_Paulo'],
198
- 'Asia/Beirut': ['Asia/Amman', 'Asia/Jerusalem', 'Asia/Beirut', 'Europe/Helsinki','Asia/Damascus'],
199
- 'Pacific/Auckland': ['Pacific/Auckland', 'Pacific/Fiji'],
200
- 'America/Los_Angeles': ['America/Los_Angeles', 'America/Santa_Isabel'],
201
- 'America/New_York': ['America/Havana', 'America/New_York'],
202
- 'America/Halifax': ['America/Goose_Bay', 'America/Halifax'],
203
- 'America/Godthab': ['America/Miquelon', 'America/Godthab'],
204
- 'Asia/Dubai': ['Europe/Moscow'],
205
- 'Asia/Dhaka': ['Asia/Yekaterinburg'],
206
- 'Asia/Jakarta': ['Asia/Omsk'],
207
- 'Asia/Shanghai': ['Asia/Krasnoyarsk', 'Australia/Perth'],
208
- 'Asia/Tokyo': ['Asia/Irkutsk'],
209
- 'Australia/Brisbane': ['Asia/Yakutsk'],
210
- 'Pacific/Noumea': ['Asia/Vladivostok'],
211
- 'Pacific/Tarawa': ['Asia/Kamchatka', 'Pacific/Fiji'],
212
- 'Pacific/Tongatapu': ['Pacific/Apia'],
213
- 'Asia/Baghdad': ['Europe/Minsk'],
214
- 'Asia/Baku': ['Asia/Yerevan','Asia/Baku'],
215
- 'Africa/Johannesburg': ['Asia/Gaza', 'Africa/Cairo']
216
- },
217
-
218
- timezone_name = tz_name,
219
-
220
- /**
221
- * Checks if a timezone has possible ambiguities. I.e timezones that are similar.
222
- *
223
- * For example, if the preliminary scan determines that we're in America/Denver.
224
- * We double check here that we're really there and not in America/Mazatlan.
225
- *
226
- * This is done by checking known dates for when daylight savings start for different
227
- * timezones during 2010 and 2011.
228
- */
229
- ambiguity_check = function () {
230
- var ambiguity_list = AMBIGUITIES[timezone_name],
231
- length = ambiguity_list.length,
232
- i = 0,
233
- tz = ambiguity_list[0];
234
-
235
- for (; i < length; i += 1) {
236
- tz = ambiguity_list[i];
237
-
238
- if (jstz.date_is_dst(jstz.dst_start_for(tz))) {
239
- timezone_name = tz;
240
- return;
241
- }
242
- }
243
- },
244
-
245
- /**
246
- * Checks if it is possible that the timezone is ambiguous.
247
- */
248
- is_ambiguous = function () {
249
- return typeof (AMBIGUITIES[timezone_name]) !== 'undefined';
250
- };
251
-
252
- if (is_ambiguous()) {
253
- ambiguity_check();
254
- }
255
-
256
- return {
257
- name: function () {
258
- return timezone_name;
259
- }
260
- };
261
- };
262
-
263
- jstz.olson = {};
264
-
265
- /*
266
- * The keys in this dictionary are comma separated as such:
267
- *
268
- * First the offset compared to UTC time in minutes.
269
- *
270
- * Then a flag which is 0 if the timezone does not take daylight savings into account and 1 if it
271
- * does.
272
- *
273
- * Thirdly an optional 's' signifies that the timezone is in the southern hemisphere,
274
- * only interesting for timezones with DST.
275
- *
276
- * The mapped arrays is used for constructing the jstz.TimeZone object from within
277
- * jstz.determine_timezone();
278
- */
279
- jstz.olson.timezones = {
280
- '-720,0' : 'Pacific/Majuro',
281
- '-660,0' : 'Pacific/Pago_Pago',
282
- '-600,1' : 'America/Adak',
283
- '-600,0' : 'Pacific/Honolulu',
284
- '-570,0' : 'Pacific/Marquesas',
285
- '-540,0' : 'Pacific/Gambier',
286
- '-540,1' : 'America/Anchorage',
287
- '-480,1' : 'America/Los_Angeles',
288
- '-480,0' : 'Pacific/Pitcairn',
289
- '-420,0' : 'America/Phoenix',
290
- '-420,1' : 'America/Denver',
291
- '-360,0' : 'America/Guatemala',
292
- '-360,1' : 'America/Chicago',
293
- '-360,1,s' : 'Pacific/Easter',
294
- '-300,0' : 'America/Bogota',
295
- '-300,1' : 'America/New_York',
296
- '-270,0' : 'America/Caracas',
297
- '-240,1' : 'America/Halifax',
298
- '-240,0' : 'America/Santo_Domingo',
299
- '-240,1,s' : 'America/Santiago',
300
- '-210,1' : 'America/St_Johns',
301
- '-180,1' : 'America/Godthab',
302
- '-180,0' : 'America/Argentina/Buenos_Aires',
303
- '-180,1,s' : 'America/Montevideo',
304
- '-120,0' : 'America/Noronha',
305
- '-120,1' : 'America/Noronha',
306
- '-60,1' : 'Atlantic/Azores',
307
- '-60,0' : 'Atlantic/Cape_Verde',
308
- '0,0' : 'UTC',
309
- '0,1' : 'Europe/London',
310
- '60,1' : 'Europe/Berlin',
311
- '60,0' : 'Africa/Lagos',
312
- '60,1,s' : 'Africa/Windhoek',
313
- '120,1' : 'Asia/Beirut',
314
- '120,0' : 'Africa/Johannesburg',
315
- '180,0' : 'Asia/Baghdad',
316
- '180,1' : 'Europe/Moscow',
317
- '210,1' : 'Asia/Tehran',
318
- '240,0' : 'Asia/Dubai',
319
- '240,1' : 'Asia/Baku',
320
- '270,0' : 'Asia/Kabul',
321
- '300,1' : 'Asia/Yekaterinburg',
322
- '300,0' : 'Asia/Karachi',
323
- '330,0' : 'Asia/Kolkata',
324
- '345,0' : 'Asia/Kathmandu',
325
- '360,0' : 'Asia/Dhaka',
326
- '360,1' : 'Asia/Omsk',
327
- '390,0' : 'Asia/Rangoon',
328
- '420,1' : 'Asia/Krasnoyarsk',
329
- '420,0' : 'Asia/Jakarta',
330
- '480,0' : 'Asia/Shanghai',
331
- '480,1' : 'Asia/Irkutsk',
332
- '525,0' : 'Australia/Eucla',
333
- '525,1,s' : 'Australia/Eucla',
334
- '540,1' : 'Asia/Yakutsk',
335
- '540,0' : 'Asia/Tokyo',
336
- '570,0' : 'Australia/Darwin',
337
- '570,1,s' : 'Australia/Adelaide',
338
- '600,0' : 'Australia/Brisbane',
339
- '600,1' : 'Asia/Vladivostok',
340
- '600,1,s' : 'Australia/Sydney',
341
- '630,1,s' : 'Australia/Lord_Howe',
342
- '660,1' : 'Asia/Kamchatka',
343
- '660,0' : 'Pacific/Noumea',
344
- '690,0' : 'Pacific/Norfolk',
345
- '720,1,s' : 'Pacific/Auckland',
346
- '720,0' : 'Pacific/Tarawa',
347
- '765,1,s' : 'Pacific/Chatham',
348
- '780,0' : 'Pacific/Tongatapu',
349
- '780,1,s' : 'Pacific/Apia',
350
- '840,0' : 'Pacific/Kiritimati'
351
- };
352
-
353
- if (typeof exports !== 'undefined') {
354
- exports.jstz = jstz;
355
- } else {
356
- root.jstz = jstz;
357
- }
358
- })(this);