これら2つの違いは何ですか?
var year = moment().format('YYYY');
var year = moment().year();
それはtype of
または他の何かですか?ただ興味があるだけ。
year()
関数は、基になるDate
オブジェクトの年コンポーネントを取得するだけなので、数値を返します。
format('YYYY')
を呼び出すと、与えられたフォーマット文字列を解析し、適切なデータを含む新しい文字列を構築する、瞬間の文字列フォーマット関数を呼び出します。 YYYY
のみを渡すため、結果は年を含む文字列になります。
必要なのが年だけの場合は、year()
関数を使用します。実行する作業が少ないため、高速になります。
この点で年は同じですが、月は同じではないことに注意してください! format('M')
を呼び出すと、1〜12の範囲の月が返されます。 month()
を呼び出すと、0〜11の範囲の月が返されます。これは、基になるDate
オブジェクトの同じ動作によるものです。
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>