在moment.js获得一年

时间:2014-08-04 09:29:04

标签: momentjs

这两者之间有什么区别:

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

只是type of还是其他什么?我很好奇。

2 个答案:

答案 0 :(得分:67)

year()函数只检索基础Date对象的年份组件,因此返回一个数字。

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

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

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

答案 1 :(得分:1)

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>