JavaScript 獲取今天、昨天、本周、本季度、本月、上月的開始日期、結(jié)束日期

上代碼:

  var now = new Date()
  var lastDay = new Date()
  lastDay.setDate(lastDay.getDate() - 1)
  var nowDayOfWeek = now.getDay()
  var nowDay = now.getDate()
  var nowMonth = now.getMonth()
  var nowYear = now.getYear()
  nowYear += (nowYear < 2000) ? 1900 : 0
  var lastMonthDate = new Date()
  lastMonthDate.setDate(1)
  lastMonthDate.setMonth(lastMonthDate.getMonth() - 1)
  var lastMonth = lastMonthDate.getMonth()
  function formatDate(date) {
    var myyear = date.getFullYear()
    var mymonth = date.getMonth() + 1
    var myweekday = date.getDate()
    if (mymonth < 10) {
      mymonth = '0' + mymonth
    }
    if (myweekday < 10) {
      myweekday = '0' + myweekday
    }
    return (myyear + '-' + mymonth + '-' + myweekday)
  }
  function getMonthDays(myMonth) {
    var monthStartDate = new Date(nowYear, myMonth, 1)
    var monthEndDate = new Date(nowYear, myMonth + 1, 1)
    var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24)
    return days
  }
  function getWeekStartDate() {
    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek)
    return formatDate(weekStartDate)
  }
  function getWeekEndDate() {
    var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek))
    return formatDate(weekEndDate)
  }
  function getLastWeekStartDate() {
    var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7)
    return formatDate(weekStartDate)
  }
  function getLastWeekEndDate() {
    var weekEndDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 1)
    return formatDate(weekEndDate)
  }
  function getMonthStartDate() {
    var monthStartDate = new Date(nowYear, nowMonth, 1)
    return formatDate(monthStartDate)
  }
  function getMonthEndDate() {
    var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth))
    return formatDate(monthEndDate)
  }
  function getLastMonthStartDate() {
    var lastMonthStartDate = new Date(nowYear, lastMonth, 1)
    return formatDate(lastMonthStartDate)
  }
  function getLastMonthEndDate() {
    var lastMonthEndDate = new Date(nowYear, lastMonth, getMonthDays(lastMonth))
    return formatDate(lastMonthEndDate)
  }

調(diào)用:

switch (val) {
          case '全程':
            this.date.start = ''
            this.date.end = ''
            break
          case '今日':
            this.date.start = formatDate(now)
            this.date.end = formatDate(now)
            break
          case '昨日':
            this.date.start = formatDate(lastDay)
            this.date.end = formatDate(lastDay)
            break
          case '本周':
            this.date.start = getWeekStartDate()
            this.date.end = getWeekEndDate()
            break
          case '上周':
            this.date.start = getLastWeekStartDate()
            this.date.end = getLastWeekEndDate()
            break
          case '本月':
            this.date.start = getMonthStartDate()
            this.date.end = getMonthEndDate()
            break
          case '上月':
            this.date.start = getLastMonthStartDate()
            this.date.end = getLastMonthEndDate()
            break
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容