83 lines
1.9 KiB
JavaScript
83 lines
1.9 KiB
JavaScript
/*
|
|
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
|
|
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
|
see: http://dojotoolkit.org/license for details
|
|
*/
|
|
|
|
//>>built
|
|
define("dojo/date/stamp",["../_base/kernel","../_base/lang","../_base/array"],function(_1,_2,_3){
|
|
_2.getObject("date.stamp",true,_1);
|
|
_1.date.stamp.fromISOString=function(_4,_5){
|
|
if(!_1.date.stamp._isoRegExp){
|
|
_1.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;
|
|
}
|
|
var _6=_1.date.stamp._isoRegExp.exec(_4),_7=null;
|
|
if(_6){
|
|
_6.shift();
|
|
if(_6[1]){
|
|
_6[1]--;
|
|
}
|
|
if(_6[6]){
|
|
_6[6]*=1000;
|
|
}
|
|
if(_5){
|
|
_5=new Date(_5);
|
|
_3.forEach(_3.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(_8){
|
|
return _5["get"+_8]();
|
|
}),function(_9,_a){
|
|
_6[_a]=_6[_a]||_9;
|
|
});
|
|
}
|
|
_7=new Date(_6[0]||1970,_6[1]||0,_6[2]||1,_6[3]||0,_6[4]||0,_6[5]||0,_6[6]||0);
|
|
if(_6[0]<100){
|
|
_7.setFullYear(_6[0]||1970);
|
|
}
|
|
var _b=0,_c=_6[7]&&_6[7].charAt(0);
|
|
if(_c!="Z"){
|
|
_b=((_6[8]||0)*60)+(Number(_6[9])||0);
|
|
if(_c!="-"){
|
|
_b*=-1;
|
|
}
|
|
}
|
|
if(_c){
|
|
_b-=_7.getTimezoneOffset();
|
|
}
|
|
if(_b){
|
|
_7.setTime(_7.getTime()+_b*60000);
|
|
}
|
|
}
|
|
return _7;
|
|
};
|
|
_1.date.stamp.toISOString=function(_d,_e){
|
|
var _f=function(n){
|
|
return (n<10)?"0"+n:n;
|
|
};
|
|
_e=_e||{};
|
|
var _10=[],_11=_e.zulu?"getUTC":"get",_12="";
|
|
if(_e.selector!="time"){
|
|
var _13=_d[_11+"FullYear"]();
|
|
_12=["0000".substr((_13+"").length)+_13,_f(_d[_11+"Month"]()+1),_f(_d[_11+"Date"]())].join("-");
|
|
}
|
|
_10.push(_12);
|
|
if(_e.selector!="date"){
|
|
var _14=[_f(_d[_11+"Hours"]()),_f(_d[_11+"Minutes"]()),_f(_d[_11+"Seconds"]())].join(":");
|
|
var _15=_d[_11+"Milliseconds"]();
|
|
if(_e.milliseconds){
|
|
_14+="."+(_15<100?"0":"")+_f(_15);
|
|
}
|
|
if(_e.zulu){
|
|
_14+="Z";
|
|
}else{
|
|
if(_e.selector!="time"){
|
|
var _16=_d.getTimezoneOffset();
|
|
var _17=Math.abs(_16);
|
|
_14+=(_16>0?"-":"+")+_f(Math.floor(_17/60))+":"+_f(_17%60);
|
|
}
|
|
}
|
|
_10.push(_14);
|
|
}
|
|
return _10.join("T");
|
|
};
|
|
return _1.date.stamp;
|
|
});
|