sav*_*ger 107 javascript momentjs
我正在创建一个日历,我以表格格式打印周.一个要求是,我可以根据某些用户选项在周一或周日开始这几周.我很难使用moment的isoWeekday方法.
// Start of some date range. Can be any day of the week.
var startOfPeriod = moment("2013-06-23T00:00:00"),
// We begin on the start of the first week.
// Mon Tues Wed Thur Fri Sat Sun
// 20 21 22 23 24 25 26
begin = moment(startOfPeriod).isoWeekday(1); // will pull from user setting
console.log(begin.isoWeekday()); // 1 - all good
// Let's get the beginning of this first week, respecting the isoWeekday
begin.startOf('week');
console.log(begin.isoWeekday()); // 7 - what happened ???
// Get column headers
for (var i=0; i<7; i++) {
console.log(begin.format('ddd')); // I want Monday first!
begin.add('d', 1);
}
Run Code Online (Sandbox Code Playgroud)
编辑我误解了isoWeekday实际在做什么.我认为它设置了"一周中的哪一天是一周的第一天"变量(不存在).它实际上只是改变星期几moment.weekday(),但是使用1-7范围而不是0-6.
tet*_*tri 218
尝试使用begin.startOf('isoWeek');而不是begin.startOf('week');
let*_*ves 10
startOf之前打电话isoWeekday.
var begin = moment(date).startOf('week').isoWeekday(1);
Run Code Online (Sandbox Code Playgroud)
小智 5
这样,您可以设置一周的第一天。
moment.locale('en', {
week: {
dow: 6
}
});
moment.locale('en');
Run Code Online (Sandbox Code Playgroud)
确保使用它moment().weekday(1);而不是moment.isoWeekday(1)
| 归档时间: |
|
| 查看次数: |
109346 次 |
| 最近记录: |