星期一开始的星期日/ Vanilla JS /没有jQuery

时间:2015-11-03 21:00:03

标签: javascript date internationalization

我已经搜索了很多天如何创建一个日历(没有插件/库),周一开始周,并且周日开始工作几个月。在这里我的解决方案。

使用此天数标签:

var days_labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']; 

诀窍是当你定义一周的第一天(0是星期日)时,请使用:

var first_day = new Date(this.year, this.month, 1),
    first_day_weekday = first_day.getDay() == 0 ? 7 : first_day.getDay();

在人类语言中:如果first_day是星期日(0),请使用7,否则使用初始值。

有了这个,所有循环都是正确的,并且每个月都能完美运行。完整示例:http://codepen.io/jacknumber/pen/RWLyQW

毫无疑问,它是针对此问题的用户搜索帮助 感谢

(随意纠正我的英语:))

1 个答案:

答案 0 :(得分:1)

在代码中,您需要定义每周的工作日开始。与其他编程语言一样,Javascript在周日开始。要更改工作日订单,您可以使用新天订单定义数组。星期日返回零(数组中的 Mon ),因此将其设置为7(数组中的 Sun )。

长版:

var first_day = new Date(this.year, this.month, 1),
    first_day_weekday;
if (first_day.getDay() == 0) {
    first_day_weekday = 7;
} else {
    first_day_weekday = first_day.getDay();
}

简短版本:

var first_day = new Date(this.year, this.month, 1),
    first_day_weekday = first_day.getDay() == 0 ? 7 : first_day.getDay();