UNPKG

@luke-zhang-04/dateplus

Version:

A simple program to assist with date manipulation

8 lines (7 loc) 4.21 kB
/** * DatePlus v4.0.0-beta2 | A simple program to assist with date manipulation * @copyright Copyright (C) 2020 - 2021 Luke Zhang * @license MIT */ var DatePlus=function(e){"use strict";const t=e=>({ms:e%1e3,seconds:(e-e%1e3)/1e3}),s=t,r=e=>{const t=e%1e3%1e3,s=(e-e%1e3)/1e3%60;return{ms:t,seconds:s,minutes:(e-1e3*s-t)/6e4}},a=r,n=e=>{const t=e%1e3%1e3,s=(e-e%1e3)/1e3%60,r=(e-1e3*s-t)/6e4%60;return{ms:t,seconds:s,minutes:r,hours:(e-1e3*r*60-1e3*s-t)/36e5}},u=n,o=e=>{const t=e%1e3%1e3,s=(e-e%1e3)/1e3%60,r=(e-1e3*s-t)/6e4%60,a=(e-1e3*r*60-1e3*s-t)/36e5%24;return{ms:t,seconds:s,minutes:r,hours:a,days:(e-1e3*a*60*60-1e3*r*60-1e3*s-t)/864e5}},d=e=>1e3*e,h=d,c=e=>r(d(e)),i=c,y=e=>n(d(e)),m=y,M=e=>o(d(e)),g=M,l=e=>60*e*1e3,b=M,D=e=>60*e,p=D,f=e=>n(l(e)),E=f,S=e=>o(l(e)),N=S,P=e=>60*e*60*1e3,v=P,J=e=>60*e*60,W=J,A=e=>60*e,F=A,H=e=>o(P(e)),O=H,T=e=>24*e*60*60,_=T,j=e=>24*e*60,k=j,w=e=>24*e,x=w,Z={0:"Sunday",1:"Monday",2:"Tuesday",3:"Wednesday",4:"Thursday",5:"Friday",6:"Saturday"},q={0:"January",1:"Feburary",2:"March",3:"April",4:"May",5:"June",6:"July",7:"August",8:"September",9:"October",10:"November",11:"December"},z=6e4,B=36e5,C=864e5,G={y:"year",m:"month",d:"day"},I=(e,t="/")=>e.split(t).map((e=>e.length<2?"0".concat(e):e)).join(t),K=(e,t="y:m:d",s="/")=>{const r={m:(e.getMonth()+1).toString(),d:e.getDate().toString(),y:e.getFullYear().toString()};return t.split(":").map((e=>r[e])).join(s)},L=(e,t)=>-1*Math.round((e.getTime()-t.getTime())/C),Q=(e,t)=>-1*Math.round((e.getTime()-t.getTime())/B),R=(e,t)=>-1*Math.round((e.getTime()-t.getTime())/z),U=(e,t)=>-1*Math.round((e.getTime()-t.getTime())/1e3),V=(e,t)=>-1*Math.round(e.getTime()-t.getTime()),X=(e,t,s="about")=>{const r=30*C,a=365*C,n=V(e,t);let u;return n<z?(u=Math.round(n/1e3),"".concat(u," second").concat(1===u?"":"s"," ago")):n<B?(u=Math.round(n/z),"".concat(u," minute").concat(1===u?"":"s"," ago")):n<C?(u=Math.round(n/B),"".concat(u," hour").concat(1===u?"":"s"," ago")):n<r?(u=Math.round(n/C),"".concat(s," ").concat(u," day").concat(1===u?"":"s"," ago")):n<a?(u=Math.round(n/r),"".concat(s," ").concat(u," month").concat(1===u?"":"s"," ago")):(u=Math.round(n/a),"".concat(s," ").concat(u," year").concat(1===u?"":"s"," ago"))};class Y extends Date{addZeros(e="/"){return I(this.formatDate(),e)}formatDate(e="y:m:d",t="/"){return K(this,e,t)}getWordDay(){return Z[this.getDay()]}getWordMonth(){return q[this.getMonth()]}getElapsedDays(e){return L(this,e)}getElapsedHours(e){return Q(this,e)}getElapsedMinutes(e){return R(this,e)}getElapsedSeconds(e){return U(this,e)}getElapsedMs(e){return V(this,e)}getElapsedString(e,t="about"){return X(this,e,t)}}return e.DatePlus=Y,e.addZeros=I,e.daysReference=Z,e.daysToHours=x,e.daysToHrs=w,e.daysToMins=j,e.daysToMinutes=k,e.daysToMs=e=>24*e*60*60*1e3,e.daysToSeconds=_,e.daysToSecs=T,e.default=Y,e.formatDate=K,e.getDateValues=(e,t="y:m:d",s="auto")=>{let r="/";if("auto"===s){for(const t of e)if(isNaN(Number(t))){r=t;break}}else r=s;const a=e.split(r),n=t.split(":"),u={};for(let e=0;e<3;e++){u[G[n[e]]]=Number(a[e])}return u},e.getElapsedDays=L,e.getElapsedHours=Q,e.getElapsedMinutes=R,e.getElapsedMs=V,e.getElapsedSeconds=U,e.getElapsedString=X,e.getUtcTime=()=>{const e=new Date;return Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds())},e.getWordDay=e=>Z[e],e.getWordMonth=e=>q[e],e.hoursToDays=O,e.hoursToMinutes=F,e.hoursToMs=v,e.hoursToSeconds=W,e.hrsToDays=H,e.hrsToMins=A,e.hrsToMs=P,e.hrsToSecs=J,e.minsToDays=S,e.minsToHrs=f,e.minsToMs=l,e.minsToSecs=D,e.minutesToDays=N,e.minutesToHours=E,e.minutesToMs=b,e.minutesToSeconds=p,e.monthsReference=q,e.msToDays=o,e.msToHours=u,e.msToHrs=n,e.msToMins=r,e.msToMinutes=a,e.msToSeconds=s,e.msToSecs=t,e.oneDay=C,e.oneHour=B,e.oneMinute=z,e.secondsToDays=g,e.secondsToHours=m,e.secondsToMinutes=i,e.secondsToMs=h,e.secsToDays=M,e.secsToHrs=y,e.secsToMins=c,e.secsToMs=d,e.utcToLocal=e=>{const t=e.constructor(e.getTime());return t.setMinutes(e.getMinutes()-e.getTimezoneOffset()),t},e.values={hrsPerDay:24,minsPerHr:60,secsPerMin:60,msPerSec:1e3},Object.defineProperty(e,"t",{value:!0}),e}({}); //# sourceMappingURL=dateplus.min.js.map