gpt4 book ai didi

javascript - 在 JavaScript 循环中输出从今天到特定天数的日期

转载 作者:行者123 更新时间:2023-11-28 19:53:09 25 4
gpt4 key购买 nike

在开始之前,让我先说一下我是多么讨厌 JavaScript Date() 对象!我真的很讨厌它,我通常会使用像 date.js 这样的库,但是我必须使用我自己的 JavaScript 来解决这个问题......

好吧,我希望创建一个从今天到特定日期或特定天数的日期数组...在本示例中,我将其设置为特定天数(例如 365)。稍后我将使用这个数组来填充我的应用程序中的选择。

我希望捕获今天的日期,然后向其中添加一个整数以获取下一个日期,然后是下一个日期,等等...并将这些日期的格式设置为 dd/mm/yyyy(我没有包含这部分) )。

这是我的代码,我注意到我的循环在第二个索引/循环后开始跳转/错过几天

 var today = new Date(),
dd = today.getDate(),
mm = today.getMonth() + 1,
yyyy = today.getFullYear(),
today,
startDate,
d,
i,
dateArray = [];

if( dd < 10 ){
dd='0' + dd
}

if( mm < 10 ){
mm='0' + mm
}

startDate = yyyy +'-'+ mm +'-' + dd;
d = new Date(startDate)

for(i = 0; i < 365; i++){
d.setDate(d.getDate() + i);
// I will format 'd' to dd/mm/yyyy later
dateArray.push(d)
console.log(d);
}

我的控制台正在记录以下内容(我已经显示了前 4 个输出来演示我的问题),请注意我们如何错过周五、周日和周一:

> Wed Apr 16 2014 02:00:00 GMT+0200 (CEST) 
> Thu Apr 17 2014 02:00:00 GMT+0200 (CEST)
> Sat Apr 19 2014 02:00:00 GMT+0200 (CEST)
> Tue Apr 22 2014 02:00:00 GMT+0200 (CEST)

我显然以错误的方式处理这个问题,有人可以建议我如何正确使用 Date() 对象以及我的循环出了问题吗?

提前致谢

最佳答案

由于循环,您将 1、2,然后 3 添加到 d。如果您希望它们连续,请将 + i 更改为 + 1,例如:

for(i = 0; i < 365; i++){
d.setDate(d.getDate() + 1);
// I will format 'd' to dd/mm/yyyy later
dateArray.push(d)
console.log(d);
}

关于javascript - 在 JavaScript 循环中输出从今天到特定天数的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23103731/

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