Mercurial > hg > STI-GWT
comparison war/scripts/sti/ExtendedSimileTimeDate.js @ 3:cf06b77a8bbd
Committed branch of the e4D repos sti-gwt branch 16384.
git-svn-id: http://dev.dariah.eu/svn/repos/eu.dariah.de/ap1/sti-gwt-dariah-geobrowser@36 f2b5be40-def6-11e0-8a09-b3c1cc336c6b
author | StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b> |
---|---|
date | Tue, 17 Jul 2012 13:34:40 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
2:2897af43ccc6 | 3:cf06b77a8bbd |
---|---|
1 SimileAjax.DateTime.MILLISECOND = 0; | |
2 SimileAjax.DateTime.SECOND = 1; | |
3 SimileAjax.DateTime.FIVESECONDS = 2; | |
4 SimileAjax.DateTime.TENSECONDS = 3; | |
5 SimileAjax.DateTime.HALFMINUTE = 4; | |
6 SimileAjax.DateTime.MINUTE = 5; | |
7 SimileAjax.DateTime.FIVEMINUTES = 6; | |
8 SimileAjax.DateTime.TENMINUTES = 7; | |
9 SimileAjax.DateTime.HALFHOUR = 8; | |
10 SimileAjax.DateTime.HOUR = 9; | |
11 SimileAjax.DateTime.TWOHOURS = 10; | |
12 SimileAjax.DateTime.FOURHOURS = 11; | |
13 SimileAjax.DateTime.EIGHTHOURS = 12; | |
14 SimileAjax.DateTime.DAY = 13; | |
15 SimileAjax.DateTime.TWODAYS = 14; | |
16 SimileAjax.DateTime.FOURDAYS = 15; | |
17 SimileAjax.DateTime.WEEK = 16; | |
18 SimileAjax.DateTime.TWOWEEKS = 17; | |
19 SimileAjax.DateTime.MONTH = 18; | |
20 SimileAjax.DateTime.QUARTER = 19; | |
21 SimileAjax.DateTime.SEMESTER = 20; | |
22 SimileAjax.DateTime.YEAR = 21; | |
23 SimileAjax.DateTime.TWOYEARS = 22; | |
24 SimileAjax.DateTime.LUSTRUM = 23; | |
25 SimileAjax.DateTime.DECADE = 24; | |
26 SimileAjax.DateTime.TWODECADES = 25; | |
27 SimileAjax.DateTime.HALFCENTURY = 26; | |
28 SimileAjax.DateTime.CENTURY = 27; | |
29 SimileAjax.DateTime.TWOCENTURIES = 28; | |
30 SimileAjax.DateTime.HALFMILLENNIUM = 29; | |
31 SimileAjax.DateTime.MILLENNIUM = 30; | |
32 SimileAjax.DateTime.TWOMILLENNIUMS = 31; | |
33 SimileAjax.DateTime.FIVEMILLENNIUMS = 32; | |
34 SimileAjax.DateTime.DECAMILLENNIUM = 33; | |
35 SimileAjax.DateTime.TWODECAMILLENNIUMS = 34; | |
36 SimileAjax.DateTime.FIVEDECAMILLENNIUMS = 35; | |
37 SimileAjax.DateTime.HECTOMILLENNIUM = 36; | |
38 SimileAjax.DateTime.TWOHECTOMILLENNIUMS = 37; | |
39 SimileAjax.DateTime.FIVEHECTOMILLENNIUMS = 38; | |
40 SimileAjax.DateTime.MEGENNIUM = 39; | |
41 SimileAjax.DateTime.TWOMEGENNIUMS = 40; | |
42 SimileAjax.DateTime.FIVEMEGENNIUMS = 41; | |
43 SimileAjax.DateTime.DECAMEGENNIUM = 42; | |
44 SimileAjax.DateTime.TWODECAMEGENNIUMS = 43; | |
45 SimileAjax.DateTime.FIVEDECAMEGENNIUMS = 44; | |
46 SimileAjax.DateTime.HECTOMEGENNIUM = 45; | |
47 SimileAjax.DateTime.TWOHECTOMEGENNIUMS = 46; | |
48 SimileAjax.DateTime.FIVEHECTOMEGENNIUMS = 47; | |
49 SimileAjax.DateTime.GIGENNIUM = 48; | |
50 | |
51 SimileAjax.DateTime.gregorianUnitLengths = []; | |
52 (function(){ | |
53 var d = SimileAjax.DateTime; | |
54 var a = d.gregorianUnitLengths; | |
55 | |
56 a[d.MILLISECOND] = 1; | |
57 a[d.SECOND] = 1000; | |
58 a[d.FIVESECONDS] = a[d.SECOND] * 5; | |
59 a[d.TENSECONDS] = a[d.SECOND] * 10; | |
60 a[d.HALFMINUTE] = a[d.SECOND] * 30; | |
61 a[d.MINUTE] = a[d.SECOND] * 60; | |
62 a[d.FIVEMINUTES] = a[d.MINUTE] * 5; | |
63 a[d.TENMINUTES] = a[d.MINUTE] * 10; | |
64 a[d.HALFHOUR] = a[d.MINUTE] * 30; | |
65 a[d.HOUR] = a[d.MINUTE] * 60; | |
66 a[d.TWOHOURS] = a[d.HOUR] * 2; | |
67 a[d.FOURHOURS] = a[d.HOUR] * 4; | |
68 a[d.EIGHTHOURS] = a[d.HOUR] * 8; | |
69 a[d.DAY] = a[d.HOUR] * 24; | |
70 a[d.TWODAYS] = a[d.DAY] * 2; | |
71 a[d.FOURDAYS] = a[d.DAY] * 4; | |
72 a[d.WEEK] = a[d.DAY] * 7; | |
73 a[d.TWOWEEKS] = a[d.DAY] * 14; | |
74 a[d.MONTH] = a[d.DAY] * 31; | |
75 a[d.QUARTER] = a[d.DAY] * 91; | |
76 a[d.SEMESTER] = a[d.DAY] * 182; | |
77 a[d.YEAR] = a[d.DAY] * 365; | |
78 a[d.TWOYEARS] = a[d.YEAR] * 2; | |
79 a[d.LUSTRUM] = a[d.YEAR] * 5; | |
80 a[d.DECADE] = a[d.YEAR] * 10; | |
81 a[d.TWODECADES] = a[d.YEAR] * 20; | |
82 a[d.HALFCENTURY] = a[d.YEAR] * 50; | |
83 a[d.CENTURY] = a[d.YEAR] * 100; | |
84 a[d.TWOCENTURIES] = a[d.YEAR] * 200; | |
85 a[d.HALFMILLENNIUM] = a[d.YEAR] * 500; | |
86 a[d.MILLENNIUM] = a[d.YEAR] * 1000; | |
87 a[d.TWOMILLENNIUMS] = a[d.YEAR] * 2000; | |
88 a[d.FIVEMILLENNIUMS] = a[d.YEAR] * 5000; | |
89 a[d.DECAMILLENNIUM] = a[d.YEAR] * 10000; | |
90 a[d.TWODECAMILLENNIUMS] = a[d.YEAR] * 20000; | |
91 a[d.FIVEDECAMILLENNIUMS] = a[d.YEAR] * 50000; | |
92 a[d.HECTOMILLENNIUM] = a[d.YEAR] * 100000; | |
93 a[d.TWOHECTOMILLENNIUMS] = a[d.YEAR] * 200000; | |
94 a[d.FIVEHECTOMILLENNIUMS] = a[d.YEAR] * 500000; | |
95 a[d.MEGENNIUM] = a[d.YEAR] * 1000000; | |
96 a[d.TWOMEGENNIUMS] = a[d.YEAR] * 2000000; | |
97 a[d.FIVEMEGENNIUMS] = a[d.YEAR] * 5000000; | |
98 a[d.DECAMEGENNIUM] = a[d.YEAR] * 10000000; | |
99 a[d.TWODECAMEGENNIUMS] = a[d.YEAR] * 20000000; | |
100 a[d.FIVEDECAMEGENNIUMS] = a[d.YEAR] * 50000000; | |
101 a[d.HECTOMEGENNIUM] = a[d.YEAR] * 100000000; | |
102 a[d.TWOHECTOMEGENNIUM] = a[d.YEAR] * 200000000; | |
103 a[d.FIVEHECTOMEGENNIUM] = a[d.YEAR] * 500000000; | |
104 a[d.GIGENNIUM] = a[d.YEAR] * 1000000000; | |
105 })(); | |
106 | |
107 SimileAjax.DateTime.roundDownToInterval = function(date, intervalUnit, timeZone, multiple, firstDayOfWeek){ | |
108 timeZone = (typeof timeZone == 'undefined') ? 0 : timeZone; | |
109 var timeShift = timeZone * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; | |
110 | |
111 var date2 = new Date(date.getTime() + timeShift); | |
112 var clearInDay = function(d){ | |
113 d.setUTCMilliseconds(0); | |
114 d.setUTCSeconds(0); | |
115 d.setUTCMinutes(0); | |
116 d.setUTCHours(0); | |
117 }; | |
118 var clearInYear = function(d){ | |
119 clearInDay(d); | |
120 d.setUTCDate(1); | |
121 d.setUTCMonth(0); | |
122 }; | |
123 | |
124 switch (intervalUnit) { | |
125 case SimileAjax.DateTime.MILLISECOND: | |
126 var x = date2.getUTCMilliseconds(); | |
127 date2.setUTCMilliseconds(x - (x % multiple)); | |
128 break; | |
129 case SimileAjax.DateTime.SECOND: | |
130 date2.setUTCMilliseconds(0); | |
131 var x = date2.getUTCSeconds(); | |
132 date2.setUTCSeconds(x - (x % multiple)); | |
133 break; | |
134 case SimileAjax.DateTime.FIVESECONDS: | |
135 date2.setUTCMilliseconds(0); | |
136 var x = date2.getUTCSeconds(); | |
137 date2.setUTCSeconds(x - (x % 5)); | |
138 break; | |
139 case SimileAjax.DateTime.TENSECONDS: | |
140 date2.setUTCMilliseconds(0); | |
141 var x = date2.getUTCSeconds(); | |
142 date2.setUTCSeconds(x - (x % 10)); | |
143 break; | |
144 case SimileAjax.DateTime.HALFMINUTE: | |
145 date2.setUTCMilliseconds(0); | |
146 var x = date2.getUTCSeconds(); | |
147 date2.setUTCSeconds(x - (x % 30)); | |
148 break; | |
149 case SimileAjax.DateTime.MINUTE: | |
150 date2.setUTCMilliseconds(0); | |
151 date2.setUTCSeconds(0); | |
152 var x = date2.getUTCMinutes(); | |
153 date2.setTime(date2.getTime() - (x % multiple) * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); | |
154 break; | |
155 case SimileAjax.DateTime.FIVEMINUTES: | |
156 date2.setUTCMilliseconds(0); | |
157 date2.setUTCSeconds(0); | |
158 var x = date2.getUTCMinutes(); | |
159 date2.setUTCMinutes(x - x % 5); | |
160 break; | |
161 case SimileAjax.DateTime.TENMINUTES: | |
162 date2.setUTCMilliseconds(0); | |
163 date2.setUTCSeconds(0); | |
164 var x = date2.getUTCMinutes(); | |
165 date2.setUTCMinutes(x - x % 10); | |
166 break; | |
167 case SimileAjax.DateTime.HALFHOUR: | |
168 date2.setUTCMilliseconds(0); | |
169 date2.setUTCSeconds(0); | |
170 var x = date2.getUTCMinutes(); | |
171 date2.setUTCMinutes(x - x % 30); | |
172 break; | |
173 case SimileAjax.DateTime.HOUR: | |
174 date2.setUTCMilliseconds(0); | |
175 date2.setUTCSeconds(0); | |
176 date2.setUTCMinutes(0); | |
177 var x = date2.getUTCHours(); | |
178 date2.setUTCHours(x - (x % multiple)); | |
179 break; | |
180 case SimileAjax.DateTime.TWOHOURS: | |
181 date2.setUTCMilliseconds(0); | |
182 date2.setUTCSeconds(0); | |
183 date2.setUTCMinutes(0); | |
184 var x = date2.getUTCHours(); | |
185 date2.setUTCHours(x - (x % 2)); | |
186 break; | |
187 case SimileAjax.DateTime.FOURHOURS: | |
188 date2.setUTCMilliseconds(0); | |
189 date2.setUTCSeconds(0); | |
190 date2.setUTCMinutes(0); | |
191 var x = date2.getUTCHours(); | |
192 date2.setUTCHours(x - (x % 4)); | |
193 break; | |
194 case SimileAjax.DateTime.EIGHTHOURS: | |
195 date2.setUTCMilliseconds(0); | |
196 date2.setUTCSeconds(0); | |
197 date2.setUTCMinutes(0); | |
198 var x = date2.getUTCHours(); | |
199 date2.setUTCHours(x - (x % 8)); | |
200 break; | |
201 case SimileAjax.DateTime.DAY: | |
202 clearInDay(date2); | |
203 break; | |
204 case SimileAjax.DateTime.TWODAYS: | |
205 case SimileAjax.DateTime.FOURDAYS: | |
206 case SimileAjax.DateTime.WEEK: | |
207 case SimileAjax.DateTime.TWOWEEKS: | |
208 clearInDay(date2); | |
209 break; | |
210 case SimileAjax.DateTime.MONTH: | |
211 clearInDay(date2); | |
212 date2.setUTCDate(1); | |
213 var x = date2.getUTCMonth(); | |
214 date2.setUTCMonth(x - (x % multiple)); | |
215 break; | |
216 case SimileAjax.DateTime.QUARTER: | |
217 clearInDay(date2); | |
218 date2.setUTCDate(1); | |
219 var x = date2.getUTCMonth(); | |
220 date2.setUTCMonth(x - (x % 3)); | |
221 break; | |
222 case SimileAjax.DateTime.SEMESTER: | |
223 clearInDay(date2); | |
224 date2.setUTCDate(1); | |
225 var x = date2.getUTCMonth(); | |
226 date2.setUTCMonth(x - (x % 6)); | |
227 break; | |
228 case SimileAjax.DateTime.YEAR: | |
229 clearInYear(date2); | |
230 var x = date2.getUTCFullYear(); | |
231 date2.setUTCFullYear(x - (x % multiple)); | |
232 break; | |
233 case SimileAjax.DateTime.TWOYEARS: | |
234 clearInYear(date2); | |
235 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 2) * 2); | |
236 break; | |
237 case SimileAjax.DateTime.LUSTRUM: | |
238 clearInYear(date2); | |
239 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 5) * 5); | |
240 break; | |
241 case SimileAjax.DateTime.DECADE: | |
242 clearInYear(date2); | |
243 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 10) * 10); | |
244 break; | |
245 case SimileAjax.DateTime.TWODECADES: | |
246 clearInYear(date2); | |
247 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 20) * 20); | |
248 break; | |
249 case SimileAjax.DateTime.HALFCENTURY: | |
250 clearInYear(date2); | |
251 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 50) * 50); | |
252 break; | |
253 case SimileAjax.DateTime.CENTURY: | |
254 clearInYear(date2); | |
255 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 100) * 100); | |
256 break; | |
257 case SimileAjax.DateTime.TWOCENTURIES: | |
258 clearInYear(date2); | |
259 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 200) * 200); | |
260 break; | |
261 case SimileAjax.DateTime.HALFMILLENNIUM: | |
262 clearInYear(date2); | |
263 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 500) * 500); | |
264 break; | |
265 case SimileAjax.DateTime.MILLENNIUM: | |
266 clearInYear(date2); | |
267 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 1000) * 1000); | |
268 break; | |
269 case SimileAjax.DateTime.TWOMILLENNIUMS: | |
270 clearInYear(date2); | |
271 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 2000) * 2000); | |
272 break; | |
273 case SimileAjax.DateTime.FIVEMILLENNIUMS: | |
274 clearInYear(date2); | |
275 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 5000) * 5000); | |
276 break; | |
277 case SimileAjax.DateTime.DECAMILLENNIUM: | |
278 clearInYear(date2); | |
279 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 10000) * 10000); | |
280 break; | |
281 case SimileAjax.DateTime.TWODECAMILLENNIUMS: | |
282 clearInYear(date2); | |
283 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 20000) * 20000); | |
284 break; | |
285 case SimileAjax.DateTime.FIVEDECAMILLENNIUMS: | |
286 clearInYear(date2); | |
287 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 50000) * 50000); | |
288 break; | |
289 case SimileAjax.DateTime.HECTOMILLENNIUM: | |
290 clearInYear(date2); | |
291 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 100000) * 100000); | |
292 break; | |
293 case SimileAjax.DateTime.TWOHECTOMILLENNIUMS: | |
294 clearInYear(date2); | |
295 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 200000) * 200000); | |
296 break; | |
297 case SimileAjax.DateTime.FIVEHECTOMILLENNIUMS: | |
298 clearInYear(date2); | |
299 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 500000) * 500000); | |
300 break; | |
301 case SimileAjax.DateTime.MEGENNIUM: | |
302 clearInYear(date2); | |
303 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 1000000) * 1000000); | |
304 break; | |
305 case SimileAjax.DateTime.TWOMEGENNIUMS: | |
306 clearInYear(date2); | |
307 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 2000000) * 2000000); | |
308 break; | |
309 case SimileAjax.DateTime.FIVEMEGENNIUMS: | |
310 clearInYear(date2); | |
311 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 5000000) * 5000000); | |
312 break; | |
313 case SimileAjax.DateTime.DECAMEGENNIUM: | |
314 clearInYear(date2); | |
315 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 10000000) * 10000000); | |
316 break; | |
317 case SimileAjax.DateTime.HECTOMEGENNIUM: | |
318 clearInYear(date2); | |
319 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 100000000) * 100000000); | |
320 break; | |
321 case SimileAjax.DateTime.TWOHECTOMEGENNIUMS: | |
322 clearInYear(date2); | |
323 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 200000000) * 200000000); | |
324 break; | |
325 case SimileAjax.DateTime.FIVEHECTOMEGENNIUMS: | |
326 clearInYear(date2); | |
327 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 500000000) * 500000000); | |
328 break; | |
329 case SimileAjax.DateTime.GIGENNIUM: | |
330 clearInYear(date2); | |
331 date2.setUTCFullYear(Math.floor(date2.getUTCFullYear() / 1000000000) * 1000000000); | |
332 break; | |
333 } | |
334 | |
335 date.setTime(date2.getTime() - timeShift); | |
336 }; | |
337 | |
338 SimileAjax.DateTime.incrementByInterval = function(date, intervalUnit, timeZone){ | |
339 timeZone = (typeof timeZone == 'undefined') ? 0 : timeZone; | |
340 | |
341 var timeShift = timeZone * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]; | |
342 | |
343 var date2 = new Date(date.getTime() + timeShift); | |
344 | |
345 switch (intervalUnit) { | |
346 case SimileAjax.DateTime.MILLISECOND: | |
347 date2.setTime(date2.getTime() + 1) | |
348 break; | |
349 case SimileAjax.DateTime.SECOND: | |
350 date2.setTime(date2.getTime() + 1000); | |
351 break; | |
352 case SimileAjax.DateTime.FIVESECONDS: | |
353 date2.setTime(date2.getTime() + 5000); | |
354 break; | |
355 case SimileAjax.DateTime.TENSECONDS: | |
356 date2.setTime(date2.getTime() + 10000); | |
357 break; | |
358 case SimileAjax.DateTime.HALFMINUTE: | |
359 date2.setTime(date2.getTime() + 30000); | |
360 break; | |
361 case SimileAjax.DateTime.MINUTE: | |
362 date2.setTime(date2.getTime() + SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); | |
363 break; | |
364 case SimileAjax.DateTime.FIVEMINUTES: | |
365 date2.setTime(date2.getTime() + 5 * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); | |
366 break; | |
367 case SimileAjax.DateTime.TENMINUTES: | |
368 date2.setTime(date2.getTime() + 10 * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); | |
369 break; | |
370 case SimileAjax.DateTime.HALFHOUR: | |
371 date2.setTime(date2.getTime() + 30 * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.MINUTE]); | |
372 break; | |
373 case SimileAjax.DateTime.HOUR: | |
374 date2.setTime(date2.getTime() + SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); | |
375 break; | |
376 case SimileAjax.DateTime.TWOHOURS: | |
377 date2.setTime(date2.getTime() + 2 * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); | |
378 break; | |
379 case SimileAjax.DateTime.FOURHOURS: | |
380 date2.setTime(date2.getTime() + 4 * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); | |
381 break; | |
382 case SimileAjax.DateTime.EIGHTHOURS: | |
383 date2.setTime(date2.getTime() + 8 * SimileAjax.DateTime.gregorianUnitLengths[SimileAjax.DateTime.HOUR]); | |
384 break; | |
385 case SimileAjax.DateTime.DAY: | |
386 date2.setUTCDate(date2.getUTCDate() + 1); | |
387 break; | |
388 case SimileAjax.DateTime.TWODAYS: | |
389 date2.setUTCDate(date2.getUTCDate() + 2); | |
390 break; | |
391 case SimileAjax.DateTime.FOURDAYS: | |
392 date2.setUTCDate(date2.getUTCDate() + 4); | |
393 break; | |
394 case SimileAjax.DateTime.WEEK: | |
395 date2.setUTCDate(date2.getUTCDate() + 7); | |
396 break; | |
397 case SimileAjax.DateTime.TWOWEEKS: | |
398 date2.setUTCDate(date2.getUTCDate() + 14); | |
399 break; | |
400 case SimileAjax.DateTime.MONTH: | |
401 date2.setUTCMonth(date2.getUTCMonth() + 1); | |
402 break; | |
403 case SimileAjax.DateTime.QUARTER: | |
404 date2.setUTCMonth(date2.getUTCMonth() + 3); | |
405 break; | |
406 case SimileAjax.DateTime.SEMESTER: | |
407 date2.setUTCMonth(date2.getUTCMonth() + 6); | |
408 break; | |
409 case SimileAjax.DateTime.YEAR: | |
410 date2.setUTCFullYear(date2.getUTCFullYear() + 1); | |
411 break; | |
412 case SimileAjax.DateTime.TWOYEARS: | |
413 date2.setUTCFullYear(date2.getUTCFullYear() + 2); | |
414 break; | |
415 case SimileAjax.DateTime.LUSTRUM: | |
416 date2.setUTCFullYear(date2.getUTCFullYear() + 5); | |
417 break; | |
418 case SimileAjax.DateTime.DECADE: | |
419 date2.setUTCFullYear(date2.getUTCFullYear() + 10); | |
420 break; | |
421 case SimileAjax.DateTime.TWODECADES: | |
422 date2.setUTCFullYear(date2.getUTCFullYear() + 20); | |
423 break; | |
424 case SimileAjax.DateTime.HALFCENTURY: | |
425 date2.setUTCFullYear(date2.getUTCFullYear() + 50); | |
426 break; | |
427 case SimileAjax.DateTime.CENTURY: | |
428 date2.setUTCFullYear(date2.getUTCFullYear() + 100); | |
429 break; | |
430 case SimileAjax.DateTime.TWOCENTURIES: | |
431 date2.setUTCFullYear(date2.getUTCFullYear() + 200); | |
432 break; | |
433 case SimileAjax.DateTime.HALFMILLENNIUM: | |
434 date2.setUTCFullYear(date2.getUTCFullYear() + 500); | |
435 break; | |
436 case SimileAjax.DateTime.MILLENNIUM: | |
437 date2.setUTCFullYear(date2.getUTCFullYear() + 1000); | |
438 break; | |
439 case SimileAjax.DateTime.TWOMILLENNIUMS: | |
440 date2.setUTCFullYear(date2.getUTCFullYear() + 2000); | |
441 break; | |
442 case SimileAjax.DateTime.FIVEMILLENNIUMS: | |
443 date2.setUTCFullYear(date2.getUTCFullYear() + 5000); | |
444 break; | |
445 case SimileAjax.DateTime.DECAMILLENNIUM: | |
446 date2.setUTCFullYear(date2.getUTCFullYear() + 10000); | |
447 break; | |
448 case SimileAjax.DateTime.TWODECAMILLENNIUMS: | |
449 date2.setUTCFullYear(date2.getUTCFullYear() + 20000); | |
450 break; | |
451 case SimileAjax.DateTime.FIVEDECAMILLENNIUMS: | |
452 date2.setUTCFullYear(date2.getUTCFullYear() + 50000); | |
453 break; | |
454 case SimileAjax.DateTime.HECTOMILLENNIUM: | |
455 date2.setUTCFullYear(date2.getUTCFullYear() + 100000); | |
456 break; | |
457 case SimileAjax.DateTime.TWOHECTOMILLENNIUMS: | |
458 date2.setUTCFullYear(date2.getUTCFullYear() + 200000); | |
459 break; | |
460 case SimileAjax.DateTime.FIVEHECTOMILLENNIUMS: | |
461 date2.setUTCFullYear(date2.getUTCFullYear() + 500000); | |
462 break; | |
463 case SimileAjax.DateTime.MEGENNIUM: | |
464 date2.setUTCFullYear(date2.getUTCFullYear() + 1000000); | |
465 break; | |
466 case SimileAjax.DateTime.TWOMEGENNIUMS: | |
467 date2.setUTCFullYear(date2.getUTCFullYear() + 2000000); | |
468 break; | |
469 case SimileAjax.DateTime.FIVEMEGENNIUMS: | |
470 date2.setUTCFullYear(date2.getUTCFullYear() + 5000000); | |
471 break; | |
472 case SimileAjax.DateTime.DECAMEGENNIUM: | |
473 date2.setUTCFullYear(date2.getUTCFullYear() + 10000000); | |
474 break; | |
475 case SimileAjax.DateTime.TWODECAMEGENNIUMS: | |
476 date2.setUTCFullYear(date2.getUTCFullYear() + 20000000); | |
477 break; | |
478 case SimileAjax.DateTime.FIVEDECAMEGENNIUMS: | |
479 date2.setUTCFullYear(date2.getUTCFullYear() + 50000000); | |
480 break; | |
481 case SimileAjax.DateTime.HECTOMEGENNIUM: | |
482 date2.setUTCFullYear(date2.getUTCFullYear() + 100000000); | |
483 break; | |
484 case SimileAjax.DateTime.TWOHECTOMEGENNIUMS: | |
485 date2.setUTCFullYear(date2.getUTCFullYear() + 200000000); | |
486 break; | |
487 case SimileAjax.DateTime.FIVEHECTOMEGENNIUMS: | |
488 date2.setUTCFullYear(date2.getUTCFullYear() + 500000000); | |
489 break; | |
490 case SimileAjax.DateTime.GIGENNIUM: | |
491 date2.setUTCFullYear(date2.getUTCFullYear() + 1000000000); | |
492 break; | |
493 } | |
494 date.setTime(date2.getTime() - timeShift); | |
495 }; | |
496 | |
497 SimileAjax.DateTime.getTimeLabel = function( unit, t ){ | |
498 var time = SimileAjax.DateTime; | |
499 var second = t.getUTCSeconds(); | |
500 var minute = t.getUTCMinutes(); | |
501 var hour = t.getUTCHours(); | |
502 var day = t.getUTCDate(); | |
503 var month = t.getUTCMonth()+1; | |
504 var year = t.getUTCFullYear(); | |
505 switch(unit){ | |
506 case time.SECOND: | |
507 case time.FIVESECONDS: | |
508 case time.TENSECONDS: | |
509 case time.HALFMINUTE: | |
510 return hour+":"+((minute<10)?"0":"")+minute+":"+((second<10)?"0":"")+second; | |
511 case time.MINUTE: | |
512 case time.FIVEMINUTES: | |
513 case time.TENMINUTES: | |
514 case time.HALFHOUR: | |
515 return hour+":"+((minute<10)?"0":"")+minute; | |
516 case time.TWOHOURS: | |
517 case time.FOURHOURS: | |
518 case time.EIGHTHOURS: | |
519 case time.HOUR: | |
520 return hour + ":00"; | |
521 case time.DAY: | |
522 case time.TWODAYS: | |
523 case time.FOURDAYS: | |
524 case time.WEEK: | |
525 case time.TWOWEEKS: | |
526 case time.MONTH: | |
527 case time.QUARTER: | |
528 case time.SEMESTER: | |
529 return year+"-"+((month<10)?"0":"")+month+"-"+((day<10)?"0":"")+day; | |
530 case time.YEAR: | |
531 case time.TWOYEARS: | |
532 case time.LUSTRUM: | |
533 case time.DECADE: | |
534 case time.TWODECADES: | |
535 case time.HALFCENTURY: | |
536 case time.CENTURY: | |
537 case time.TWOCENTURIES: | |
538 case time.HALFMILLENNIUM: | |
539 case time.MILLENNIUM: | |
540 return year; | |
541 case time.TWOMILLENNIUMS: | |
542 case time.FIVEMILLENNIUMS: | |
543 case time.DECAMILLENNIUM: | |
544 case time.TWODECAMILLENNIUMS: | |
545 case time.FIVEDECAMILLENNIUMS: | |
546 case time.HECTOMILLENNIUM: | |
547 case time.TWOHECTOMILLENNIUMS: | |
548 case time.FIVEHECTOMILLENNIUMS: | |
549 return Math.floor(year/1000) + "k"; | |
550 case time.MEGENNIUM: | |
551 case time.TWOMEGENNIUMS: | |
552 case time.FIVEMEGENNIUMS: | |
553 case time.DECAMEGENNIUM: | |
554 case time.TWODECAMEGENNIUMS: | |
555 case time.FIVEDECAMEGENNIUMS: | |
556 case time.HECTOMEGENNIUM: | |
557 case time.TWOHECTOMEGENNIUMS: | |
558 case time.FIVEHECTOMEGENNIUMS: | |
559 return Math.floor(year/1000000) + "mill"; | |
560 } | |
561 }; | |
562 | |
563 SimileAjax.DateTime.getTimeString = function( unit, t ){ | |
564 var time = SimileAjax.DateTime; | |
565 switch(unit){ | |
566 case time.MILLISECOND: | |
567 case time.SECOND: | |
568 case time.FIVESECONDS: | |
569 case time.TENSECONDS: | |
570 case time.HALFMINUTE: | |
571 case time.MINUTE: | |
572 case time.FIVEMINUTES: | |
573 case time.TENMINUTES: | |
574 case time.HALFHOUR: | |
575 case time.HOUR: | |
576 case time.TWOHOURS: | |
577 case time.FOURHOURS: | |
578 case time.EIGHTHOURS: | |
579 var m = t.getUTCMonth()+1; | |
580 var d = t.getUTCDate(); | |
581 var h = t.getUTCHours(); | |
582 var min = t.getUTCMinutes(); | |
583 var s = t.getUTCSeconds(); | |
584 return t.getUTCFullYear()+"-"+((m<10)?"0":"")+m+"-"+((d<10)?"0":"")+d+" "+((h<10)?"0":"")+h+":"+((min<10)?"0":"")+min+":"+((s<10)?"0":"")+s; | |
585 case time.DAY: | |
586 case time.TWODAYS: | |
587 case time.FOURDAYS: | |
588 case time.WEEK: | |
589 case time.TWOWEEKS: | |
590 case time.MONTH: | |
591 case time.QUARTER: | |
592 case time.SEMESTER: | |
593 var m = t.getUTCMonth()+1; | |
594 var d = t.getUTCDate(); | |
595 return t.getUTCFullYear()+"-"+((m<10)?"0":"")+m+"-"+((d<10)?"0":"")+d; | |
596 case time.YEAR: | |
597 case time.TWOYEARS: | |
598 case time.LUSTRUM: | |
599 case time.DECADE: | |
600 case time.TWODECADES: | |
601 case time.HALFCENTURY: | |
602 case time.CENTURY: | |
603 case time.TWOCENTURIES: | |
604 case time.HALFMILLENNIUM: | |
605 case time.MILLENNIUM: | |
606 return t.getUTCFullYear(); | |
607 case time.TWOMILLENNIUMS: | |
608 case time.FIVEMILLENNIUMS: | |
609 case time.DECAMILLENNIUM: | |
610 case time.TWODECAMILLENNIUMS: | |
611 case time.FIVEDECAMILLENNIUMS: | |
612 case time.HECTOMILLENNIUM: | |
613 case time.TWOHECTOMILLENNIUMS: | |
614 case time.FIVEHECTOMILLENNIUMS: | |
615 return Math.floor(t.getUTCFullYear() / 1000) + "k"; | |
616 case time.MEGENNIUM: | |
617 case time.TWOMEGENNIUMS: | |
618 case time.FIVEMEGENNIUMS: | |
619 case time.DECAMEGENNIUM: | |
620 case time.TWODECAMEGENNIUMS: | |
621 case time.FIVEDECAMEGENNIUMS: | |
622 case time.HECTOMEGENNIUM: | |
623 case time.TWOHECTOMEGENNIUMS: | |
624 case time.FIVEHECTOMEGENNIUMS: | |
625 return Math.floor(t.getUTCFullYear() / 1000000) + "mill"; | |
626 } | |
627 }; |