在moment.js获得一年

Mar*_*rek 50 momentjs

这两者之间的区别是什么:

var year = moment().format('YYYY');
var year = moment().year();
Run Code Online (Sandbox Code Playgroud)

它只是type of或其他什么?我只是好奇.

Mat*_*int 81

year()函数只检索底层Date对象的year组件,因此返回一个数字.

调用format('YYYY')将调用moment的字符串格式化函数,它将解析所提供的格式字符串,并构建包含适当数据的新字符串.由于您只是传递YYYY,因此结果将是包含年份的字符串.

如果您只需要年份,那么请使用该year()功能.它会更快,因为工作量较少.

请注意,虽然这方面的年数是相同的,但几个月不是!呼叫format('M')将返回1-12范围内的月份.呼叫month()将返回0-11范围内的月份.这是由于底层Date对象的相同行为.


Sau*_*try 6

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);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Run Code Online (Sandbox Code Playgroud)