2 lines
1.6 KiB
Plaintext
2 lines
1.6 KiB
Plaintext
function w(l,n="yyyy-MM-dd hh:mm:ss"){const t=new Date(l),e={"M+":t.getMonth()+1,"d+":t.getDate(),"h+":t.getHours(),"m+":t.getMinutes(),"s+":t.getSeconds(),"q+":Math.floor((t.getMonth()+3)/3),S:t.getMilliseconds()};/(y+)/.test(n)&&(n=n.replace(RegExp.$1,`${t.getFullYear()}`.substr(4-RegExp.$1.length)));for(const a in e)new RegExp(`(${a})`).test(n)&&(n=n.replace(RegExp.$1,RegExp.$1.length===1?e[a]:`00${e[a]}`.substr(`${e[a]}`.length)));return n}function S(l,n){const t=new Date;let e,a;const p=t.getDate();if(!l&&!n){e=new Date(t.getFullYear(),t.getMonth()-11,p),a=t;const o=[],g=2;for(let r=0;r<=11;r++){const h=new Date(t.getFullYear(),t.getMonth()-r,p);o.push(h.toISOString().slice(0,7))}const s=[];for(let r=o.length-1;r>=0;r--)s.push(o[r]);return{type:g,list:s}}else e=new Date(l),a=new Date(n);const D=a.getTime()-e.getTime(),y=24*60*60*1e3,i=Math.floor(D/y);if(i<15){const o=[];for(let s=0;s<=i;s++){const r=new Date(e.getTime()+s*y);o.push(r.toISOString().split("T")[0])}return{type:3,list:o}}else if(i<=365){const o=[],s=e.getFullYear(),r=a.getFullYear(),h=e.getMonth(),f=a.getMonth();for(let c=s;c<=r;c++){const M=c===s?h:0,d=c===r?f:11;for(let u=M;u<=d;u++)o.push(`${c}-${String(u+1).padStart(2,"0")}`)}return console.log(o),{type:2,list:o}}else{const o=[];for(let s=e.getFullYear();s<=a.getFullYear();s++)o.push(s.toString());return{type:1,list:o}}}function Y(){const l=new Date,n=[];for(let t=0;t<5;t++){const e=new Date(l.getFullYear(),l.getMonth()-(t+2),1);n.push(e.toLocaleString("default",{month:"long",year:"numeric"}))}return n.reverse()}export{S as c,w as f,Y as g};
|