forked from knowledgecode/date-and-time
-
Notifications
You must be signed in to change notification settings - Fork 0
/
date-and-time.min.js
15 lines (15 loc) · 5.88 KB
/
date-and-time.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
date-and-time.js (c) KNOWLEDGECODE | MIT
*/
(function(r){var b={},m={},k={},h="en",t={MMMM:"January February March April May June July August September October November December".split(" "),MMM:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),dddd:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ddd:"Sun Mon Tue Wed Thu Fri Sat".split(" "),dd:"Su Mo Tu We Th Fr Sa".split(" "),A:["a.m.","p.m."]},u={YYYY:function(a){return("000"+a.getFullYear()).slice(-4)},YY:function(a){return("0"+a.getFullYear()).slice(-2)},
Y:function(a){return""+a.getFullYear()},MMMM:function(a){return this.res.MMMM[a.getMonth()]},MMM:function(a){return this.res.MMM[a.getMonth()]},MM:function(a){return("0"+(a.getMonth()+1)).slice(-2)},M:function(a){return""+(a.getMonth()+1)},DD:function(a){return("0"+a.getDate()).slice(-2)},D:function(a){return""+a.getDate()},HH:function(a){return("0"+a.getHours()).slice(-2)},H:function(a){return""+a.getHours()},A:function(a){return this.res.A[11<a.getHours()|0]},hh:function(a){return("0"+(a.getHours()%
12||12)).slice(-2)},h:function(a){return""+(a.getHours()%12||12)},mm:function(a){return("0"+a.getMinutes()).slice(-2)},m:function(a){return""+a.getMinutes()},ss:function(a){return("0"+a.getSeconds()).slice(-2)},s:function(a){return""+a.getSeconds()},SSS:function(a){return("00"+a.getMilliseconds()).slice(-3)},SS:function(a){return("0"+(a.getMilliseconds()/10|0)).slice(-2)},S:function(a){return""+(a.getMilliseconds()/100|0)},dddd:function(a){return this.res.dddd[a.getDay()]},ddd:function(a){return this.res.ddd[a.getDay()]},
dd:function(a){return this.res.dd[a.getDay()]},Z:function(a){a=a.utc?0:a.getTimezoneOffset()/.6;return(0<a?"-":"+")+("000"+Math.abs(a-a%100*.4)).slice(-4)},post:function(a){return a}},w={YYYY:function(a){return this.exec(/^\d{4}/,a)},YY:function(a){a=this.exec(/^\d\d/,a);a.value+=70>a.value?2E3:100>a.value?1900:0;return a},Y:function(a){return this.exec(/^\d{1,4}/,a)},MMMM:function(a){a=this.find(this.res.MMMM,a);a.value++;return a},MMM:function(a){a=this.find(this.res.MMM,a);a.value++;return a},
MM:function(a){return this.exec(/^\d\d/,a)},M:function(a){return this.exec(/^\d\d?/,a)},DD:function(a){return this.exec(/^\d\d/,a)},D:function(a){return this.exec(/^\d\d?/,a)},HH:function(a){return this.exec(/^\d\d/,a)},H:function(a){return this.exec(/^\d\d?/,a)},A:function(a){return this.find(this.res.A,a)},hh:function(a){return this.exec(/^\d\d/,a)},h:function(a){return this.exec(/^\d\d?/,a)},mm:function(a){return this.exec(/^\d\d/,a)},m:function(a){return this.exec(/^\d\d?/,a)},ss:function(a){return this.exec(/^\d\d/,
a)},s:function(a){return this.exec(/^\d\d?/,a)},SSS:function(a){return this.exec(/^\d{1,3}/,a)},SS:function(a){a=this.exec(/^\d\d?/,a);a.value*=10;return a},S:function(a){a=this.exec(/^\d/,a);a.value*=100;return a},h12:function(a,d){return(12===a?0:a)+12*d},exec:function(a,d){var c=(a.exec(d)||[""])[0];return{value:c|0,length:c.length}},find:function(a,d){for(var c=-1,b=0,e=0,v=a.length,f;e<v;e++)f=a[e],!d.indexOf(f)&&f.length>b&&(c=e,b=f.length);return{value:c,length:b}},pre:function(a){return a}},
n=function(a,d,c){var b=function(a,c,d){var b=function(a){a&&(this.res=a)};b.prototype=a;b.prototype.constructor=b;a=new b(d);for(var e in c||{})c.hasOwnProperty(e)&&(d=c[e],a[e]=d.slice?d.slice():d);return a},e={res:b(d.res,c.res)};e.formatter=b(d.formatter,c.formatter,e.res);e.parser=b(d.parser,c.parser,e.res);m[a]=e};b.format=function(a,d,c){var g=b.addMinutes(a,c?a.getTimezoneOffset():0),e=m[h].formatter;g.utc=c;return d.replace(/\[[^\[\]]*]|\[.*\][^\[]*\]|([A-Za-z])\1*|./g,function(a){return e[a]?
e.post(e[a](g,d)):a.replace(/\[(.*)]/,"$1")})};b.compile=function(a){var d=/([A-Za-z])\1*|./g,c,b=[a];for(a=a.replace(/\[[^\[\]]*]|\[.*\][^\[]*\]/g,function(a){return a.replace(/./g," ").slice(2)});c=d.exec(a);)b[b.length]=c[0];return b};b.preparse=function(a,d){var c=m[h].parser,g=0,e="string"===typeof d?b.compile(d):d,k=e[0],f={Y:1970,M:1,D:1,H:0,A:0,h:0,m:0,s:0,S:0,_index:0,_length:0,_match:0};a=c.pre(a);for(var p=1,n=e.length;p<n;p++){var l=e[p];if(c[l]){var q=c[l](a.slice(g),k);if(!q.length)break;
g+=q.length;f[l.charAt(0)]=q.value;f._match++}else if(l===a.charAt(g)||" "===l)g++;else break}f.H=f.H||c.h12(f.h,f.A);f._index=g;f._length=a.length;return f};b.isValid=function(a,d){var c="string"===typeof a?b.preparse(a,d):a,g=[31,28+b.isLeapYear(c.Y)|0,31,30,31,30,31,31,30,31,30,31][c.M-1];return!(1>c._index||1>c._length||c._index-c._length||1>c._match||1>c.Y||9999<c.Y||1>c.M||12<c.M||1>c.D||c.D>g||23<c.H||0>c.H||59<c.m||0>c.m||59<c.s||0>c.s||999<c.S||0>c.S)};b.parse=function(a,d,c){a=b.preparse(a,
d);return b.isValid(a)?(a.M-=100>a.Y?22801:1,c=c?new Date(Date.UTC(a.Y,a.M,a.D,a.H,a.m,a.s,a.S)):new Date(a.Y,a.M,a.D,a.H,a.m,a.s,a.S)):new Date(NaN)};b.addYears=function(a,d){return b.addMonths(a,12*d)};b.addMonths=function(a,b){var c=new Date(a.getTime());c.setMonth(c.getMonth()+b);return c};b.addDays=function(a,b){var c=new Date(a.getTime());c.setDate(c.getDate()+b);return c};b.addHours=function(a,d){return b.addMilliseconds(a,36E5*d)};b.addMinutes=function(a,d){return b.addMilliseconds(a,6E4*
d)};b.addSeconds=function(a,d){return b.addMilliseconds(a,1E3*d)};b.addMilliseconds=function(a,b){return new Date(a.getTime()+b)};b.subtract=function(a,b){var c=a.getTime()-b.getTime();return{toMilliseconds:function(){return c},toSeconds:function(){return c/1E3|0},toMinutes:function(){return c/6E4|0},toHours:function(){return c/36E5|0},toDays:function(){return c/864E5|0}}};b.isLeapYear=function(a){return!(a%4)&&!!(a%100)||!(a%400)};b.isSameDay=function(a,d){return b.format(a,"YYYYMMDD")===b.format(d,
"YYYYMMDD")};b.locale=function(a,b){b?n(a,{res:t,formatter:u,parser:w},b):a&&(h=a);return h};b.extend=function(a){n(h,m[h],a)};b.plugin=function(a,d){k[a]=k[a]||d;!d&&k[a]&&b.extend(k[a])};b.locale(h,{});"object"===typeof module&&"object"===typeof module.exports?module.exports=b:"function"===typeof define&&define.amd?define([],function(){return b}):r.date=b})(this);