JS获取今天,昨天,最近7天,最近30天,明天,后天等通用方法

// 时间转换
function timeForMat(count) {
  // 拼接时间
  const time1 = new Date()
  const time2 = new Date()
  if (count === 1) {
    time1.setTime(time1.getTime() - (24 * 60 * 60 * 1000))
  } else {
    if (count >= 0) {
      time1.setTime(time1.getTime())
    } else {
      if (count === -2) {
        time1.setTime(time1.getTime() + (24 * 60 * 60 * 1000) * 2)
      } else {
        time1.setTime(time1.getTime() + (24 * 60 * 60 * 1000))
      }
    }
  }

  const Y1 = time1.getFullYear()
  const M1 = ((time1.getMonth() + 1) > 9 ? (time1.getMonth() + 1) : '0' + (time1.getMonth() + 1))
  const D1 = (time1.getDate() > 9 ? time1.getDate() : '0' + time1.getDate())
  const timer1 = Y1 + '-' + M1 + '-' + D1 + ' ' + '23:59:59' // 当前时间

  time2.setTime(time2.getTime() - (24 * 60 * 60 * 1000 * count))
  const Y2 = time2.getFullYear()
  const M2 = ((time2.getMonth() + 1) > 9 ? (time2.getMonth() + 1) : '0' + (time2.getMonth() + 1))
  const D2 = (time2.getDate() > 9 ? time2.getDate() : '0' + time2.getDate())
  const timer2 = Y2 + '-' + M2 + '-' + D2 + ' ' + '00:00:00' // 之前的7天或者30天
  return [timer2, timer1]
}

function days(num) {
  const timer = timeForMat(num)
  return timer
}

function thirtyDays() {
  // 获取最近30天
  const timer = timeForMat(30)
  return timer
}

// 获取最近7天
function sevenDays() {
  // 获取最近7天
  const timer = this.timeForMat(7)
  return timer
}

function yesterday() {
  // 校验是不是选择的昨天
  const timer = this.timeForMat(1)
  return timer
}

function today() {
  const timer = this.timeForMat(0)
  return timer
}

function tomorrow() {
  const timer = this.timeForMat(-1)
  return timer
}

function theDayAfterTomorrow() {
  const timer = this.timeForMat(-2)
  return timer
}

console.log('今天==>', today())
console.log('昨天==>', yesterday())
console.log('最近7天==>', sevenDays())
console.log('最近30天==>', thirtyDays())
var num = 20
console.log('获取最近' + num + '天', days(num))
console.log('明天==>', tomorrow())
console.log('后天==>', theDayAfterTomorrow())

你可能感兴趣的:(前端)