UNPKG

dayjs

Version:

2KB immutable date time library alternative to Moment.js with the same modern API

2 lines (1 loc) 6.48 kB
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):t.dayjs=n()}(this,function(){"use strict";var t="millisecond",n="second",e="minute",i="hour",r="day",s="week",u="month",o="year",a=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,h=/\[.*?\]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,c=function(t,n,e){var i=String(t);return!i||i.length>=n?t:""+Array(n+1-i.length).join(e)+t},f={s:c,z:function(t){var n=-t.utcOffset(),e=Math.abs(n),i=Math.floor(e/60),r=e%60;return(n<=0?"+":"-")+c(i,2,"0")+":"+c(r,2,"0")},m:function(t,n){var e=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(e,u),r=n-i<0,s=t.clone().add(e+(r?-1:1),u);return Number(-(e+(n-i)/(r?i-s:s-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(a){return{M:u,y:o,w:s,d:r,h:i,m:e,s:n,ms:t}[a]||String(a||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},d={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},$="en",l={};l[$]=d;var m=function(t){return t instanceof S},y=function(t,n,e){var i;if(!t)return null;if("string"==typeof t)l[t]&&(i=t),n&&(l[t]=n,i=t);else{var r=t.name;l[r]=t,i=r}return e||($=i),i},M=function(t,n,e){if(m(t))return t.clone();var i=n?"string"==typeof n?{format:n,pl:e}:n:{};return i.date=t,new S(i)},D=f;D.l=y,D.i=m,D.w=function(t,n){return M(t,{locale:n.$L,utc:n.$u})};var S=function(){function c(t){this.$L=this.$L||y(t.locale,null,!0)||$,this.parse(t)}var f=c.prototype;return f.parse=function(t){this.$d=function(t){var n=t.date,e=t.utc;if(null===n)return new Date(NaN);if(D.u(n))return new Date;if(n instanceof Date)return new Date(n);if("string"==typeof n&&!/Z$/i.test(n)){var i=n.match(a);if(i)return e?new Date(Date.UTC(i[1],i[2]-1,i[3]||1,i[4]||0,i[5]||0,i[6]||0,i[7]||0)):new Date(i[1],i[2]-1,i[3]||1,i[4]||0,i[5]||0,i[6]||0,i[7]||0)}return new Date(n)}(t),this.init()},f.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},f.$utils=function(){return D},f.isValid=function(){return!("Invalid Date"===this.$d.toString())},f.isSame=function(t,n){var e=M(t);return this.startOf(n)<=e&&e<=this.endOf(n)},f.isAfter=function(t,n){return M(t)<this.startOf(n)},f.isBefore=function(t,n){return this.endOf(n)<M(t)},f.year=function(){return this.$y},f.month=function(){return this.$M},f.day=function(){return this.$W},f.date=function(){return this.$D},f.hour=function(){return this.$H},f.minute=function(){return this.$m},f.second=function(){return this.$s},f.millisecond=function(){return this.$ms},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(t,a){var h=this,c=!!D.u(a)||a,f=D.p(t),d=function(t,n){var e=D.w(h.$u?Date.UTC(h.$y,n,t):new Date(h.$y,n,t),h);return c?e:e.endOf(r)},$=function(t,n){return D.w(h.toDate()[t].apply(h.toDate(),(c?[0,0,0,0]:[23,59,59,999]).slice(n)),h)},l=this.$W,m=this.$M,y=this.$D,M="set"+(this.$u?"UTC":"");switch(f){case o:return c?d(1,0):d(31,11);case u:return c?d(1,m):d(0,m+1);case s:var S=this.$locale().weekStart||0,g=(l<S?l+7:l)-S;return d(c?y-g:y+(6-g),m);case r:case"date":return $(M+"Hours",0);case i:return $(M+"Minutes",1);case e:return $(M+"Seconds",2);case n:return $(M+"Milliseconds",3);default:return this.clone()}},f.endOf=function(t){return this.startOf(t,!1)},f.$set=function(s,a){var h,c=D.p(s),f="set"+(this.$u?"UTC":""),d=(h={},h[r]=f+"Date",h.date=f+"Date",h[u]=f+"Month",h[o]=f+"FullYear",h[i]=f+"Hours",h[e]=f+"Minutes",h[n]=f+"Seconds",h[t]=f+"Milliseconds",h)[c],$=c===r?this.$D+(a-this.$W):a;return this.$d[d]&&this.$d[d]($),this.init(),this},f.set=function(t,n){return this.clone().$set(t,n)},f.add=function(t,a){var h,c=this;t=Number(t);var f=D.p(a),d=function(n,e){var i=c.set("date",1).set(n,e+t);return i.set("date",Math.min(c.$D,i.daysInMonth()))},$=function(n){var e=new Date(c.$d);return e.setDate(e.getDate()+n*t),D.w(e,c)};if(f===u)return d(u,this.$M);if(f===o)return d(o,this.$y);if(f===r)return $(1);if(f===s)return $(7);var l=(h={},h[e]=6e4,h[i]=36e5,h[n]=1e3,h)[f]||1,m=this.valueOf()+t*l;return D.w(m,this)},f.subtract=function(t,n){return this.add(-1*t,n)},f.format=function(t){var n=this;if(!this.isValid())return"Invalid Date";var e=t||"YYYY-MM-DDTHH:mm:ssZ",i=D.z(this),r=this.$locale(),s=r.weekdays,u=r.months,o=function(t,n,e,i){return t&&t[n]||e[n].substr(0,i)},a=function(t){return D.s(n.$H%12||12,t,"0")},c={YY:String(this.$y).slice(-2),YYYY:String(this.$y),M:String(this.$M+1),MM:D.s(this.$M+1,2,"0"),MMM:o(r.monthsShort,this.$M,u,3),MMMM:u[this.$M],D:String(this.$D),DD:D.s(this.$D,2,"0"),d:String(this.$W),dd:o(r.weekdaysMin,this.$W,s,2),ddd:o(r.weekdaysShort,this.$W,s,3),dddd:s[this.$W],H:String(this.$H),HH:D.s(this.$H,2,"0"),h:a(1),hh:a(2),a:this.$H<12?"am":"pm",A:this.$H<12?"AM":"PM",m:String(this.$m),mm:D.s(this.$m,2,"0"),s:String(this.$s),ss:D.s(this.$s,2,"0"),SSS:D.s(this.$ms,3,"0"),Z:i};return e.replace(h,function(t){return t.indexOf("[")>-1?t.replace(/\[|\]/g,""):c[t]||i.replace(":","")})},f.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},f.diff=function(t,a,h){var c,f=D.p(a),d=M(t),$=6e4*(d.utcOffset()-this.utcOffset()),l=this-d,m=D.m(this,d);return m=(c={},c[o]=m/12,c[u]=m,c.quarter=m/3,c[s]=(l-$)/6048e5,c[r]=(l-$)/864e5,c[i]=l/36e5,c[e]=l/6e4,c[n]=l/1e3,c)[f]||l,h?m:D.a(m)},f.daysInMonth=function(){return this.endOf(u).$D},f.$locale=function(){return l[this.$L]},f.locale=function(t,n){var e=this.clone();return e.$L=y(t,n,!0),e},f.clone=function(){return D.w(this.toDate(),this)},f.toDate=function(){return new Date(this.$d)},f.toArray=function(){return[this.$y,this.$M,this.$D,this.$H,this.$m,this.$s,this.$ms]},f.toJSON=function(){return this.toISOString()},f.toISOString=function(){return this.$d.toISOString()},f.toObject=function(){return{years:this.$y,months:this.$M,date:this.$D,hours:this.$H,minutes:this.$m,seconds:this.$s,milliseconds:this.$ms}},f.toString=function(){return this.$d.toUTCString()},c}();return M.prototype=S.prototype,M.extend=function(t,n){return t(n,S,M),M},M.locale=y,M.isDayjs=m,M.unix=function(t){return M(1e3*t)},M.en=l[$],M.Ls=l,M});