如何使用 jQuery 从 Date.UTC 数组中的每个月中减去一个月
How to subtract one month from each month in a Date.UTC Array with jQuery
我正在为我的新项目使用 highchart plungin,我刚刚注意到在我的数据数组中,日期必须少一个月,因为在 JavaScript 中,月份从 00 开始(而不是从 01 开始)。我的值数组是这样的(:
var usdeur = [
[Date.UTC(2004, 3, 31), 0],
[Date.UTC(2004, 4, 1), 0.134879956838416],
[Date.UTC(2004, 4, 2), 0.471580293538753],
[Date.UTC(2004, 4, 3), 0.473578515121543],
[Date.UTC(2004, 4, 4), 0.474577625912938],
];
知道如何为每个日期减去一个月以使图表正常工作的任何想法?
谢谢你,对不起我的英语很糟糕。
如果可以更改其生成方式,请改为生成此内容
var usdeur = [
[Date.UTC(2004, 3 - 1, 31), 0],
[Date.UTC(2004, 4 - 1, 1), 0.134879956838416],
[Date.UTC(2004, 4 - 1, 2), 0.471580293538753],
[Date.UTC(2004, 4 - 1, 3), 0.473578515121543],
[Date.UTC(2004, 4 - 1, 4), 0.474577625912938],
];
如果无法修复生成的代码,则可以在计算之前放入自定义Date.UTC
函数,并在之后撤消此操作。
(function () {
var utc = Date.UTC, slice = Array.prototype.slice;
Date.UTC = function () { // method to take `1` based months
var args = slice.apply(arguments);
if (args.length > 2) // fix your months
args[1] -= 1;
return utc.apply(Date, args);
};
Date.UTC.restore = function () { // method to undo changes
Date.UTC = utc;
};
}());
// eval your array
// ...
// restore original behaviour
Date.UTC.restore();
一般来说,
你可以用这样的表达式减去月份:
var d = new Date.UTC(2004, 3, 31);
d.setMonth(d.getMonth()-1);
console.log(d); // Minus one month
使用数组,您可以执行以下操作:
for (var i = 0; i < usdeur.length; i++) {
var date = usdeur[i][0];
date.setMonth(date.getMonth()-1);
usdeur[i][0] = date;
}
相关文章:
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 按照选项卡索引的顺序循环一个jQuery选择
- 在创建对象后附加一个jquery事件
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 我做了一个jquery幻灯片,但没有;我工作不好,我该怎么办
- 我创建了一个jQuery幻灯片,但它一直在重复相同的图像
- 是preventDefault()一个jQuery函数或javascript函数
- 使用一个 jquery 代码关闭多个模态
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- 遍历下一个和上一个 jQuery 选项卡
- module.exports一个jQuery插件
- 有没有一个jquery marquee插件/脚本可以处理不同宽度的图像
- 一个jquery初始化中有多个类
- 如何从其中的另一个jquery脚本运行.load()
- 从 javascript 数组创建一个 Jquery 数组
- 第一个jquery事件正在发生,但没有发生第二个事件
- 向一个jQuery/DOM元素添加一个函数
- 我们如何在jQuery Datatable调用结果中启动另一个jQuery插件,而不是页面就绪函数
- 我可以自动生成一个jquery块,对不同的元素做同样的事情吗