无限获取当前周的上周,下周,以及当前周的日期

//获取当前周日期
export const getWeekDay = (dateString) => {
  const dateStringReg = /^\d{4}[/-]\d{0,2}[/-]\d{0,2}$/

  if (dateString.match(dateStringReg)) {
    const presentDate = new Date(dateString)
    const today = presentDate.getDay() !== 0 ? presentDate.getDay() : 7

    return Array.from(new Array(7), function (val, index) {
      return formatDate(new Date(presentDate.getTime() - (today - index - 1) * 24 * 60 * 60 * 1000))
    })
  } else {
    throw new Error('dateString should be like "yyyy-mm-dd" or "yyyy/mm/dd"')
  }

  function formatDate (date) {
    return dateFormat(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(), 'YYYY-MM-DD')
  }
}
/**
 * 获取当前周
 * @param {*} week
 * return {moment.moment}
 */
// 当前周
export function startsWeek (week) {
  if (!week) return
  return moment().startOf('week')
}

export function endWeek (week) {
  if (!week) return
  return moment().endOf('week')
}

/**
 * 获取上周
 * @param {*} week
 * return {moment.moment}
 */
// 上周开始结束
export function lastweekStarts (week, current) {
  if (!week) return
  return moment().startOf('week').subtract('week', current)

}

export function lastweekEnd (week, current) {
  if (!week) return
  return moment().endOf('week').subtract('week', current)
}

/**
 * 获取下周
 * @param {*} week
 * return {moment.moment}
 */
// 下周开始结束
export function goweekStarts (week, current) {
  if (!week) return
  return moment().startOf('week').subtract('week', current)
  
}

export function goweekEnd (week, current) {
  if (!week) return
  return moment().endOf('week').subtract('week', current)
}

引用

//下周
goWeek () {
      this.currentWeek -= 1
      console.log(this.currentWeek)
      this.startsWeek = dateFormat(goweekStarts('week', this.currentWeek))
      this.endWeek = dateFormat(goweekEnd('week', this.currentWeek))
      this.weeks = getWeekDay(this.startsWeek)
      this.getTaskList()
    },
//上周
laskWeek () {
      this.currentWeek += 1
      console.log(this.currentWeek)
      this.startsWeek = dateFormat(lastweekStarts('week', this.currentWeek))
      this.endWeek = dateFormat(lastweekEnd('week', this.currentWeek))
      this.weeks = getWeekDay(this.startsWeek)
      console.log(this.weeks, 'zhouyizhouyi')
      this.getTaskList()
    },
//本周

startsWeek: dateFormat(startsWeek('week')),   
 endWeek: dateFormat(endWeek('week')),
 //当前周日期
 this.weeks = getWeekDay(this.startsWeek)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值