Javascript 计算连接在一起的一对日期

Javascript 计算连接在一起的一对日期,javascript,date,variables,time,output,Javascript,Date,Variables,Time,Output,以下代码将在下周五和下周日输出我。我需要在输出的星期五之后的下周五和下周日输出,而不仅仅是下周日。否则,如果今天是星期五或星期六,它将不起作用 示例:如果今天是2006年5月5日星期五,我的输出将是2013年5月5日星期五和2007年5月5日星期日,而不是2015年5月5日星期日(这是我需要的输出) 这就是我实际使用的代码。我怎样才能修好它使它工作 <script type="text/javascript"> function nextWeekdayDate(date, day_

以下代码将在下周五和下周日输出我。我需要在输出的星期五之后的下周五和下周日输出,而不仅仅是下周日。否则,如果今天是星期五或星期六,它将不起作用
示例:如果今天是2006年5月5日星期五,我的输出将是2013年5月5日星期五和2007年5月5日星期日,而不是2015年5月5日星期日(这是我需要的输出)

这就是我实际使用的代码。我怎样才能修好它使它工作

<script type="text/javascript">
 function nextWeekdayDate(date, day_in_week) {
  var ret = new Date(date||new Date());
  ret.setDate(ret.getDate() + (day_in_week - 1 - ret.getDay() + 7) % 7 + 1);
  return ret;
}

var date = new Date();
console.log(nextWeekdayDate(date, 5));

    $(document).ready(function() {
    $('#button').click(function(e) {  
        var checkinf = nextWeekdayDate(null, 5);
        var [yyyy, mm, dd] = checkinf.toISOString().split('T')[0].split('-');
        var checkouts = nextWeekdayDate(null, 7);
            var [cyyy, cm, cd] = checkouts.toISOString().split('T')[0].split('-');


             window.open( "https://www.mydynamiclink.com" + variables );

                            });

        });


</script>


函数nextWeekdayDate(日期,周中的天){
var ret=新日期(日期| |新日期());
ret.setDate(ret.getDate()+(第1周中的第1天-ret.getDay()+7)%7+1);
返回ret;
}
变量日期=新日期();
console.log(nextWeekdayDate(日期,5));
$(文档).ready(函数(){
$(“#按钮”)。单击(函数(e){
var checkinf=nextWeekdayDate(null,5);
var[yyyy,mm,dd]=checkinf.toISOString().split('T')[0]。split('-');
var checkout=nextWeekdayDate(null,7);
var[cyy,cm,cd]=checkout.toISOString().split('T')[0]。split('-');
窗口打开(“https://www.mydynamiclink.com“+变量);
});
});

谢谢:)

我认为对于
签出
,如果您的
checkinf
输出正确,您只需将
checkinf
增加两天即可

我的意思是: 而不是
var checkout=nextWeekdayDate(null,7)

您应该这样做:

var checkout=checkinf.setDate(checkinf.getDay()+2)//下个星期天的作业:

var checkouts = nextWeekdayDate(null, 7);
今天之后的下一个星期天。你想要的是checkinf之后的星期天,所以在电话中传递它。此外,星期日的天数为0:

var checkouts = nextWeekdayDate(checkinf, 0);
函数nextWeekdayDate(日期,周中的天){
var ret=新日期(日期| |新日期());
ret.setDate(ret.getDate()+(第1周中的第1天-ret.getDay()+7)%7+1);
返回ret;
}
设nextFriday=nextWeekdayDate(null,5);
让followSunday=nextWeekdayDate(nextFriday,0);
console.log('nextFriday:'+nextFriday.toDateString()+

“\n星期日后:”+星期日后。toDateString())你能把完整的代码放进去吗。似乎缺少一部分,
var[yyyy,mm,dd]=checkinf.toISOString()…
返回UTC日期值,这是您所期望的吗?nextWeekdayDate为本地日创建日期,UTC可能在主机时区设置和代码运行的日期之前或之后一天。OP中的日期令人困惑,例如,“05/06星期五”似乎表示6月5日星期五,“05/13星期五”似乎表示5月13日,这是一个星期三,而“05/15星期日星期日”似乎是指5月15日星期五。最好总是使用月份名称或缩写来避免歧义。