timeUtil.wwvjgelv.js 2.8 KB

12
  1. let e={getDateObject:function(e){if(!e)return"";let t;return"string"!=typeof e||isNaN(e)||(e=Number(e)),"number"==typeof e?(10===e.toString().length&&(e*=1e3),t=new Date(e)):"object"==typeof e&&(t=new Date(e.getTime())),t},timeFormat:function(t,n="yyyy-MM-dd hh:mm:ss"){try{if(!t)return"";let a=e.getDateObject(t),g={"M+":a.getMonth()+1,"d+":a.getDate(),"h+":a.getHours(),"m+":a.getMinutes(),"s+":a.getSeconds(),"q+":Math.floor((a.getMonth()+3)/3),S:a.getMilliseconds()};/(y+)/.test(n)&&(n=n.replace(RegExp.$1,(a.getFullYear()+"").substr(4-RegExp.$1.length)));for(let e in g)new RegExp("("+e+")").test(n)&&(n=n.replace(RegExp.$1,1==RegExp.$1.length?g[e]:("00"+g[e]).substr((""+g[e]).length)));return n}catch(a){return time}},getDateInfo:function(t=new Date){let n=e.getDateObject(t),a=n.getFullYear()+"",g=n.getMonth()+1<10?"0"+(n.getMonth()+1):n.getMonth()+1,o=n.getDate()<10?"0"+n.getDate():n.getDate(),r=n.getHours()<10?"0"+n.getHours():n.getHours(),i=n.getMinutes()<10?"0"+n.getMinutes():n.getMinutes(),m=n.getSeconds()<10?"0"+n.getSeconds():n.getSeconds(),s=n.getMilliseconds(),D=n.getDay(),h=Math.floor((n.getMonth()+3)/3);return{year:Number(a),month:Number(g),day:Number(o),hour:Number(r),minute:Number(i),second:Number(m),millisecond:Number(s),week:Number(D),quarter:Number(h)}},getOffsetStartAndEnd:function(t="day",n=0,a=new Date){let g,o,r=e.getDateObject(a);if("hour"===t){let t=36e5,a=e.getDateInfo(new Date(r.getTime()+1*t*n));g=new Date(`${a.year}/${a.month}/${a.day} ${a.hour}:00:00`).getTime(),o=new Date(`${a.year}/${a.month}/${a.day} ${a.hour}:00:00`).getTime()+(t-1)}else if("day"===t){let t=864e5,a=e.getDateInfo(new Date(r.getTime()+1*t*n));g=new Date(`${a.year}/${a.month}/${a.day}`).getTime(),o=new Date(`${a.year}/${a.month}/${a.day}`).getTime()+(t-1)}else if("week"===t){r.setDate(r.getDate()-r.getDay()+1+7*n);let t=e.getDateInfo(r);r.setDate(r.getDate()+7);let a=e.getDateInfo(r);g=new Date(`${t.year}/${t.month}/${t.day}`).getTime(),o=new Date(`${a.year}/${a.month}/${a.day}`).getTime()-1}else if("month"===t){let t=e.getDateInfo(r),a=t.month+n,i=t.year;a>12?(i+=Math.floor(a/12),a=Math.abs(a)%12):a<=0&&(i=i-1-Math.floor(Math.abs(a)/12),a=12-Math.abs(a)%12);let m=new Date(i,a,0).getDate();g=new Date(`${i}/${a}/1`).getTime(),o=new Date(`${i}/${a}/${m}`).getTime()+86399999}else if("quarter"===t){r.setMonth(r.getMonth()+3*n);let t=e.getDateInfo(r).month;[1,2,3].indexOf(t)>-1?t=1:[4,5,6].indexOf(t)>-1?t=4:[7,8,9].indexOf(t)>-1?t=7:[10,11,12].indexOf(t)>-1&&(t=10),r.setMonth(t-1);let a=e.getDateInfo(r);r.setMonth(r.getMonth()+3);let i=e.getDateInfo(r);g=new Date(`${a.year}/${a.month}/1`).getTime(),o=new Date(`${i.year}/${i.month}/1`).getTime()-1}else if("year"===t){let t=e.getDateInfo(r).year+n;g=new Date(`${t}/1/1`).getTime(),o=new Date(`${t}/12/31`).getTime()+86399999}return{startTime:g,endTime:o}}};export{e as t};