技术实践
Moment生成日历结构数据
简单实用的通过Moment生成日历结构数据,以及本周数据

获取本周数据
js
function weDateFormat() {
let data = []
let start = moment().startOf('weeks').format('YYYY-MM-DD');
for (let i = 0; i < 7; i++) {
let date: any = moment(start).add(i, 'day').format('YYYY/MM/DD')
let week: any = moment(start).add(i, 'day').format('ddd')
data.push({date, week})
}
console.table(data)
}

生成日历结构
js
function monthDay() {
const daysArr: Array<any> = [[], [], [], [], [], [], []]; // 6*7的日历数组
const currentWeekday = moment().date(1).weekday(); // 获取当月1日为星期几
const lastMonthDays = moment().subtract(1, 'month').daysInMonth(); // 获取上月天数
const currentMonthDays = moment().daysInMonth(); // 获取当月天数
const getDay = (day: any) => (day <= lastMonthDays ? day : (day <= (lastMonthDays + currentMonthDays)) ? day - lastMonthDays : day - (lastMonthDays + currentMonthDays)); // 日期处理
for (let i = 0; i < 7; i += 1) {
let virtualDay = (lastMonthDays - currentWeekday) + i + 1;
for (let j = 0; j < 7; j += 1) {
daysArr[j][i] = getDay(virtualDay + (j * 7))
}
}
console.table(daysArr)
}
