JavaScript 获取今天、昨天、本周、本季度、本月、上月的

2019-04-23  本文已影响0人  fourn熊能

上代码:

  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)
  }

调用:

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
}
上一篇下一篇

猜你喜欢

热点阅读