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