Autor Zpráva
igid26
Profil
Zdravím všetkých,
potreboval by som poradiť. Snažím sa nakódiť skript, ktorý bude počítať lehoty. Cieľom skriptu teda bude, že ak si užívateľ vyberie dátum napr. 6.12.2021 a lehota bude nastavená na 10 dní tak výstupný dátum bude bude 16.12.2021.

V prípade, že bude výstupný dátum víkend automaticky sa nastaví výstupný dátum na nasledujúci pracovný deň teda pondelok. Teda napríklad výber dátumu bude 1.12.2021 a lehota nastavená na 10 dní, tak výstupný dátum bude až 13.12.2021 (pretože 10.10.2021 je víkend).
Túto funkcionalitu sa mi podarilo spraviť: jsfiddle.net/phujntom

Ja by som však potreboval pridať do podmienky okrem víkendov aj sviatky. Teda špecifické dátumy, ktoré by som vedel sám špecifikovať.

Vedel by mi prosím niekto pomôcť?

$("#datum2").datepicker({
    dateFormat: "d.m.yy",
    firstDay: 1,
    changeMonth: true,
    onSelect: function (selectedDate) {
        var date2 = $(this).datepicker('getDate', '+5d'); 
        date2.setDate(date2.getDate()+5);
        var dalsiDen = date2; 
        var day = date2.getUTCDay(); 
        if (day == '5') {
            var dalsiDen = date2; 
            dalsiDen.setDate(dalsiDen.getDate()+2);
        }
        if (day == '6') {
            var dalsiDen = date2; 
            dalsiDen.setDate(dalsiDen.getDate()+1);
        }
        var year  = pad(dalsiDen.getFullYear());
        var month = pad(dalsiDen.getMonth() + 1);
        var day   = pad(dalsiDen.getDate());

        var mmddyyyy = day + '.' + month + '.' + year;
        
        $('#datum-vysledok2').text(mmddyyyy);
    }
});
function pad(numb) {
    return (numb < 10 ? '0' : '') + numb;
}
blaaablaaa
Profil
igid26:
Nejjednodušeji asi takto - stačí porovnávat, zda daný den není svátek (hledat datum v předdefinovaném poli se svátky) nebo víkend. Pokud ano, přidám den (v případě soboty klidně rovnou dva) a opakuji, dokud to nevyjde na všední den (třeba nekonečným cyklem, ze kterého se vyskočí při nalezení všedního dne).

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0