forked from jacwright/date.format
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdate.format.min.js
More file actions
9 lines (9 loc) · 5.09 KB
/
date.format.min.js
File metadata and controls
9 lines (9 loc) · 5.09 KB
1
2
3
4
5
6
7
8
9
/*!
* Date#format()
* Quick reference at http://php.net/date
*
* http://github.com/jacwright/date.format
*
* MIT License
*/
(function(a){a.prototype.format=function(d,e){var c=this,b=a.format.formatters;e=e||a.format.lang;return d.replace(/(\\?)(.)/g,function(g,f,h){return(f===""&&b[h])?b[h].call(c,e):h})};a.format={escape:function(e){if(!a.format.escapeRegex){var d="",c=a.format.formatters;for(var b in c){if(c.hasOwnProperty(b)){d+=b}}a.format.escapeRegex=new RegExp("(["+d+"\\\\])","g")}return e.replace(a.format.escapeRegex,"\\$1")},lang:"en",translation:{en:{monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ordinals:["st","nd","rd","th"],am:"am",pm:"pm"}},formatters:{d:function(){return(this.getDate()<10?"0":"")+this.getDate()},D:function(){return a.format.translation[arguments[0]].dayNamesShort[this.getDay()]},j:function(){return this.getDate()},l:function(){return a.format.translation[arguments[0]].dayNames[this.getDay()]},N:function(){return(this.getDay()===0?7:this.getDay())},S:function(){var c=a.format.translation[arguments[0]].ordinals,b=this.getDate();return(b%10===1&&b!==11?c[0]:(b%10===2&&b!==12?c[1]:(b%10===3&&b!==13?c[2]:c[3])))},w:function(){return this.getDay()},z:function(){var b=new a(this.getFullYear(),0,1);return Math.ceil((this-b)/86400000)},W:function(){var c=new a(this.valueOf()),d=(this.getDay()+6)%7;c.setDate(c.getDate()-d+3);var e=c.valueOf();c.setMonth(0,1);if(c.getDay()!==4){c.setMonth(0,1+((4-c.getDay())+7)%7)}var b=1+Math.ceil((e-c)/604800000);return(b<10?"0"+b:b)},F:function(){return a.format.translation[arguments[0]].monthNames[this.getMonth()]},m:function(){return(this.getMonth()<9?"0":"")+(this.getMonth()+1)},M:function(){return a.format.translation[arguments[0]].monthNamesShort[this.getMonth()]},n:function(){return this.getMonth()+1},t:function(){var c=this.getFullYear(),b=this.getMonth()+1;if(b===12){c=c++;b=0}return new a(c,b,0).getDate()},L:function(){var b=this.getFullYear();return(b%400===0||(b%100!==0&&b%4===0))},o:function(){var b=new a(this.valueOf());b.setDate(b.getDate()-((this.getDay()+6)%7)+3);return b.getFullYear()},Y:function(){return this.getFullYear()},y:function(){return(""+this.getFullYear()).substr(2)},a:function(){return this.getHours()<12?a.format.translation[arguments[0]].am:a.format.translation[arguments[0]].pm},A:function(){return this.getHours()<12?a.format.translation[arguments[0]].am.toUpperCase():a.format.translation[arguments[0]].pm.toUpperCase()},B:function(){return Math.floor((((this.getUTCHours()+1)%24)+this.getUTCMinutes()/60+this.getUTCSeconds()/3600)*1000/24)},g:function(){return this.getHours()%12||12},G:function(){return this.getHours()},h:function(){return((this.getHours()%12||12)<10?"0":"")+(this.getHours()%12||12)},H:function(){return(this.getHours()<10?"0":"")+this.getHours()},i:function(){return(this.getMinutes()<10?"0":"")+this.getMinutes()},s:function(){return(this.getSeconds()<10?"0":"")+this.getSeconds()},u:function(){var b=this.getMilliseconds();return(b<10?"00":(b<100?"0":""))+b+"000"},v:function(){var b=this.getMilliseconds();return(b<10?"00":(b<100?"0":""))+b},e:function(){var b=/\((.*)\)/.exec(this.toString());return(b&&b[1])||null},I:function(){var c=null;for(var b=0;b<12;b++){var f=new a(this.getFullYear(),b,1),e=f.getTimezoneOffset();if(c===null){c=e}else{if(e<c){c=e;break}else{if(e>c){break}}}}return(this.getTimezoneOffset()===c)|0},O:function(){return(-this.getTimezoneOffset()<0?"-":"+")+(Math.abs(this.getTimezoneOffset()/60)<10?"0":"")+Math.floor(Math.abs(this.getTimezoneOffset()/60))+(Math.abs(this.getTimezoneOffset()%60)==0?"00":((Math.abs(this.getTimezoneOffset()%60)<10?"0":""))+(Math.abs(this.getTimezoneOffset()%60)))},P:function(){return(-this.getTimezoneOffset()<0?"-":"+")+(Math.abs(this.getTimezoneOffset()/60)<10?"0":"")+Math.floor(Math.abs(this.getTimezoneOffset()/60))+":"+(Math.abs(this.getTimezoneOffset()%60)==0?"00":((Math.abs(this.getTimezoneOffset()%60)<10?"0":""))+(Math.abs(this.getTimezoneOffset()%60)))},T:function(){return this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/,"$1")},Z:function(){return -this.getTimezoneOffset()*60},c:function(){return this.format("Y-m-d\\TH:i:sP")},r:function(){return this.toString()},U:function(){return this.getTime()/1000},V:function(){var b=new a(this.valueOf()),c=(this.getDay()+6)%7;b.setDate(b.getDate()-c+3);var d=b.valueOf();b.setMonth(0,1);if(b.getDay()!==4){b.setMonth(0,1+((4-b.getDay())+7)%7)}return 1+Math.ceil((d-b)/604800000)},k:function(){var c=a.format.translation[arguments[0]].ordinals,b=a.format.formatters.V.apply(this,arguments);return(b%10===1&&b!==11?c[0]:(b%10===2&&b!==12?c[1]:(b%10===3&&b!==13?c[2]:c[3])))},Q:function(){return Math.floor(this.getMonth()/3)+1},q:function(){var c=a.format.translation[arguments[0]].ordinals,b=a.format.formatters.Q.apply(this,arguments);return(b%10===1&&b!==11?c[0]:(b%10===2&&b!==12?c[1]:(b%10===3&&b!==13?c[2]:c[3])))}}}})(Date);