Arthur Kovacs
Arthur Kovacs

Reputation: 1740

Moment.js get the week number based on a specific day (also past years)

How could I get from moment JS the week number from a date in the past only from a moment formatted object from a day selected?

Upvotes: 78

Views: 159733

Answers (4)

Pasindu Jay
Pasindu Jay

Reputation: 4510

moment().format("d") gives you the week number, between 0 and 6, where 0 represents Sunday and 6 represents Saturday

Upvotes: -3

Hadeel H Al-Hawajreh
Hadeel H Al-Hawajreh

Reputation: 31

to get week number by current date

moment(moment().toDate(), "MM-DD-YYYY").isoWeek()

Upvotes: 3

l2aelba
l2aelba

Reputation: 22167

You can also use format()

Examples:

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 Week date: https://en.wikipedia.org/wiki/ISO_week_date

More info: https://momentjs.com/docs/#week-year-week-and-weekday-tokens

Upvotes: 24

Giovani
Giovani

Reputation: 2547

  $(document).ready(function(){
    var weeknumber = moment("12-25-1995", "MM-DD-YYYY").week();
    console.log(weeknumber);
  });

According momentjs docs:

Because different locales define week of year numbering differently, Moment.js added moment#week to get/set the localized week of the year.

The week of the year varies depending on which day is the first day of the week (Sunday, Monday, etc), and which week is the first week of the year.

For example, in the United States, Sunday is the first day of the week. The week with January 1st in it is the first week of the year.

So, if you are having problems getting the right week number use .isoWeek()

$(document).ready(function(){
  var weeknumber = moment("11-26-2016", "MMDDYYYY").isoWeek();
  alert(weeknumber);
});

Example

Upvotes: 141

Related Questions