从日期数组中减去 1 个月
Subtracting 1 month from array of dates
我使用的日期选择器是零索引的,它按 1 个月显示 "wrong date"。所以我需要纠正这一点。我正在尝试按以下格式构建日期数组,然后更正日期选择器中的错误(减去 1 个月),然后将其插入日期选择器。这是我到目前为止编写的代码,但它只适用于字符串,不适用于数组。
我想做的事的例子:
var array = [
new Date("11/28/2019"),
new Date("12/25/2019"),
new Date("01/01/2020"),
new Date("01/20/2020"),
new Date("02/17/2020"),
new Date("05/25/2020"),
new Date("07/04/2020"),
new Date("09/07/2020"),
new Date("11/26/2020"),
new Date("12/25/2020"),
];
fixeddates.setMonth(array.getMonth() - 1);
但我需要 fixeddates 以这种格式输出数组:[yyyy, m, d]
所以基本上我需要将所有这些日期减去 1 个月并将格式更改为日期选择器接受的格式。
谢谢!
您可以"map"通过数组将每一行更改为另一个对象。在这种情况下,我将每个日期转换为 (yyyy, mm, dd) 的数组。 Date.getMonth() 已经 returns 值减 1,所以我没有再减。
var array = [
new Date("11/28/2019"),
new Date("12/25/2019"),
new Date("01/01/2020"),
new Date("01/20/2020"),
new Date("02/17/2020"),
new Date("05/25/2020"),
new Date("07/04/2020"),
new Date("09/07/2020"),
new Date("11/26/2020"),
new Date("12/25/2020"),
];
var fixedDates = array.map(function(date) {
return [date.getFullYear(), date.getMonth(), date.getDate()]
});
console.log(fixedDates);
我使用的日期选择器是零索引的,它按 1 个月显示 "wrong date"。所以我需要纠正这一点。我正在尝试按以下格式构建日期数组,然后更正日期选择器中的错误(减去 1 个月),然后将其插入日期选择器。这是我到目前为止编写的代码,但它只适用于字符串,不适用于数组。
我想做的事的例子:
var array = [
new Date("11/28/2019"),
new Date("12/25/2019"),
new Date("01/01/2020"),
new Date("01/20/2020"),
new Date("02/17/2020"),
new Date("05/25/2020"),
new Date("07/04/2020"),
new Date("09/07/2020"),
new Date("11/26/2020"),
new Date("12/25/2020"),
];
fixeddates.setMonth(array.getMonth() - 1);
但我需要 fixeddates 以这种格式输出数组:[yyyy, m, d]
所以基本上我需要将所有这些日期减去 1 个月并将格式更改为日期选择器接受的格式。
谢谢!
您可以"map"通过数组将每一行更改为另一个对象。在这种情况下,我将每个日期转换为 (yyyy, mm, dd) 的数组。 Date.getMonth() 已经 returns 值减 1,所以我没有再减。
var array = [
new Date("11/28/2019"),
new Date("12/25/2019"),
new Date("01/01/2020"),
new Date("01/20/2020"),
new Date("02/17/2020"),
new Date("05/25/2020"),
new Date("07/04/2020"),
new Date("09/07/2020"),
new Date("11/26/2020"),
new Date("12/25/2020"),
];
var fixedDates = array.map(function(date) {
return [date.getFullYear(), date.getMonth(), date.getDate()]
});
console.log(fixedDates);