• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kalendarz w JS - błąd przy pobieraniu daty.

Object Storage Arubacloud
0 głosów
115 wizyt
pytanie zadane 15 czerwca 2020 w JavaScript przez Gamin Użytkownik (740 p.)

Witam. Jakiś czas temu napisałem zegarek+kalendarz z 1 odcinka kursu JavaScript, wszystko działało. Wczoraj zrobiłem to ponownie i o ile z zegarkiem nie ma problemu, to kalendarz wyświetla datę sprzed 2 tygodni. Dzisiaj go lekko poprawiłem i teraz wyświetla datę z przyszłości (+- 2 tygodnie). Macie jakieś pomysły?

https://prnt.sc/szyk0z <- wynik

function timer(){
    let todoo = new Date();
    
    let day = todoo.getDay();
    let dayN = todoo.getDay();
    let month = todoo.getMonth()+1;
    let year = todoo.getFullYear();
    
    let hours = todoo.getHours();
    if(hours<10) hours="0"+hours;
    let minutes = todoo.getMinutes();
    if(minutes<10) minutes="0"+minutes;
    let seconds = todoo.getSeconds()
    if(seconds<10) seconds="0"+seconds;
    
    let days = new Array("niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota");
    let months = new Array("stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października",
    "listopada","grudnia");
    
    let showDate = "Dziś jest "+days[dayN]+", "+day+" "+months[month]+" "+year+" roku. <br /> Godzina "+hours+":"+minutes+":"+seconds;    
    
    document.getElementById("watch").innerHTML = showDate;
    
    setTimeout("timer()", 1000)
}

 

1 odpowiedź

0 głosów
odpowiedź 15 czerwca 2020 przez Comandeer Guru (600,810 p.)
edycja 15 czerwca 2020 przez Comandeer

Tablice są numerowane od 0, więc tak po prawdzie niepotrzebnie dodajesz do miesiąca 1. A zły dzień jest dlatego, że dwa razy używasz getDay, podczas gdy do pobrania dnia w miesiącu powinieneś użyć getDate. Swoją drogą można to spokojnie zastąpić przez wykorzystanie Intl.

BTW przyjęło się, że tablice tworzymy przy pomocy literałów, nie konstruktorów:

["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"];

 

Podobne pytania

0 głosów
1 odpowiedź 379 wizyt
0 głosów
1 odpowiedź 615 wizyt
pytanie zadane 25 maja 2020 w PHP przez zOne Początkujący (270 p.)
0 głosów
0 odpowiedzi 115 wizyt
pytanie zadane 2 września 2020 w JavaScript przez syjamski Nowicjusz (120 p.)

92,555 zapytań

141,402 odpowiedzi

319,544 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...