我已经搜索了很多天如何创建一个日历(没有插件/库),周一开始周,并且周日开始工作几个月。在这里我的解决方案。
使用此天数标签:
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
毫无疑问,它是针对此问题的用户搜索帮助 感谢
(随意纠正我的英语:))
答案 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();