将javascript从单一日期排除转换为多个日期

将javascript从单一日期排除转换为多个日期,javascript,prestashop-1.6,Javascript,Prestashop 1.6,根据我们有限的知识,我们能够根据工作日和时间排除日期交付模块中的某些日期。请参阅下面的代码 但现在,如果您选择carrier 99,我们希望排除明年的所有周三和周六。因此,如果选择了该特定承运人,则从今天开始的一年内,每个星期三和星期六都有多个disabledDays.push(不包括Datum) 有人能帮我们写代码吗 var selected_carrier = parseInt($('.delivery_option_radio:checked').val()); var w

根据我们有限的知识,我们能够根据工作日和时间排除日期交付模块中的某些日期。请参阅下面的代码

但现在,如果您选择carrier 99,我们希望排除明年的所有周三和周六。因此,如果选择了该特定承运人,则从今天开始的一年内,每个星期三和星期六都有多个disabledDays.push(不包括Datum)

有人能帮我们写代码吗

    var selected_carrier = parseInt($('.delivery_option_radio:checked').val());
    var weekdag = new Date().getDay();
    var uur = new Date().getHours();
    var vandaag = new Date();
    var morgen = new Date();
    morgen.setDate(vandaag.getDate() + 1);
    var exclmaand = morgen.getMonth() + 1;
    var excldag = morgen.getDate();
    var excldatum = exclmaand + "-" + excldag;

    // carrier is postnl
    if (selected_carrier == 99) {
        // weekdag 0 is zondag t/m 6 is zaterdag
        if (weekdag > -1 && weekdag < 5) {
            // na 23 uur
            if (uur >= 23) {
                disabledDays.push(excldatum);
            }
        }
    }

    if (selected_carrier == 99) {
        // weekdag 5 is vrijdag
        if (weekdag == 5) {
            // na 10 uur
            if (uur >= 10) {
                disabledDays.push(excldatum);
            }
        }
    }
var selected_carrier=parseInt($('.delivery_option_radio:checked').val();
var weekdag=new Date().getDay();
var uur=new Date().getHours();
var vandaag=新日期();
var morgen=新日期();
morgen.setDate(vandaag.getDate()+1);
var exclumand=morgen.getMonth()+1;
var excludag=morgen.getDate();
var excludatam=exclmaand+“-”+excludag;
//承运人是邮递员
如果(所选载波==99){
//工作日0为zondag t/m 6为zaterdag
如果(工作日间隔>-1和工作日间隔<5){
//NA23UUR
如果(uur>=23){
禁用日期推送(不包括基准);
}
}
}
如果(所选载波==99){
//工作日5号是vrijdag
如果(工作日标记==5){
//na 10 uur
如果(uur>=10){
禁用日期推送(不包括基准);
}
}
}

下面的代码可能适合您。它获取从今天开始的接下来365天内指定的weekdaysToProcess的所有日期。星期三和星期六

当然,您可以添加任何其他您喜欢的筛选

    function GetDatesForWeekdaysForNext365Days(weekdaysToProcess) {
        var currentDate = new Date();
        var foundDates = [];

        for (var day = 0; day < 365; day++) {
            var calculatedDate = new Date();
            calculatedDate.setDate(currentDate.getDate() + day);
            var calculatedWeekDay = calculatedDate.getDay();
            if (weekdaysToProcess.includes(calculatedWeekDay)) {
                foundDates.push(calculatedDate);
            }
        }
        return foundDates;
    }
函数GetDatesFrowekdaysFornext365Days(weekdaysToProcess){
var currentDate=新日期();
var foundDates=[];
对于(var日=0;日<365;日++){
var CalculateDate=新日期();
CalculateDate.setDate(currentDate.getDate()+天);
var calculatedWeekDay=calculatedDate.getDay();
if(工作日停止处理包括(计算工作日)){
foundDates.push(计算日期);
}
}
返回日期;
}
该函数可为carrier 99调用,如:
disabledDays=GetDatesFrowekdaysFornext365天([3,6])

下面的代码可能适合您。它获取从今天开始的接下来365天内指定的weekdaysToProcess的所有日期。星期三和星期六

当然,您可以添加任何其他您喜欢的筛选

    function GetDatesForWeekdaysForNext365Days(weekdaysToProcess) {
        var currentDate = new Date();
        var foundDates = [];

        for (var day = 0; day < 365; day++) {
            var calculatedDate = new Date();
            calculatedDate.setDate(currentDate.getDate() + day);
            var calculatedWeekDay = calculatedDate.getDay();
            if (weekdaysToProcess.includes(calculatedWeekDay)) {
                foundDates.push(calculatedDate);
            }
        }
        return foundDates;
    }
函数GetDatesFrowekdaysFornext365Days(weekdaysToProcess){
var currentDate=新日期();
var foundDates=[];
对于(var日=0;日<365;日++){
var CalculateDate=新日期();
CalculateDate.setDate(currentDate.getDate()+天);
var calculatedWeekDay=calculatedDate.getDay();
if(工作日停止处理包括(计算工作日)){
foundDates.push(计算日期);
}
}
返回日期;
}
该函数可为carrier 99调用,如:
disabledDays=GetDatesFrowekdaysFornext365天([3,6])