getStartEndDate (dayLength) {
let arr = []
const startDate = '2018-02-1'
const startYear = Number(startDate.slice(0, 4))
const startMonth = Number(startDate.slice(5, 7))
const startDay = Number(startDate.slice(8, 10))
console.log('开始:', startYear, startMonth, startDay)
let thisMonthDay = new Date(startYear, startMonth, 0).getDate()
let thisRemainDay = new Date(startYear, startMonth, 0).getDate() - startDay
let nextMonthDay = 31 - thisRemainDay
if (startDay > 3) {
console.log(startDay - 3, thisMonthDay, nextMonthDay)
if (startMonth === 1 && startDay > 28) {
let once = true
for (let i = startDay - 3; i <= thisMonthDay + nextMonthDay; i++) {
let j = i % thisMonthDay
if (i % thisMonthDay === 0) {
j = thisMonthDay
once = !once
if (!once) {
thisMonthDay = new Date(startYear, 2, 0).getDate()
i = i - 3
}
}
arr.push(j)
}
} else {
for (let i = startDay - 3; i <= thisMonthDay + nextMonthDay; i++) {
let j = i % thisMonthDay
if (i % thisMonthDay === 0) {
j = thisMonthDay
}
arr.push(j)
}
}
} else {
const beforeMonthDate = new Date(startYear, startMonth - 1, 0).getDate()
console.log(beforeMonthDate, beforeMonthDate - (4 - startDay))
for (let i = beforeMonthDate; i > beforeMonthDate - (4 - startDay); i--) {
arr.unshift(i)
}
for (let j = 1; j <= dayLength - (4 - startDay); j++) {
let i = j % thisMonthDay
if (j % thisMonthDay === 0) {
i = thisMonthDay
}
arr.push(i)
}
}
console.log(arr)
}
console