posix.js
3.3 KB
//>>built
define(["dojo/_base/kernel","dojo/date","dojo/date/locale","dojo/string","dojo/cldr/supplemental"],function(v,r,k,w,n){var h=v.getObject("date.posix",!0,dojox);h.strftime=function(a,b,d){for(var e=null,c=function(a,b){return w.pad(a,b||2,e||"0")},n=k._getGregorianBundle(d),f=function(b){switch(b){case "a":return k.getNames("days","abbr","format",d)[a.getDay()];case "A":return k.getNames("days","wide","format",d)[a.getDay()];case "b":case "h":return k.getNames("months","abbr","format",d)[a.getMonth()];
case "B":return k.getNames("months","wide","format",d)[a.getMonth()];case "c":return k.format(a,{formatLength:"full",locale:d});case "C":return c(Math.floor(a.getFullYear()/100));case "d":return c(a.getDate());case "D":return f("m")+"/"+f("d")+"/"+f("y");case "e":return null==e&&(e=" "),c(a.getDate());case "f":return null==e&&(e=" "),c(a.getMonth()+1);case "G":console.warn("unimplemented modifier 'G'");break;case "F":return f("Y")+"-"+f("m")+"-"+f("d");case "H":return c(a.getHours());case "I":return c(a.getHours()%
12||12);case "j":return c(k._getDayOfYear(a),3);case "k":return null==e&&(e=" "),c(a.getHours());case "l":return null==e&&(e=" "),c(a.getHours()%12||12);case "m":return c(a.getMonth()+1);case "M":return c(a.getMinutes());case "n":return"\n";case "p":return n["dayPeriods-format-wide-"+(12>a.getHours()?"am":"pm")];case "r":return f("I")+":"+f("M")+":"+f("S")+" "+f("p");case "R":return f("H")+":"+f("M");case "S":return c(a.getSeconds());case "t":return"\t";case "T":return f("H")+":"+f("M")+":"+f("S");
case "u":return String(a.getDay()||7);case "U":return c(k._getWeekOfYear(a));case "V":return c(h.getIsoWeekOfYear(a));case "W":return c(k._getWeekOfYear(a,1));case "w":return String(a.getDay());case "x":return k.format(a,{selector:"date",formatLength:"full",locale:d});case "X":return k.format(a,{selector:"time",formatLength:"full",locale:d});case "y":return c(a.getFullYear()%100);case "Y":return String(a.getFullYear());case "z":return b=a.getTimezoneOffset(),(0<b?"-":"+")+c(Math.floor(Math.abs(b)/
60))+":"+c(Math.abs(b)%60);case "Z":return r.getTimezoneName(a);case "%":return"%"}},t="",g=0,m=0,l=null;-1!=(m=b.indexOf("%",g));){t+=b.substring(g,m++);switch(b.charAt(m++)){case "_":e=" ";break;case "-":e="";break;case "0":e="0";break;case "^":l="upper";break;case "*":l="lower";break;case "#":l="swap";break;default:e=null,m--}g=f(b.charAt(m++));switch(l){case "upper":g=g.toUpperCase();break;case "lower":g=g.toLowerCase();break;case "swap":for(var l=g.toLowerCase(),u="",p="",q=0;q<g.length;q++)p=
g.charAt(q),u+=p==l.charAt(q)?p.toUpperCase():p.toLowerCase();g=u}l=null;t+=g;g=m}return t+=b.substring(g)};h.getStartOfWeek=function(a,b){isNaN(b)&&(b=n.getFirstDayOfWeek?n.getFirstDayOfWeek():0);var d=b,d=a.getDay()>=b?d-a.getDay():d-(7-a.getDay());a=new Date(a);a.setHours(0,0,0,0);return r.add(a,"day",d)};h.setIsoWeekOfYear=function(a,b){if(!b)return a;var d=h.getIsoWeekOfYear(a),e=b-d;0>b&&(e=h.getIsoWeeksInYear(a)+b+1-d);return r.add(a,"week",e)};h.getIsoWeekOfYear=function(a){var b=h.getStartOfWeek(a,
1);a=new Date(a.getFullYear(),0,4);a=h.getStartOfWeek(a,1);a=b.getTime()-a.getTime();return 0>a?h.getIsoWeeksInYear(b):Math.ceil(a/6048E5)+1};h.getIsoWeeksInYear=function(a){function b(a){return a+Math.floor(a/4)-Math.floor(a/100)+Math.floor(a/400)}a=a.getFullYear();return 4==b(a)%7||3==b(a-1)%7?53:52};return h});