侧边栏壁纸
博主头像
银河小徐博主等级

A Good Boy ⛵️⛵️⛵️

  • 累计撰写 42 篇文章
  • 累计创建 39 个标签
  • 累计收到 10 条评论

目 录CONTENT

文章目录
Vue

Vue获取指定日期的那一周的开始、结束日期(从周日~周六)

银河小徐
2021-08-26 / 0 评论 / 10 点赞 / 47 阅读 / 1,092 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-06-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

需求:给定一个日期,如: 2020-07-06,获取该日期所在的这一周的开始时间、结束时间(按周日~周六算)

代码如下:

// 获取指定日期的那一周的开始、结束日期
export function getWeekStartAndEnd(val) {
  let now
  if (val) {
    now = new Date(val)
  } else {
    now = new Date()
  }
  const nowDayOfWeek = now.getDay() // 本周的第几天
  const nowDay = now.getDate() // 当前日
  const nowMonth = now.getMonth() // 当前月
  const nowYear = now.getFullYear() // 当前年
  const weekStart = getWeekStartDate(nowYear, nowMonth, nowDay, nowDayOfWeek)
  const weekEnd = getWeekEndDate(nowYear, nowMonth, nowDay, nowDayOfWeek)
  console.log(weekStart + ',' + weekEnd)
  return weekStart + ',' + weekEnd
}

// 获得某一周的开始日期
export function getWeekStartDate(nowYear, nowMonth, nowDay, nowDayOfWeek) {
  const weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek)
  return formatDate(weekStartDate)
}

// 获得某一周的结束日期
export function getWeekEndDate(nowYear, nowMonth, nowDay, nowDayOfWeek) {
  const weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek))
  return formatDate(weekEndDate)
}

// 日期格式化
export 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
}
10

评论区