В календаре javascript месяц начинается с воскресенья, а недели начинаются с понедельника. - PullRequest
0 голосов
/ 21 марта 2020

Я должен изменить код в javascript, который широко используется, поэтому я не хотел бы воссоздавать весь код календаря. Мне нужно, чтобы неделя начиналась в понедельник, что действительно работает, за исключением случаев, когда месяц начинается в воскресенье (например, март 2020 года). Следующий код (с использованием getDay), очевидно, создает необходимое количество пустых ячеек.

                    for(let i=1; i<date.getDay(); i++)
                {
                    let cell = document.createElement('span');
                    cell.classList.add('cell');
                    cell.classList.add('empty');
                    this.content.appendChild(cell);
                }
I'm hoping there is a way to append this when the first day of the month is Sunday. Thanks.

1 Ответ

0 голосов
/ 21 марта 2020

Вот как я это исправил. Напоминание: мы создаем соответствующее количество пустых ячеек для каждого месяца.

                var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
                var firstDayWeek = firstDay.getDay();

                if (firstDayWeek > 0){
                    for(let i=1; i<date.getDay(); i++)
                    {
                        let cell = document.createElement('span');
                        cell.classList.add('cell');
                        cell.classList.add('empty');
                        this.content.appendChild(cell);
                    }
                } 

                else {
                    for(let i=0; i<6; i++)
                    {
                        let cell = document.createElement('span');
                        cell.classList.add('cell');
                        cell.classList.add('empty');
                        this.content.appendChild(cell);
                    }                       
                }
...