Я хочу определить первый день недели по заданной дате в Moment.js. Это мой код:Определить первый день недели по данной дате в момент js
var begin = moment("2015-08-15").startOf('week').isoWeekday(0);
console.log(begin);
var end = moment("2015-08-15").endOf('week').isoWeekday(0);
console.log(end);
Я получаю следующий вывод:
Object { _isAMomentObject: true, _i: "2015-08-15", _f: "YYYY-MM-DD", _isUTC: false, _pf: Object, _locale: Object, _d: Date 2015-08-01T22:00:00.000Z }
Object { _isAMomentObject: true, _i: "2015-08-15", _f: "YYYY-MM-DD", _isUTC: false, _pf: Object, _locale: Object, _d: Date 2015-08-09T21:59:59.999Z }
Согласно документации местного является «ан» по умолчанию, и это будет означать, что первый день недели воскресенье. По моему мнению, правильный результат должен быть:
begin = 2015-08-09
end = 2015-08-15
Когда я изменил isoWeekday
от «0» до «1» результат выглядит следующим образом:
Object { _isAMomentObject: true, _i: "2015-08-15", _f: "YYYY-MM-DD", _isUTC: false, _pf: Object, _locale: Object, _d: Date 2015-08-02T22:00:00.000Z }
Object { _isAMomentObject: true, _i: "2015-08-15", _f: "YYYY-MM-DD", _isUTC: false, _pf: Object, _locale: Object, _d: Date 2015-08-10T21:59:59.999Z }
Это тоже неправильно. Правильный ответ будет:
begin = 2015-08-10
end = 2015-08-16
Я не думаю, что это локальная вещь, но еще мнение или религиозная вещь, чтобы начать неделю в воскресенье , – putvande
Вы говорите, что у momentjs есть это неправильно? Если да, то на что мы пытаемся ответить здесь? – Jamiec
Я думаю, вам нужно сделать 'startOf ('isoweek')' вместо 'startOf ('week')' – putvande