javascript - 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
解决方案
改变
let newdate = now.setMonth(now.getMonth() - i);
至
let newdate = now.setMonth(now.getMonth() - 1);
在您的原始代码中很容易看到月份值正在减少 1、2、3 等等。在每次迭代中,您只需减去 1。
推荐阅读
- html - 如何使部分透明的导航栏后面的内容消失?
- reactjs - 简单的 react-redux 连接函数中的错误
- javascript - 本地机器与 travis.ci 为 `Date.toISOString()` 返回不同的结果
- javascript - 计算有或没有 string.slice 的字符串中的字符
- ruby-on-rails - 在 Rails 教程中,如何在没有'require_relative "application_record"' 的情况下从 ApplicationRecord 继承 Article?
- java - 确保特定用户只能看到自己的用户详细信息 - 使用 Spring
- python - 在 Python 中创建类抽象
- go - 什么会导致 go 在 runtime.pthread_cond_signal 上花费这么多时间
- node.js - 模式关系在填充后返回未定义
- macos - 终端:通过 MIME 选择 - 需要为每个文件添加扩展名