Obtenir l'année dans le moment.js

Quelle est la différence entre ces deux:

var year = moment().format('YYYY');
var year = moment().year();

Est-ce juste type of ou autre chose? Je suis juste curieux.

24
demandé sur Marek 2014-08-04 13:29:04

1 réponses

La fonction year() récupère simplement le composant year de l'objet Date sous-jacent, donc elle renvoie un nombre.

Appelant format('YYYY') appellera les fonctions de formatage de chaîne de moment, qui analysera la chaîne de format fournie et construira une nouvelle chaîne contenant les données appropriées. Puisque vous ne passez que YYYY, le résultat sera une chaîne contenant l'année.

Si tout ce dont vous avez besoin est l'année, utilisez la fonction year(). Ce sera plus rapide, car il y a moins de travail à faire.

Notez que si les années sont les mêmes à cet égard, les mois ne le sont pas! Appeler format('M') retournera des mois dans la plage 1-12. Appeler month() renverra des mois dans la plage 0-11. Cela est dû au même comportement de l'objet Date sous-jacent.

50
répondu Matt Johnson 2014-08-04 14:07:05