Как я могу получить с момента JS номер недели из даты в прошлом только из объекта, отформатированного в момент, из выбранного дня?
Moment.js получает номер недели на основе определенного дня (также прошлых лет)
Ответы (3)
$(document).ready(function(){
var weeknumber = moment("12-25-1995", "MM-DD-YYYY").week();
console.log(weeknumber);
});
Согласно документам momentjs:
Поскольку разные языковые стандарты определяют нумерацию недель по-разному, Moment.js добавил момент # неделя, чтобы получить / установить локализованную неделю года.
Неделя в году меняется в зависимости от того, какой день является первым днем недели (воскресенье, понедельник и т. Д.), И какая неделя является первой неделей года.
Например, в США воскресенье - первый день недели. Неделя с 1 января - первая неделя года.
Итак, если у вас возникли проблемы с получением правильного номера недели, используйте .isoWeek ()
$(document).ready(function(){
var weeknumber = moment("11-26-2016", "MMDDYYYY").isoWeek();
alert(weeknumber);
});
moment().format('w')
, moment().week()
, moment().isoWeek()
и т. Д.), вы должны знать, что они дадут вам точный номер недели. Так, например, дата moment('2018-12-31').format('w')
вернет 1
, потому что это понедельник первой недели 2019 года. Это последний день 2018 года, но не на неделе 2018 года.
- person Oliver Sosa; 02.01.2019
Вы также можете использовать format()
Примеры:
moment().format('w') // as .week() like '1'
moment().format('W') // as .isoWeek() like '1'
moment().format('ww') // as .week() (2 digits) like '01'
moment().format('WW') // as .isoWeek() (2 digits) like '01'
Дата недели ISO: https://en.wikipedia.org/wiki/ISO_week_date < / em>
Дополнительная информация: https://momentjs.com/docs/#week-year-week-and-weekday-tokens
GGGG
или GG
дает год iso, соответствующий этой неделе
- person Simon_Weaver; 30.12.2019
Monday 12/30/19
) фактически является частью первой недели ISO 2020 года, и поэтому, если вы используете WW yyyy
, а не WW GGGG
, вы получите 1 2019
вместо 1 2020
- person Simon_Weaver; 30.12.2019
moment("12-25-1995", "MM-DD-YYYY").format("GGGG-[W]WW-E")
- person mike85; 27.04.2020
Это не имеет отношения к вопросу, но если вы хотите получить 1 за понедельник, 2 за вторник и т. Д. moment().format("d")