function formatPattern()

in tapestry-framework/src/js/dojo-0.4.3-custom-4.1.6/src/date/format.js [17:189]


function formatPattern(_3,_4){
return _4.replace(/([a-z])\1*/ig,function(_5){
var s;
var c=_5.charAt(0);
var l=_5.length;
var _9;
var _a=["abbr","wide","narrow"];
switch(c){
case "G":
if(l>3){
dojo.unimplemented("Era format not implemented");
}
s=_b.eras[_3.getFullYear()<0?1:0];
break;
case "y":
s=_3.getFullYear();
switch(l){
case 1:
break;
case 2:
s=String(s);
s=s.substr(s.length-2);
break;
default:
_9=true;
}
break;
case "Q":
case "q":
s=Math.ceil((_3.getMonth()+1)/3);
switch(l){
case 1:
case 2:
_9=true;
break;
case 3:
case 4:
dojo.unimplemented("Quarter format not implemented");
}
break;
case "M":
case "L":
var m=_3.getMonth();
var _d;
switch(l){
case 1:
case 2:
s=m+1;
_9=true;
break;
case 3:
case 4:
case 5:
_d=_a[l-3];
break;
}
if(_d){
var _e=(c=="L")?"standalone":"format";
var _f=["months",_e,_d].join("-");
s=_b[_f][m];
}
break;
case "w":
var _10=0;
s=dojo.date.getWeekOfYear(_3,_10);
_9=true;
break;
case "d":
s=_3.getDate();
_9=true;
break;
case "D":
s=dojo.date.getDayOfYear(_3);
_9=true;
break;
case "E":
case "e":
case "c":
var d=_3.getDay();
var _d;
switch(l){
case 1:
case 2:
if(c=="e"){
var _12=dojo.date.getFirstDayOfWeek(_2.locale);
d=(d-_12+7)%7;
}
if(c!="c"){
s=d+1;
_9=true;
break;
}
case 3:
case 4:
case 5:
_d=_a[l-3];
break;
}
if(_d){
var _e=(c=="c")?"standalone":"format";
var _f=["days",_e,_d].join("-");
s=_b[_f][d];
}
break;
case "a":
var _13=(_3.getHours()<12)?"am":"pm";
s=_b[_13];
break;
case "h":
case "H":
case "K":
case "k":
var h=_3.getHours();
switch(c){
case "h":
s=(h%12)||12;
break;
case "H":
s=h;
break;
case "K":
s=(h%12);
break;
case "k":
s=h||24;
break;
}
_9=true;
break;
case "m":
s=_3.getMinutes();
_9=true;
break;
case "s":
s=_3.getSeconds();
_9=true;
break;
case "S":
s=Math.round(_3.getMilliseconds()*Math.pow(10,l-3));
break;
case "v":
case "z":
s=dojo.date.getTimezoneName(_3);
if(s){
break;
}
l=4;
case "Z":
var _15=_3.getTimezoneOffset();
var tz=[(_15<=0?"+":"-"),dojo.string.pad(Math.floor(Math.abs(_15)/60),2),dojo.string.pad(Math.abs(_15)%60,2)];
if(l==4){
tz.splice(0,0,"GMT");
tz.splice(3,0,":");
}
s=tz.join("");
break;
case "Y":
case "u":
case "W":
case "F":
case "g":
case "A":
s="?";
break;
default:
dojo.raise("dojo.date.format: invalid pattern char: "+_4);
}
if(_9){
s=dojo.string.pad(s,l);
}
return s;
});
}