vue js获取最近1周、最近1个月、最近3个月的日期范围_获取近一月的时间

// 最近1周、最近1月、最近3个月 时分秒为00:00:00
// 明天的时间
var tomorrow = new Date()
tomorrow.setTime(tomorrow.getTime() + 24 * 60 * 60 * 1000)
var end = tomorrow
// 今天的时间
// var end = new Date()
var year = end.getFullYear()
var month = end.getMonth() + 1 // 0-11表示 1-12月
var day = end.getDate()
var dateObj = {}
dateObj.start = null
dateObj.end = year + '-' + month + '-' + day
var endMonthDay = new Date(year, month, 0).getDate() // 当前月的总天数

// 获取近一周日期范围
export function getLastWeekDate() {
  if (day - 7 <= 0) { // 如果在当月7日之前
    const startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate() // 1周前所在月的总天数
    if (month - 1 <= 0) { // 如果在当年的1月份
      dateObj.start = (year - 1) + '-' + 12 + '-' + (31 - (7 - day))
    } else {
      dateObj.start = year + '-' + (month - 1) + '-' + (startMonthDay - (7 - day))
    }
  } else {
    dateObj.start = year + '-' + month + '-' + (day - 7)
  }
  const lastWeekDate = [dateObj.start + ' ' + '00:00:00', dateObj.end + ' ' + '00:00:00']
  return lastWeekDate
}

// 获取近一个月日期范围
export function getLastMonthDate() {
  if (month - 1 <= 0) { // 如果是1月,年数往前推一年<br>
    dateObj.start = (year - 1) + '-' + 12 + '-' + day
  } else {
    const startMonthDay = new Date(year, (parseInt(month) - 1), 0).getDate()
    if (startMonthDay < day) { // 1个月前所在月的总天数小于现在的天日期
      if (day < endMonthDay) { // 当前天日期小于当前月总天数
        dateObj.start = year + '-' + (month - 1) + '-' + (startMonthDay - (endMonthDay - day))
      } else {
        dateObj.start = year + '-' + (month - 1) + '-' + startMonthDay
      }
    } else {
      dateObj.start = year + '-' + (month - 1) + '-' + day
    }
  }
  const newMonthDate = [dateObj.start + ' ' + '00:00:00', dateObj.end + ' ' + '00:00:00']
  return newMonthDate
}

// 获取近三个月日期范围
export function getLastThreeMonthDate() {
  if (month - 3 <= 0) { // 如果是1、2、3月,年数往前推一年
    const start3MonthDay = new Date((year - 1), (12 - (3 - parseInt(month))), 0).getDate() // 3个月前所在月的总天数
    if (start3MonthDay < day) { // 3个月前所在月的总天数小于现在的天日期
      dateObj.start = (year - 1) + '-' + (12 - (3 - month)) + '-' + start3MonthDay
    } else {
      dateObj.start = (year - 1) + '-' + (12 - (3 - month)) + '-' + day
    }
  } else {
    const start3MonthDay = new Date(year, (parseInt(month) - 3), 0).getDate() // 3个月前所在月的总天数
    if (start3MonthDay < day) { // 3个月前所在月的总天数小于现在的天日期
      if (day < endMonthDay) { // 当前天日期小于当前月总天数,2月份比较特殊的月份
        dateObj.start = year + '-' + (month - 3) + '-' + (start3MonthDay - (endMonthDay - day))
      } else {
        dateObj.start = year + '-' + (month - 3) + '-' + start3MonthDay
      }
    } else {
      dateObj.start = year + '-' + (month - 3) + '-' + day
    }
  }
  const newThreeMonthDate = [dateObj.start + ' ' + '00:00:00', dateObj.end + ' ' + '00:00:00']
  return newThreeMonthDate
}

二、vue页面使用的时候引入:

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值