zoukankan      html  css  js  c++  java
  • 获取前一周期日期

    // 同环比获取上一阶段日期处理
    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}`
    };
  • 相关阅读:
    python常用包官网及包的安装方法
    二进制安装mysql-5.7.26
    ufw防火墙规则不生效
    Zabbix 3.0 配置企业微信报警(配置zabbix-web)
    Zabbix 3.0 配置企业微信报警(注册---测试)
    阿里云盾AliYunDun服务IO超高
    zabbix详解
    ntp时间同步
    zabbix解决中文乱码
    ssh登录服务器提示错误no hostkey alg
  • 原文地址:https://www.cnblogs.com/lipu12281/p/14251168.html
Copyright © 2011-2022 走看看