Я создал календарь console.log через узел js с использованием механизма момента.Моя проблема заключается в применении подкладки специально в первый день месяца, чтобы он соответствовал его дню.Например, если у них первый день - четверг, я бы хотел, чтобы первый день (1) начинался в четверг, а затем прерывался после субботы.Наконец, он прерывался и продолжал цикл, чтобы разбить строку через каждые 7 дней.
На данный момент мой Календарь действительно запускается с первого дня и прерывается правильно, но первый день (1) всегда включенВоскресенье из-за моего непонимания о том, как набить первый номер.Еще одна вещь, на которую стоит обратить внимание, это то, что мой календарь сейчас показывает только 7, но это потому, что я знаю, как делать правильные отступы / разрывы строк после первой строки.
let days = moment.weekdays().join(' ');
// Array of months
let theMonths = moment.monthsShort();
// Creation of each month
for (i = 0; i < theMonths.length; i++) {
// Assigns each month to a variable to call moment functions
var eachMonth = moment().month(theMonths[i]);
// Creates calendar for each month
console.log("-------" + theMonths[i] + "------");
console.log(days);
console.log(monthDays(eachMonth))
}
// this function handles creating all days of each month
function monthDays(month) {
let display = '';
for (x = 1; x <= month.daysInMonth(); x++) {
if (x <= 7) {
var holder = moment.weekdays().length;
// subtracting the length of the week from the starting day of each month
var firstLine = holder - month.weekday();
// will break line based on first day
if (x == firstLine) {
display += " " + x + "\n";
} else {
// padding for each number after(if neccesary) line break
display += _.pad(x + " ", 8);
}
}
}
console.log(display)
}
Ожидаемые результаты:
Oct has: 31 days the first day is: 2
-------Oct------
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1 2 3 4 5
6 7 etc.
Фактические результаты:
Oct has: 31 days the first day is: 2
-------Oct------
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
1 2 3 4 5
6 7 etc.