• 获取前一周期日期


    // 同环比获取上一阶段日期处理
    export const getNextDate = (date: any, type?: any) => {
    if (!date) return;
    if (date.length === 8) {
     let newDate = date.slice(0,4)+'-'+date.slice(4);
    newDate = newDate.slice(0,7)+'-'+newDate.slice(7);
      const dd = new Date(newDate);
    let day = 0;
    if (type === 'WOW') {
    day = -7;
    } else if (type === 'DOD') {
    day = -1;
    }
      dd.setDate(dd.getDate() + day);
      let y = dd.getFullYear();
      let m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
      const d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
    if (type === 'MOM') {
     m = Number(m) - 1;
    if(m === 0) {
    m = 12;
    y = y - 1;
    }
    } else if (type === 'QOQ') {
     m = Number(m) - 3;
    if(m <= 0) {
    m = 12 + m;
    y = y - 1;
    }
    } else if (type === 'YOY') {
    y = y - 1;
    }
    return y + "-" + m + "-" + d;
    } else if (date.length === 6) {
    let y = date.slice(0,4);
    let z = date.slice(4);
    if (type === 'WOW') {
    z = Number(z) - 1;
    if(z === 0) {
    z=53;
    y = Number(y)-1;
    }
    } else if (type === 'YOY') {
    y = Number(y)-1;
    } else if (type === 'MOM') {
    z = Number(z) - 1;
    if(z === 0) {
    z = 12;
    y = Number(y)-1;
    }
    } else if (type === 'QOQ') {
    z = Number(z) - 1;
    if(z === 0) {
    z = 4;
    y = Number(y)-1;
    }
    }
    if (z < 10) {
    z = '0'+ z;
    }
    return `${y}${z}`
    }
    return `${Number(date)-1}`
    };
  • 相关阅读:
    ansible笔记(11):初识ansible playbook(二)
    Linux下查看占用CPU与内存最高的进程
    ansible笔记(10):初识ansible playbook
    AbpZero Http 模式下 Chrome浏览器因Cookie 不能登录
    Tomcat 8443&8080 并存
    接入腾讯cos文件存储
    安卓包打渠道标签
    java Android与PHP encode的区别
    thinkphp常用
    phalcon task任务
  • 原文地址:https://www.cnblogs.com/lipu12281/p/14251168.html
Copyright © 2020-2023  润新知