web-dev-qa-db-fra.com

Moment.js obtient le numéro de semaine basé sur un jour spécifique (années passées également)

Comment pourrais-je obtenir à partir du moment JS le numéro de semaine d'une date passée uniquement d'un objet au format moment du jour sélectionné?

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

Selon les dj momentjs:

Moments.js a ajouté moment # week pour obtenir/définir la semaine localisée de l'année, car différents lieux définissent différemment la numérotation des semaines de l'année.

La semaine de l'année varie en fonction du jour qui correspond au premier jour de la semaine (dimanche, lundi, etc.) et de la semaine correspondant à la première semaine de l'année.

Par exemple, aux États-Unis, le dimanche est le premier jour de la semaine. La semaine avec le 1er janvier est la première semaine de l'année.

Donc, si vous avez des problèmes pour obtenir le bon numéro de semaine, utilisez .isoWeek ()

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

Exemple

69
Giovani

Vous pouvez également utiliser format()

Exemples:

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'

Date de la semaine ISO: https://en.wikipedia.org/wiki/ISO_week_date

Plus d'infos: https://momentjs.com/docs/#week-year-week-and-weekday-tokens

9
l2aelba