首页 > 解决方案 > 在 JavaScript 日历上,月份从星期日开始,但星期从星期一开始

问题描述

我必须修改广泛使用的 javascript 代码,因此我不想重新创建整个日历代码。我需要从星期一开始一周,这实际上有效,除非该月从星期日开始(例如 2020 年 3 月)。以下代码(使用 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.

标签: javascriptcalendarweekday

解决方案


这就是我纠正它的方式。提醒:我们正在为每个月创建适当数量的空单元格。

                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);
                    }                       
                }

推荐阅读