JS PŘÍKLADY

Seznam příkladů














KOLIKÁTÝ JE DEN ... V JS

Zadání:
Vypište, kolikátý je den v týdnu, v roce a aktuální den zkratkou.


Řešení využívá pokročilejší koncept - pole a náročnější výpočty!

Prvně vždy vytvoříme HTML div, kterému dáme id. Do divu budeme později vypisovat výstup.

JavaScriptový kód vždy začínáme otevíracím tagem scriptu(<script>), ukončujeme ho uzavíracím tagem scriptu (</script>).

Nejdříve vytvoříme konstantu d, do které vložíme dnešní datum pomocí new Date().

Dále definujeme konstantu msZaDen pro počet milisekund za jeden den, což nám později pomůže při výpočtech.

Abychom získali den v týdnu použijeme konstantu d z které za pomoci getDay vytáhneme den v týdnu číslem. Ta vrátí číslo od 0 do 6 (od neděle do soboty), proto je potřeba zavést podmínku if(). Když bude neděle, místo 0 se vypíše 7.

Do nové konstanty dny vypíšeme pole se zkratkami dnů. Z tohoto pole pak vybereme konkrétní zkratku aktuálního dne, za pomoci denVtydnu, od kterého však znovu musíme odečíst 1. Je to protože indexy pole mají numerické hodnoty od 0 do 6.

Následuje výpočet dne v roce. Ten zjistíme tak, že odečteme začátek roku od dnešního data v koordinovaném světovém čase (UTC) a výsledek vydělíme konstantou msZaDen.

K zápisu v konstantě text používáme zpětné uvozovky, které nám dovolují snadno kombinovat text s proměnnými pomocí značek ${ }.

Nakonec text vložíme do HTML divu.


<div id="den"></div>

<script>
    const d = new Date();
    const msZaDen = 1000 * 60 * 60 * 24;

    let denVtydnu = d.getDay();
        if (denVtydnu === 0) {
    denVtydnu = 7;
    }

    const dny = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
    const zkratka = dny[denVtydnu - 1];

    const dnesniDatumUTC = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate());
    const zacatekRokuUTC = Date.UTC(d.getFullYear(), 0, 0);
    const denVroce = (dnesniDatumUTC - zacatekRokuUTC) / msZaDen;

    const text = `
        Den v týdnu číslem: ${denVtydnu}. <br>
        Den v roce číslem: ${denVroce}. <br>
        Den v týdnu zkratkou: ${zkratka}`;

    document.getElementById("den").innerHTML = text;
</script>