美文网首页
js 时间处理,最近几天,几个月

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

作者: 好名字_978d | 来源:发表于2019-01-11 10:21 被阅读7次

    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 时间处理,最近几天,几个月

          本文链接:https://www.haomeiwen.com/subject/ungvaftx.html