将一周的开始更改为星期一

Change start of the week to Monday

我正在尝试关注 this tutorial

它建立一个日历,星期日是一周的第一天。 老实说,我并不完全理解它是如何工作的。我无法理解的是如何让它显示一个日历,其中一周从星期一开始,而不是星期日。 我认为问题出在这一行的某处:

date = this.state.month.clone().startOf("month").add("w" - 1).day(0),

我试过 day(1),然后它从星期一开始构建周数, 但如果该月的第一天是星期日,那么它会在上个月的屏幕上保留这一天,从第二天开始显示当前日期:

我该怎么做?

我至少可以使用

正确渲染当前月份
date = this.state.month.clone().startOf("month").add("w" -1).day(1),

如您所述,以及重新排列星期几标签

var DayNames = React.createClass({
    render: function() {
        return <div className="week names">
            <span className="day">Mon</span>
            <span className="day">Tue</span>
            <span className="day">Wed</span>
            <span className="day">Thu</span>
            <span className="day">Fri</span>
            <span className="day">Sat</span>
            <span className="day">Sun</span>
            </div>;
    }
});

Fiddle: https://jsfiddle.net/yy33bmze/3/

好的,我明白了。 与其尝试将明确的一天作为一周的开始,不如使用 startOf('isoWeek')。 所以而不是

date = this.state.month.clone().startOf("month").add("w" - 1).day(0),

我做到了:

date = this.state.month.clone().startOf("month").add("w"-1).startOf('isoWeek'),

现在看起来不错: