Кто-то может описать меня, почему moment("2017-12-31").weeks()
возвращает 1.момент JS получить номер недели года
Но если я пишу moment("2017-12-30").weeks()
возвращает 52?
Кто-то может описать меня, почему moment("2017-12-31").weeks()
возвращает 1.момент JS получить номер недели года
Но если я пишу moment("2017-12-30").weeks()
возвращает 52?
Из документов:
Поскольку разные локали определяет неделю года нумерации по-разному, Moment.js добавлен момент # неделю, чтобы получить/установить локализованную неделю года.
С 31.12 является воскресеньем, похоже, что недели в вашей стране начинаются в воскресенье.
Потому что 31-й приходится на первую неделю следующего года, следовательно 1
; 31
st - воскресенье.
Из moment.js документации:
Недели года меняется в зависимости от какого дня это первый день недели (воскресенье, понедельник и т.д.), и который неделей в первой неделе из год.
Например, в Соединенных Штатах воскресенье - первый день недели. Неделя с 1 января в нем - первая неделя года.
Во Франции понедельник - первый день недели, а неделя с 4 января - первая неделя года.
Так что, если у вас возникли проблемы с получением правой недели использования номера .isoWeek()
$(document).ready(function(){
var weeknumber = moment("11-26-2016", "MMDDYYYY").week();
alert(weeknumber);
});
$(document).ready(function(){
var weeknumber = moment("11-26-2016", "MMDDYYYY").isoWeek();
alert(weeknumber);
});
Это будет работать для вас