这两者之间有什么区别:
var year = moment().format('YYYY');
var year = moment().year();
只是type of
还是其他什么?我很好奇。
答案 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>