web-dev-qa-db-fra.com

Obtenir une 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.

40
Marek

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

L'appel de format('YYYY') appellera les fonctions de formatage de la chaîne du moment, qui analyseront la chaîne de format fournie et construiront une nouvelle chaîne contenant les données appropriées. Puisque vous ne faites que passer YYYY, alors 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! L'appel de format('M') renvoie des mois compris entre 1 et 12. L'appel de month() renvoie des mois compris entre 0 et 11. Ceci est dû au même comportement de l'objet Date sous-jacent.

73
Matt Johnson-Pint
var year1 = moment().format('YYYY');
var year2 = moment().year();

console.log('using format("YYYY") : ',year1);
console.log('using year(): ',year2);

// using javascript 

var year3 = new Date().getFullYear();
console.log('using javascript :',year3);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
4
Saurabh Mistry