首页 > 解决方案 > JavaScript 日期,过去 12 个月

问题描述

我想获得过去 12 个月的运行 12 个月图表。

这就是我正在做的

function formatDate(date) {

    date = new Date(date);
    var day = date.getDate();
    var monthIndex = date.getMonth();
    var year = date.getFullYear();

    return day + ' ' + monthIndex + ' ' + year;
}

let now = new Date();

for ( let i=12; i>0; i--) {
    let newdate = now.setMonth(now.getMonth() - i);
    console.log(formatDate(newdate ));
}

这就是我得到的:(完全不是我所期望的。)

19 1 2018
19 2 2017
19 4 2016
19 7 2015
19 11 2014
19 4 2014
19 10 2013
19 5 2013
19 1 2013
19 10 2012
19 8 2012
19 7 2012

我想要的是

19 2 2018
19 3 2018
19 4 2018
19 5 2018
19 6 2018
19 7 2018
19 8 2018
19 9 2018
19 10 2018
19 11 2018
19 0 2019
19 1 2019

标签: javascriptdate

解决方案


改变

let newdate = now.setMonth(now.getMonth() - i);

let newdate = now.setMonth(now.getMonth() - 1);

在您的原始代码中很容易看到月份值正在减少 1、2、3 等等。在每次迭代中,您只需减去 1。


推荐阅读