formatDig (num) {
return num > 9 ? '' + num : '0' + num
},
formatDate (mill) {
var y = new Date(mill)
let raws = [
y.getFullYear(),
this.formatDig(y.getMonth() + 1),
this.formatDig(y.getDate()),
y.getDay() || 7
];
let format = ['年', '月', '日 星期']
return String.raw({ raw: raws }, ...format)
},
*createWeeks (startday, endday) {
const ONE_DAY = 24 * 3600 * 1000
let start = startday,
end = endday
let firstDay = start.getDay() || 7,
lastDay = end.getDay() || 7
let startTime =+ start,
endTime = startTime + (7 - firstDay) * ONE_DAY,
_endTime = end - (7 - lastDay) * ONE_DAY
yield [startTime, endTime]
startTime = endTime + ONE_DAY
endTime = endTime + 7 * ONE_DAY
while (endTime < _endTime) {
yield [startTime, endTime]
startTime = endTime + ONE_DAY
endTime = endTime + 7 * ONE_DAY
}
yield [startTime, +end]
},
getyearweekdate () {
let index = 1
for (let i of this.createWeeks(new Date(2018, 0, 1), new Date(2019, 0, 1))) {
let start = i[0],
end = i[1]
console.log(`第${this.formatDig(index++)}周 ${this.formatDate(start)}-${this.formatDate(end)}`)
}
},