Maison > Questions et réponses > le corps du texte
Veuillez me donner une bonne pratique. Je ne connais pas le moment (je regarde l'API depuis un jour et je comprends les bases, je ne veux pas prendre le mauvais chemin, alors je le ferais). J'aimerais vous donner la structure de données finale. Par exemple, [[26,27,28, 1,2,3,4], [], [], ...]
.
Merci, pouah haha
大家讲道理2017-05-19 10:26:49
Il ne semble y avoir aucune méthode pour générer directement un calendrier dans l'API moment.js
monthDay(date) {
const daysArr = [[], [], [], [], [], []]; // 6*7的日历数组
const currentWeekday = moment(date).date(1).weekday(); // 获取当月1日为星期几
const lastMonthDays = moment(date).subtract(1, 'month').daysInMonth(); // 获取上月天数
const currentMonthDays = moment(date).daysInMonth(); // 获取当月天数
const getDay = day => (day <= lastMonthDays ? day : (day <= (lastMonthDays + currentMonthDays)) ? day - lastMonthDays : day - (lastMonthDays + currentMonthDays)); // 日期处理
for (let i = 0; i < 7; i += 1) {
let virtualDay = (lastMonthDays - currentWeekday) + i;
for (let j = 0; j < 6; j += 1) {
daysArr[j][i] = getDay(virtualDay + (j * 7));
}
}
console.table(daysArr);
}
...
monthDay(date); //date格式为moment能识别的格式
...
Idée générale :
Construire un tableau 6*7 joursArr
Obtenez le nombre de jours du mois précédent, le nombre de jours de ce mois et le jour de la semaine correspondant au premier de ce mois (0 signifie lundi)
Calculez ensuite la date correspondant à daysArr[0][0]
(le nombre de jours du mois précédent - la semaine correspondant au premier de ce mois)daysArr[0][0]
对应的日期(上月天数 - 本月一号对应的星期)
根据daysArr[0][0]
daysArr[0][0]
🎜🎜
🎜滿天的星座2017-05-19 10:26:49
Un tableau de dates unidimensionnel peut être considéré comme suit :
const dates = []
for(let i = 0; i < 42; i+=1) {
const startDate = moment('2017-05-20').date(1);
dates[i] = startDate.weekday(i).date();
};
console.log(dates);
ringa_lee2017-05-19 10:26:49
let result = [...Array(42).keys()].reduce((acc, val) => {
acc.push(moment().add(val, 'day').format('YYYY/MM/DD'));
return acc;
}, []);