需求: 給定一個日期,如: 2019-11-01, 獲取該日期所在的這一周的開始時間、結束時間(按周日~周六算)
當執行: this.getWeekStartAndEnd('')的時候, 默認回去的問今天所在一周的開始、結束日期,
執行:this.getWeekStartAndEnd('2019-11-01'), 會輸出 10.27~11.02
// 日期格式化
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 mymonth
+
"."
+ myweekday
},
// 獲取指定日期的那一周的開始、結束日期
getWeekStartAndEnd(
val) {
let now
=
'';
if(val) {
now
=
new
Date(val);
// 日期
}
else {
now
=
new
Date();
// 日期
}
let nowDayOfWeek
= now.
getDay();
// 本周的第幾天
let nowDay
= now.
getDate();
// 當前日
let nowMonth
= now.
getMonth();
// 當前月
let nowYear
= now.
getYear();
// 當前年
let weekStart
=
this.
getWeekStartDate(nowYear, nowMonth, nowDay, nowDayOfWeek)
let weekEnd
=
this.
getWeekEndDate(nowYear, nowMonth, nowDay, nowDayOfWeek)
this.weekFormat
= weekStart
+
'~'
+ weekEnd
console.
log(
this.weekFormat)
},
// 獲得某一周的開始日期
getWeekStartDate(
nowYear,
nowMonth,
nowDay,
nowDayOfWeek) {
let weekStartDate
=
new
Date(nowYear, nowMonth, nowDay
- nowDayOfWeek)
return
this.
formatDate(weekStartDate)
},
// 獲得某一周的結束日期
getWeekEndDate(
nowYear,
nowMonth,
nowDay,
nowDayOfWeek) {
let weekEndDate
=
new
Date(nowYear, nowMonth, nowDay
+ (
6
- nowDayOfWeek))
return
this.
formatDate(weekEndDate)
}