获取每天、每周(获取当天的自然周)、每月、每月季度、每年最后一天的23:59:59

275 阅读1分钟
changeTime(info) {
  // 获取当天时间的23:59:59
  let date = new Date(
    new Date(
      new Date(new Date().toLocaleDateString()).getTime() +
        24 * 60 * 60 * 1000 -
        1
    )
  )
  const currentdate = this.$moment(date).format('YYYY-MM-DD-HH:mm:ss')
  let nowMonth = date.getMonth() //当前月
  let nowYear = date.getFullYear() //当前年
  let nowHours = date.getHours() //当前时
  let nowMinutes = date.getMinutes() //当前分
  let nowSeconds = date.getSeconds() //当前秒
  if (info === '0') {
    this.form.detectionClassification = currentdate //获取当天时间最后的235959
  } else if (info === '1') {
    let now = date
    let nowTime = now.getTime()
    let day = now.getDay()
    let oneDayTime = 24 * 60 * 60 * 1000
    let SundayTime = nowTime + (7 - day) * oneDayTime //显示周日
    this.form.detectionClassification = this.$moment(
      new Date(SundayTime)
    ).format('YYYY-MM-DD HH:mm:ss') //获取当前日期的自然周 周末的最后23:59:59 比如今天20210611 那么获取就是比如今天20210613 29:59:59
  } else if (info === '2') {
    // let now = date //当前日期

    //本月的结束时间
    let monthEndDate = new Date(
      nowYear,
      nowMonth + 1,
      0,
      nowHours,
      nowMinutes,
      nowSeconds
    )
    this.form.detectionClassification = this.$moment(
      new Date(monthEndDate)
    ).format('YYYY-MM-DD HH:mm:ss') //获取本月 最后一天的23:59:59
  } else if (info === '3') {
    let today = new Date()
    let quarter = Math.floor((today.getMonth() + 3) / 3)
    if (quarter === 1) {
      var day = new Date(year, 3, 0, nowHours, nowMinutes, nowSeconds)
      this.form.detectionClassification = this.$moment(
        new Date(day)
      ).format('YYYY-MM-DD HH:mm:ss')
    } else if (quarter === 2) {
      var day = new Date(nowYear, 6, 0, nowHours, nowMinutes, nowSeconds)
      console.log(day)
      this.form.detectionClassification = this.$moment(
        new Date(day)
      ).format('YYYY-MM-DD HH:mm:ss')
    } else if (quarter === 3) {
      var day = new Date(nowYear, 9, 0, nowHours, nowMinutes, nowSeconds)
      this.form.detectionClassification = this.$moment(
        new Date(day)
      ).format('YYYY-MM-DD HH:mm:ss')
    } else {
      var day = new Date(nowYear, 12, 0, nowHours, nowMinutes, nowSeconds)
      this.form.detectionClassification = this.$moment(
        new Date(day)
      ).format('YYYY-MM-DD HH:mm:ss') //获取当前月份所在的季度 月最后一天的23:59:59
    }
  } else {
    var day = new Date(nowYear, 12, 0, nowHours, nowMinutes, nowSeconds)
    console.log(day)
    this.form.detectionClassification = this.$moment(new Date(day)).format(
      'YYYY-MM-DD HH:mm:ss'//获取当前年年底最后一天的23:59:59
    )
  }
},