Javascript 当您有开始日期和结束日期时,如何获得特定的日期

Javascript 当您有开始日期和结束日期时,如何获得特定的日期,javascript,date,Javascript,Date,我有一个开始日期2021年10月4日和结束日期2021年12月4日 我想在jquery中获得星期二、星期四和星期五的日期 我找到了这个解决方案: var x = new Date(); //set the financial year starting date x.setFullYear(2021, 10, 04); //set the next financial year starting date var y = new Date(); y.setFullYear(2021, 12,

我有一个开始日期2021年10月4日和结束日期2021年12月4日

我想在jquery中获得星期二、星期四和星期五的日期

我找到了这个解决方案:

var x = new Date();
//set the financial year starting date
x.setFullYear(2021, 10, 04);

//set the next financial year starting date
var y = new Date();
y.setFullYear(2021, 12, 04);
var j = 1;
var count = 0;

//getting the all fridays in a financial year
for ( var i = 0; x<y; i += j) {
    if (x.getDay() == 5) {
       $("#append_text").append("Date : " + x.getDate() + "/"
                        + (x.getMonth() + 1) + "<br>");
       x = new Date(x.getTime() + (7 * 24 * 60 * 60 * 1000));
       j = 7;
       count++;
    } else {
       j = 1;
       x = new Date(x.getTime() + (24 * 60 * 60 * 1000));
    }
}
$("#append_text").append("total fridays : " + count + "<br>");
解决方案链接如下:

您对此有什么解决方案吗?

如文档中所述:

getDay()方法根据本地时间返回指定日期的星期几,其中0表示星期天

所以,很明显

if (x.getDay() == 5)
5
这里代表
Friday
。因此,如果您还需要
星期二
as 2和
星期四
as 4,只需修改
for
循环:

var day = x.getDay();
if (day === 2 || day === 4 || day === 5) 
演示:

var x=新日期();
//设置财政年度开始日期
x、 设定全年(2021、10、04);
//设置下一个财政年度的开始日期
var y=新日期();
y、 设定全年(2021、12、04);
var html='';
var计数=0;
//一个财政年度的所有星期五
对于(变量i=0;x”;
如果(天===5)计数++;
}
x、 setDate(x.getDate()+1)
}
$(“#附加文本”).append(html);
$(“#追加文本”)。追加(“星期五总计:“+count+”
”)

试试这个

var开始=新日期(2021年10月4日);
var结束=新日期(2021年12月4日);
var周二=[]、周四=[]、周五=[];

对于(var current=start;current,您可以通过迭代两个日期之间的每个日期并保存符合某个标准的日期来实现这一点,或者您可以获得所需日期中的第一个,然后添加7天以获得每个星期直到结束日期,例如

//以日/月/年格式解析日期
函数parseDMY(s){
设[d,m,y]=s.split(/\d/);
返回新日期(y、m-1、d);
}
//按dayNumber在日期当天或之后获取下一天,默认为今天
函数getDayOfWeek(天,日期){
设d=日期?新日期(+日期):新日期();
d、 设置日期(d.getDate()-d.getDay()+day+
(天console.log(GetDaysBetween Dates('4/10/2021','4/12/2021',2,4,5));
tanx对于您的答案,我尝试过这么做,但没有成功,我认为问题在这里
x=新日期(x.getTime()+(7*24*60*60*1000))
当您需要一天以上的日期时,计算不起作用。如果发现问题,我们需要在循环内将
x
日期增加1天,以评估每天。代码已更新。
y.setFullYear(2021,12,04)
将日期设置为2022年1月4日,而不是2021年12月4日。
var y=新日期(2021,11,4)
不太容易键入。
var day = x.getDay();
if (day === 2 || day === 4 || day === 5)