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

Data i czas w JavaScript

Object Storage Arubacloud
0 głosów
1,442 wizyt
pytanie zadane 20 listopada 2016 w JavaScript przez Michał_Warmuz Mądrala (5,830 p.)

Witam piszę zegraek i czas w JavaScripcie. Mam problem data i czas w liczbach mi wyświtela. A teraz chciałbym aby np wyświtelało Poniedziałek itd. Zrobiłem coś takiego wiecie jak zamienić te zero na słownie :) 

function odliczanie() //Tworzymy funkcje odliczanie
	{
		var dzisiaj = new Date(); //Tworzymy zmieną dzisiaj i przypisujemy do niej nowy obiekt klasy Date()
		
		var dzien1 = dzisiaj.getDay();
		
		
		var dzien = dzisiaj.getDate(); //Tworzymy zmieną  i przypisujemy do niej klase
		var miesiac = dzisiaj.getMonth()+1; // -||-
		var rok = dzisiaj.getFullYear(); // -||-
		
		var godzina = dzisiaj.getHours(); // -||-
		if (godzina<10) godzina = "0"+godzina; // Tworzymy instrukcje warunkowe jeśli godzina jest mniejsza od 10 do zmienej godzina dodaj 0
		
		var minuta = dzisiaj.getMinutes(); //Tworzymy zmieną  i przypisujemy do niej klase
		if (minuta<10) minuta = "0"+minuta; // Tworzymy instrukcje warunkowe jeśli minuta jest mniejsza od 10 do zmienej minuta dodaj 0
		
		var sekunda = dzisiaj.getSeconds(); //Tworzymy zmieną  i przypisujemy do niej klase
		if (sekunda<10) sekunda = "0"+sekunda; // Tworzymy instrukcje warunkowe jeśli sekunda jest mniejsza od 10 do zmienej sekunda dodaj 0
		
		
		

		document.getElementById("zegar").innerHTML = 
		 dzien1+"  "+dzien+"-"+miesiac+"-"+rok+" | "+godzina+":"+minuta+":"+sekunda;
		 
		 setTimeout("odliczanie()",1000);
	}

 

1 odpowiedź

+1 głos
odpowiedź 20 listopada 2016 przez MichuDev Pasjonat (20,300 p.)
wybrane 22 listopada 2016 przez Michał_Warmuz
 
Najlepsza

A teraz chciałbym aby np wyświtelało Poniedziałek itd. Zrobiłem coś takiego wiecie jak zamienić te zero na słownie :)  

Nic prostszego, tworzymy switcha / wiele ifów i jest. Zakładam, że do zmiennej dzien dasz numer dnia w tygodniu. 

 

switch(dzien){
    case 0:
        nazwaDnia = "Poniedziałek";
        break;
    case 1:
        nazwaDnia = "Wtorek";
        break;
    //...
}

PS: Jak chcesz pisać dobry kod nie pisz tylu komentarzy, często zaciemniają one przekaz. Cytując wujka Boba (przetłumaczone na język polski):

Komentarze nie są szminką dla złego kodu.

Lepiej stosować dobre nazwy zmiennych, klas, funkcji i metod! Czas, który inwestujesz w dobrą nazwę nie jest czasem straconym, unikaj nazw nieznacznie różnych np. dzien1 i dzien. W przyszłości lepiej pisać kod w języku Angielskim (zależy od umiejętności językowych). 

komentarz 20 listopada 2016 przez xandros Nałogowiec (29,450 p.)
Lepiej zrobić obiekt/tablice z tłumaczeniami.
komentarz 20 listopada 2016 przez MichuDev Pasjonat (20,300 p.)
Masz rację jednak chciałem pokazać jak rozwiązać to od strony algorytmicznej, a nie struktury najlepiej napisanej aplikacji.
1
komentarz 20 listopada 2016 przez niezalogowany

Nic prostszego

var nazwaDnia = [
  'Poniedziałek',
  'Wtorek',
  'Środa...',
][ dzieńTygodnia ];
komentarz 20 listopada 2016 przez MichuDev Pasjonat (20,300 p.)
Chodziło mi o proces rozumowania, a nie o napisanie najprościej. Każdy może pokazać swój sposób jednak IDEA, algorytmu jest taka sama: dla liczby z zakresu 0 - 6 przyporządkowujemy dzień tygodnia, można napisać to z użyciem tablicy, można zrobić wielkiego switcha, oraz plątaninę ifów. Jak zrobimy refaktoring to dojdziemy do najlepszego rozwiązania, przedwczesna optymalizacja nie jest dobra.
1
komentarz 20 listopada 2016 przez niezalogowany

Jednak IDEA, algorytmu jest taka sama

Ale różnice między implementacjami są zasadnicze. Łatwiej jest wybrać numer dnia z tablicy nazw dni, niż tworzyć 40 linijkowe potwory...

KISS

komentarz 20 listopada 2016 przez MichuDev Pasjonat (20,300 p.)
Masz rację, switche tylko w fabrykach.

Podobne pytania

0 głosów
2 odpowiedzi 189 wizyt
pytanie zadane 3 listopada 2019 w PHP przez orande Nowicjusz (160 p.)
0 głosów
1 odpowiedź 153 wizyt
pytanie zadane 4 października 2015 w PHP przez kaminiak23 Użytkownik (640 p.)
0 głosów
1 odpowiedź 149 wizyt
pytanie zadane 18 marca 2018 w PHP przez chmod96 Obywatel (1,380 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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!

...