//获取当前周日期
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)