gpt4 book ai didi

javascript - 在 JavaScript 中获取两个日期之间所有星期一的日期

转载 作者:行者123 更新时间:2023-11-28 20:26:23 24 4
gpt4 key购买 nike

我正在尝试返回两个日期之间所有星期一的日期。这是我到目前为止所做的。

function populate_week_range_options(){
var start_week_date = new Date(2012, 7-1, 2); // no queries exist before this
//console.log(start_week_date);
var todays_date = new Date();

// array to hold week commencing dates
var week_commencing_dates = new Array();
week_commencing_dates.push(start_week_date);

while(start_week_date < todays_date){
var next_date = start_week_date.setDate(start_week_date.getDate() + 1);

start_week_date = new Date(next_date);
//console.log(start_week_date);
if(start_week_date.getDay() == 1){
week_commencing_dates.push(start_week_date);
}

//
}

return week_commencing_dates;
}
console.log(populate_week_range_options());

根据我阅读的有关 getDay() 函数的文档,它返回一个表示一周中的某一天的索引(分别为 0 到 6,周日到周六)

但是,由于某种原因,我的函数返回星期二 - 我不明白为什么!

我更改了 if 语句以将日期索引与 0 进行比较,这会返回我期望的日期,但我猜测这是错误的方法,因为 0 表示星期日。

感谢任何帮助:-)

最佳答案

由于我将元素插入数组的方式,我似乎没有得到预期的日期。我更改了代码,以便为要推送到数组的每个元素创建一个新变量。我不使用 JavaScript 编写代码,所以不完全理解这一点,如果有人能解释这种行为,我将不胜感激。尽管如此,这里是我更新的代码,返回预期日期:

function populate_week_range_options(){
var start_week_date = new Date(2012, 7-1, 2); // no queries exist before this
var todays_date = new Date();

// array to hold week commencing dates
var week_commencing_dates = new Array();
var first_monday_date = new Date(2012, 7-1, 2); // no queries exist before this
week_commencing_dates.push(first_monday_date);

while(start_week_date < todays_date){
var next_date = start_week_date.setDate(start_week_date.getDate() + 1);

var next_days_date = new Date(next_date);
day_index = next_days_date.getDay();
if(day_index == 1){
week_commencing_dates.push(next_days_date);
}
// increment the date
start_week_date = new Date(next_date);
}

return week_commencing_dates;
}

关于javascript - 在 JavaScript 中获取两个日期之间所有星期一的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17302555/

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