js 时间处理,最近几天,几个月

https://www.cnblogs.com/carekee/articles/1678041.html
关于时间戳与时间日期之间的转换,文章信息量全面。可以研究一下

最近7天,15天 ,30天,6个月,12个月,36个月

let data = new Date().getTime()
    // 昨天日期
    let ms = 24 * 3600 * 1000
// num < 3 表示的是最近几天,等于3表示 最近今个月
// type =1 表示 最近7天、最近6个月
// type =2 表示 最近15天、最近12个月
// type =3 表示 最近30天、最近36个月
    if (num < 3) {
      params.endDate = moment(data).format('YYYY-MM-DD')
      if (type === 1) {
        params.startDate = moment(data - 7 * ms).format('YYYY-MM-DD')
      }
      if (type === 2) {
        params.startDate = moment(data - 15 * ms).format('YYYY-MM-DD')
      }
      if (type === 3) {
        params.startDate = moment(data - 35 * ms).format('YYYY-MM-DD')
      }
    } else {
      let nowMouth = moment(data).format('YYYY-MM')
      let numMouth = nowMouth.split('-').map(value => Number(value))
      numMouth[1]--
      if (numMouth[1] === 0) {
        numMouth[0]--
        numMouth[1] = 12
      }
      if (numMouth[1] < 10) {
        numMouth[1] = ('0' + numMouth[1].toString())
      }
      params.endDate = numMouth.join('-')
      numMouth[1] = Number(numMouth[1])
      if (type === 1) {
        if (numMouth[1] >= 6) {
          numMouth[1] = numMouth[1] - 5
        } else {
          numMouth[1] = 7 + numMouth[1]
          numMouth[0]--
        }
        if (numMouth[1] < 10) {
          numMouth[1] = ('0' + numMouth[1].toString())
        }
        params.startDate = numMouth.join('-')
      }
      if (type === 2) {
        if (numMouth[1] < 12) {
          numMouth[0]--
          numMouth[1]++
        } else {
          numMouth[1] = 1
        }
        if (numMouth[1] < 10) {
          numMouth[1] = ('0' + numMouth[1].toString())
        }
        params.startDate = numMouth.join('-')
      }
      if (type === 3) {
        if (numMouth[1] < 12) {
          numMouth[0] = numMouth[0] - 2
          numMouth[1]++
        } else {
          numMouth[0] = numMouth[0] - 1
          numMouth[1] = 1
        }
        if (numMouth[1] < 10) {
          numMouth[1] = ('0' + numMouth[1].toString())
        }
        params.startDate = numMouth.join('-')
      }
    }

使用moment.js 实现上述功能

if (num === 3) {
      if (type < 4) {
        params.endDate = moment().subtract(1, 'months').format('YYYY-MM')
        if (type === 1) {
          params.startDate = moment().subtract(6, 'months').format('YYYY-MM')
        }
        if (type === 2) {
          params.startDate = moment().subtract(12, 'months').format('YYYY-MM')
        }
        if (type === 3) {
          params.startDate = moment().subtract(36, 'months').format('YYYY-MM')
        }
      }
    } else {
      if (type < 4) {
        params.endDate = moment().subtract(1, 'day').format('YYYY-MM-DD')
        if (type === 1) {
          params.startDate = moment().subtract(7, 'day').format('YYYY-MM-DD')
        }
        if (type === 2) {
          params.startDate = moment().subtract(15, 'day').format('YYYY-MM-DD')
        }
        if (type === 3) {
          params.startDate = moment().subtract(30, 'day').format('YYYY-MM-DD')
        }
      }
    }

你可能感兴趣的:(js 时间处理,最近几天,几个月)