gpt4 book ai didi

javascript - 创建javascript日期对象

转载 作者:行者123 更新时间:2023-11-29 21:46:50 24 4
gpt4 key购买 nike

我正在尝试创建一个包含从“今天”到 60 天后所有日期的对象。

我的代码:

var dates = [];
getDateRange();

function getDateRange() {

var today = new Date();
var date = new Date();

for (var i = 0; i <= 59; i++) {
date.setDate(today.getDate()+i);
console.log(date);
dates[i] = date;
};

console.log(dates);
}

使用“console.log(date)”命令正确打印出日期,如下所示:

Mon Jun 15 2015 21:31:47 GMT+0200
Tue Jun 16 2015 21:31:47 GMT+0200
Wed Jun 17 2015 21:31:47 GMT+0200
Thu Jun 18 2015 21:31:47 GMT+0200
Fri Jun 19 2015 21:31:47 GMT+0200
...

但是一旦将它放入日期数组并打印出来,我就会得到以下日期数组:

[Wed Jan 03 2024 21:42:47 GMT+0100,
Wed Jan 03 2024 21:42:47 GMT+0100,
Wed Jan 03 2024 21:42:47 GMT+0100,
Wed Jan 03 2024 21:42:47 GMT+0100,
...,
Wed Jan 03 2024 21:42:47 GMT+0100
]

希望我把问题解释清楚了。

该代码是 AngularJS 应用程序的一部分,但我认为我的问题只与 Javascript 有关。

最佳答案

您需要重置日期,否则它们将是同一个 Date 对象的引用。

var dates = [];
getDateRange();

function getDateRange() {
var today = new Date();
var date;

for (var i = 0; i <= 59; i++) {
date = new Date();
date.setDate(today.getDate() + i);
console.log(date);
dates.push(date);
};

console.log(dates);
}

关于javascript - 创建javascript日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30853826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com