ttrss/lib/dojo/date/locale.js

8 lines
8.4 KiB
JavaScript
Raw Normal View History

/*
Copyright (c) 2004-2016, The JS Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
2012-08-14 14:59:10 +00:00
//>>built
define("dojo/date/locale",["../_base/lang","../_base/array","../date","../cldr/supplemental","../i18n","../regexp","../string","../i18n!../cldr/nls/gregorian","module"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9){var _a={};_1.setObject(_9.id.replace(/\//g,"."),_a);function _b(_c,_d,_e,_f){return _f.replace(/([a-z])\1*/ig,function(_10){var s,pad,c=_10.charAt(0),l=_10.length,_11=["abbr","wide","narrow"];switch(c){case "G":s=_d[(l<4)?"eraAbbr":"eraNames"][_c.getFullYear()<0?0:1];break;case "y":s=_c.getFullYear();switch(l){case 1:break;case 2:if(!_e.fullYear){s=String(s);s=s.substr(s.length-2);break;}default:pad=true;}break;case "Q":case "q":s=Math.ceil((_c.getMonth()+1)/3);pad=true;break;case "M":case "L":var m=_c.getMonth();if(l<3){s=m+1;pad=true;}else{var _12=["months",c=="L"?"standAlone":"format",_11[l-3]].join("-");s=_d[_12][m];}break;case "w":var _13=0;s=_a._getWeekOfYear(_c,_13);pad=true;break;case "d":s=_c.getDate();pad=true;break;case "D":s=_a._getDayOfYear(_c);pad=true;break;case "e":case "c":var d=_c.getDay();if(l<2){s=(d-_4.getFirstDayOfWeek(_e.locale)+8)%7;break;}case "E":d=_c.getDay();if(l<3){s=d+1;pad=true;}else{var _14=["days",c=="c"?"standAlone":"format",_11[l-3]].join("-");s=_d[_14][d];}break;case "a":var _15=_c.getHours()<12?"am":"pm";s=_e[_15]||_d["dayPeriods-format-wide-"+_15];break;case "h":case "H":case "K":case "k":var h=_c.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;}pad=true;break;case "m":s=_c.getMinutes();pad=true;break;case "s":s=_c.getSeconds();pad=true;break;case "S":s=Math.round(_c.getMilliseconds()*Math.pow(10,l-3));pad=true;break;case "v":case "z":s=_a._getZone(_c,true,_e);if(s){break;}l=4;case "Z":var _16=_a._getZone(_c,false,_e);var tz=[(_16<=0?"+":"-"),_7.pad(Math.floor(Math.abs(_16)/60),2),_7.pad(Math.abs(_16)%60,2)];if(l==4){tz.splice(0,0,"GMT");tz.splice(3,0,":");}s=tz.join("");break;default:throw new Error("dojo.date.locale.format: invalid pattern char: "+_f);}if(pad){s=_7.pad(s,l);}return s;});};_a._getZone=function(_17,_18,_19){if(_18){return _3.getTimezoneName(_17);}else{return _17.getTimezoneOffset();}};_a.format=function(_1a,_1b){_1b=_1b||{};var _1c=_5.normalizeLocale(_1b.locale),_1d=_1b.formatLength||"short",_1e=_a._getGregorianBundle(_1c),str=[],_1f=_1.hitch(this,_b,_1a,_1e,_1b);if(_1b.selector=="year"){return _20(_1e["dateFormatItem-yyyy"]||"yyyy",_1f);}var _21;if(_1b.selector!="date"){_21=_1b.timePattern||_1e["timeFormat-"+_1d];if(_21){str.push(_20(_21,_1f));}}if(_1b.selector!="time"){_21=_1b.datePattern||_1e["dateFormat-"+_1d];if(_21){str.push(_20(_21,_1f));}}return str.length==1?str[0]:_1e["dateTimeFormat-"+_1d].replace(/\'/g,"").replace(/\{(\d+)\}/g,function(_22,key){return str[key];});};_a.regexp=function(_23){return _a._parseInfo(_23).regexp;};_a._parseInfo=function(_24){_24=_24||{};var _25=_5.normalizeLocale(_24.locale),_26=_a._getGregorianBundle(_25),_27=_24.formatLength||"short",_28=_24.datePattern||_26["dateFormat-"+_27],_29=_24.timePattern||_26["timeFormat-"+_27],_2a;if(_24.selector=="date"){_2a=_28;}else{if(_24.selector=="time"){_2a=_29;}else{_2a=_26["dateTimeFormat-"+_27].replace(/\{(\d+)\}/g,function(_2b,key){return [_29,_28][key];});}}var _2c=[],re=_20(_2a,_1.hitch(this,_2d,_2c,_26,_24));return {regexp:re,tokens:_2c,bundle:_26};};_a.parse=function(_2e,_2f){var _30=/[\u200E\u200F\u202A\u202E]/g,_31=_a._parseInfo(_2f),_32=_31.tokens,_33=_31.bundle,re=new RegExp("^"+_31.regexp.replace(_30,"")+"$",_31.strict?"":"i"),_34=re.exec(_2e&&_2e.replace(_30,""));if(!_34){return null;}var _35=["abbr","wide","narrow"],_36=[1970,0,1,0,0,0,0],_37="",_38=_2.every(_34,function(v,i){if(!i){return true;}var _39=_32[i-1],l=_39.length,c=_39.charAt(0);switch(c){case "y":if(l!=2&&_2f.strict){_36[0]=v;}else{if(v<100){v=Number(v);var _3a=""+new Date().getFullYear(),_3b=_3a.substring(0,2)*100,_3c=Math.min(Number(_3a.substring(2,4))+20,99);_36[0]=(v<_3c)?_3b+v:_3b-100+v;}else{if(_2f.strict){return false;}_36[0]=v;}}break;case "M":case "L":if(l>2){var _3d=_33["months-"+(c=="L"?"standAlone":"format")+"-"+_35[l-3]].concat();if(!_