如何在js中显示当前和前一个月?

时间:2018-07-17 11:56:38

标签: javascript momentjs

我正在尝试使用javascript中的moment.js显示当月和以前的所有月份,如何使用moment.js编写代码?

4 个答案:

答案 0 :(得分:1)

您也可以使用普通的javascript来做到这一点,不需要任何额外的库(moment

var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var todaysDate = new Date();
var currentMonth = months[todaysDate.getMonth()];
console.log('Current month ' + currentMonth);
console.log('Previous month(s) ');
for(let i = months.indexOf(currentMonth) - 1; i >= 0; i--){
    console.log(months[i]);
}

答案 1 :(得分:1)

你去了。 :)

var i = parseInt(moment().format('MM')) - 1;
while(i >= 0) {
 console.log(moment().subtract(i--, 'months').format('MMMM'));
}

答案 2 :(得分:1)

可以使用moment.js中的moment.months()moment.monthsShort()

var currentmonth = new Date().getMonth();
console.log(moment.months().slice(0,currentmonth+1))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

答案 3 :(得分:0)

您可以通过使用moment.js库简单地获取此信息

document.write(moment().month());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.js"></script>

您将得到答案6,而不是7,因为这是7月,但这没错,因为它是在momentjs文档中编写的,月份的索引为零,因此,如果要打印7,则应将其写为

document.write(moment().month()+1);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.js"></script>

有关更多答案,请点击此链接https://momentjs.com/docs/#/get-set/month/