]> git.wh0rd.org - tt-rss.git/blob - lib/dojo/date/stamp.js
add dijit/dojo stuff; initial ui mockup
[tt-rss.git] / lib / dojo / date / stamp.js
1 /*
2 Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
5 */
6
7
8 if(!dojo._hasResource["dojo.date.stamp"]){
9 dojo._hasResource["dojo.date.stamp"]=true;
10 dojo.provide("dojo.date.stamp");
11 dojo.date.stamp.fromISOString=function(_1,_2){
12 if(!dojo.date.stamp._isoRegExp){
13 dojo.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;
14 }
15 var _3=dojo.date.stamp._isoRegExp.exec(_1),_4=null;
16 if(_3){
17 _3.shift();
18 if(_3[1]){
19 _3[1]--;
20 }
21 if(_3[6]){
22 _3[6]*=1000;
23 }
24 if(_2){
25 _2=new Date(_2);
26 dojo.forEach(dojo.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(_5){
27 return _2["get"+_5]();
28 }),function(_6,_7){
29 _3[_7]=_3[_7]||_6;
30 });
31 }
32 _4=new Date(_3[0]||1970,_3[1]||0,_3[2]||1,_3[3]||0,_3[4]||0,_3[5]||0,_3[6]||0);
33 if(_3[0]<100){
34 _4.setFullYear(_3[0]||1970);
35 }
36 var _8=0,_9=_3[7]&&_3[7].charAt(0);
37 if(_9!="Z"){
38 _8=((_3[8]||0)*60)+(Number(_3[9])||0);
39 if(_9!="-"){
40 _8*=-1;
41 }
42 }
43 if(_9){
44 _8-=_4.getTimezoneOffset();
45 }
46 if(_8){
47 _4.setTime(_4.getTime()+_8*60000);
48 }
49 }
50 return _4;
51 };
52 dojo.date.stamp.toISOString=function(_a,_b){
53 var _c=function(n){
54 return (n<10)?"0"+n:n;
55 };
56 _b=_b||{};
57 var _d=[],_e=_b.zulu?"getUTC":"get",_f="";
58 if(_b.selector!="time"){
59 var _10=_a[_e+"FullYear"]();
60 _f=["0000".substr((_10+"").length)+_10,_c(_a[_e+"Month"]()+1),_c(_a[_e+"Date"]())].join("-");
61 }
62 _d.push(_f);
63 if(_b.selector!="date"){
64 var _11=[_c(_a[_e+"Hours"]()),_c(_a[_e+"Minutes"]()),_c(_a[_e+"Seconds"]())].join(":");
65 var _12=_a[_e+"Milliseconds"]();
66 if(_b.milliseconds){
67 _11+="."+(_12<100?"0":"")+_c(_12);
68 }
69 if(_b.zulu){
70 _11+="Z";
71 }else{
72 if(_b.selector!="time"){
73 var _13=_a.getTimezoneOffset();
74 var _14=Math.abs(_13);
75 _11+=(_13>0?"-":"+")+_c(Math.floor(_14/60))+":"+_c(_14%60);
76 }
77 }
78 _d.push(_11);
79 }
80 return _d.join("T");
81 };
82 }