-1

I want to find both first day and last day of each month for the previous 6 months from today, with pure vanilla JavaScript. How can I do this?

4

2 回答 2

0

这是一个可能对您有所帮助的示例。

var today = new Date();
for(var i = 6; i > 0; i -= 1) {
  var firstDay = new Date(new Date(new Date().setMonth(today.getMonth() - i)).setDate(1)).getDate();
  var firstMonth = new Date(new Date(new Date().setMonth(today.getMonth() - i)).setDate(1)).getMonth();
  var firstYear = new Date(new Date(new Date().setMonth(today.getMonth() - i)).setDate(1)).getFullYear();
  console.log(firstDay+'/'+firstMonth+'/'+firstYear);
  var lastDay = new Date(new Date(new Date().setMonth(today.getMonth() - i)).setDate(0)).getDate();
  console.log(lastDay+'/'+firstMonth+'/'+firstYear);
}

于 2020-12-22T06:53:53.547 回答
0

谢谢尼拉夫!

这是基于 Nirav 答案的最终代码,并有一个小修复:

var today = new Date();
    for (var i = 5; i >= 0; i -= 1) {
        var firstDay = new Date(
            new Date(new Date().setMonth(today.getMonth() - i)).setDate(1)
        ).getDate();
        var firstMonth = new Date(
            new Date(new Date().setMonth(today.getMonth() - i)).setDate(1)
        ).getMonth();
        var firstYear = new Date(
            new Date(new Date().setMonth(today.getMonth() - i)).setDate(1)
        ).getFullYear();
        console.log(firstDay + "/" + firstMonth + "/" + firstYear);
        var lastDay = new Date(
            new Date(new Date().setMonth(today.getMonth() - i)).setDate(0)
        ).getDate();
        console.log(lastDay + "/" + firstMonth + "/" + firstYear);
    }
于 2020-12-22T16:54:47.643 回答